]> pd.if.org Git - pdclib/blobdiff - Makefile
Added test driver.
[pdclib] / Makefile
index 935809707a79a64c34569a3e5e41c45a17a58795..95006046f816053209d22bd0c22936baaeaf5398 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -4,25 +4,28 @@ AUXFILES := Makefile Readme.txt
 SRCFILES := $(shell find . -name "*.c" -mindepth 1 -maxdepth 3)
 HDRFILES := $(shell find . -name "*.h" -mindepth 1 -maxdepth 3)
 OBJFILES := $(patsubst %.c,%.o,$(SRCFILES))
+TSTFILES := $(patsubst %.c,%.t,$(SRCFILES))
 DEPFILES := $(patsubst %.c,%.d,$(SRCFILES))
 ALLFILES := $(SRCFILES) $(HDRFILES) $(AUXFILES)
 
-CPPFLAGS  := -MMD -MP
-CFLAGS    := -g -std=c99 -I./internals/
-
 .PHONY: all clean dist
 
 all: $(OBJFILES)
-       ar r pdclib.a $(OBJFILES)
+       ar r pdclib.a $?
+
+test: $(TSTFILES)
+       -@rc=0; for file in $(TSTFILES); do ./$$file; rc=`expr $$rc + $$?`; done; echo; echo "Tests failed: $$rc"
 
 -include $(DEPFILES)
 
 clean:
-       -@for file in $(OBJFILES) $(DEPFILES) pdclib.a; do if [ -f $$file ]; then rm $$file; fi; done
+       -@for file in $(OBJFILES) $(DEPFILES) $(TSTFILES) pdclib.a; do if [ -f $$file ]; then rm $$file; fi; done
 
 dist:
        @tar czf pdclib.tgz $(ALLFILES)
 
 %.o: %.c Makefile
-       $(CC) $(MODE) -c $(CPPFLAGS) $(CFLAGS) $< -o $@
+       $(CC) -DNDEBUG -MMD -MP -MT "$*.d $*.t" -g -std=c99 -I./internals -c $< -o $@
 
+%.t: %.c Makefile
+       $(CC) -DTEST -std=c99 -I./internals/ $< -o $@