INC = ansi.h copyright.h espresso.h main.h mincov.h mincov_int.h port.h regex.h sparse.h sparse_int.h stdlib.h utility.h

SRC =  cofactor.c cols.c compl.c contain.c cubestr.c cvrin.c cvrm.c cvrmisc.c cvrout.c dominate.c equiv.c espresso.c essen.c exact.c expand.c gasp.c getopt.c gimpel.c globals.c hack.c indep.c irred.c main.c map.c matrix.c mincov.c opo.c pair.c part.c primes.c reduce.c rows.c set.c setc.c sharp.c sminterf.c solution.c sparse.c unate.c utility.c verify.c

ifeq ($(OS),Windows_NT)
CC = cl
CFLAGS = /DNDEBUG /Ox /MD
.SUFFIXES: .obj
OBJS=$(SRC:.c=.obj)
%.obj: %.c
	$(CC) $(CFLAGS) -c $<
else
CC = gcc
CFLAGS = -DNDEBUG -O3
OBJS=$(SRC:.c=.o)
.c.o:
	$(CC) $(CFLAGS) -c $<
endif

espresso: $(SRC) $(OBJS) $(INC)
	$(CC) $(CFLAGS) $(OBJS) -o espresso

espresso-hoard: $(SRC) $(OBJS) $(INC)
	$(CC) $(CFLAGS) $(OBJS) usewinhoard.obj winhoard.lib -o espresso-hoard

clean:
	-rm -f $(OBJS) espresso

