CFLAGS = /Zi /Wall /wd4255 /wd4996 /wd4127 /wd4820 /wd4100 /wd4619 \
/wd4514 /wd4668 /I.
CC = cl /nologo
TESTS = $(patsubst %.c, %.exe, $(wildcard t/*.c))
%.exe:
$(CC) $(LDFLAGS) $(filter %.obj %.lib %.dll, $^) $(LDLIBS) /Fe $@
%.o:
$(CC) $(CFLAGS) $(CPPFLAGS) /c $(filter %.c, $^) $(LDLIBS) /Fo $@
%.lib:
lib /nologo /out:$@ $(filter %.obj, $^)
%.dll:
lib /nologo /out:$@ $(filter %.obj, $^)
all: tap.lib tests
tap.lib: tap.obj
tap.obj: tap.c tap.h
tests: $(TESTS)
$(TESTS): %.exe: %.obj tap.lib
$(patsubst %.exe, %.obj, $(TESTS)): %.obj: %.c tap.h
clean:
rm -rf *.obj t/*.obj tap.lib $(TESTS)
check test: all
prove
.PHONY: all clean check test tests