]> pd.if.org Git - pdclib/blobdiff - Makefile
Added 'void' to empty parameter lists.
[pdclib] / Makefile
index 71f2c1e761ad9855c7c26e70daf41ea56d8304b3..802e28e3272c6637a5c8a079a304769be6a435f7 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,35 +1,45 @@
 # This is a list of all non-source files that are part of the distribution.
 AUXFILES := Makefile Readme.txt
 
-SRCFILES := $(shell find . -name "*.c" -mindepth 1 -maxdepth 3)
-HDRFILES := $(shell find . -name "*.h" -mindepth 1 -maxdepth 3)
+PROJDIRS := functions includes internals
+SRCFILES := $(shell find $(PROJDIRS) -mindepth 1 -maxdepth 3 -name "*.c")
+HDRFILES := $(shell find $(PROJDIRS) -mindepth 1 -maxdepth 3 -name "*.h")
+INTFILES := $(patsubst %.c,%.r,$(shell find functions/_PDCLIB -name "*.c"))
 OBJFILES := $(patsubst %.c,%.o,$(SRCFILES))
 TSTFILES := $(patsubst %.c,%.t,$(SRCFILES))
+REGFILES := $(filter-out $(INTFILES),$(patsubst %.c,%.r,$(SRCFILES)))
 DEPFILES := $(patsubst %.c,%.d,$(SRCFILES))
 ALLFILES := $(SRCFILES) $(HDRFILES) $(AUXFILES)
 
-CPPFLAGS  := -MMD -MP
-CFLAGS    := -g -std=c99 -I./internals/
+.PHONY: clean dist test regtest
 
-.PHONY: all clean dist
+all: pdclib.a
 
-all: $(OBJFILES)
-       ar r pdclib.a $(OBJFILES)
+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"
 
+regtest: $(REGFILES)
+       -@rc=0; for file in $(REGFILES); do ./$$file; rc=`expr $$rc + $$?`; done; echo; echo "Regression 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) $(REGFILES) pdclib.a pdclib.tgz; do if [ -f $$file ]; then rm $$file; fi; done
 
 dist:
        @tar czf pdclib.tgz $(ALLFILES)
 
+todolist:
+       -@for file in $(ALLFILES); do grep -H TODO $$file; done; true
+
 %.o: %.c Makefile
-       $(CC) -DNDEBUG -c $(CPPFLAGS) $(CFLAGS) $< -o $@
+       @$(CC) -Wall -DNDEBUG -MMD -MP -MT "$*.d $*.t" -g -std=c99 -I./includes -I./internals -c $< -o $@
 
-%.t: %.c Makefile
-       $(CC) -DTEST $(CFLAGS) $< -o $@
+%.t: %.c Makefile pdclib.a
+       @$(CC) -Wall -DTEST -std=c99 -I./includes -I./internals $< pdclib.a -o $@
 
+%.r: %.c Makefile
+       @$(CC) -Wall -DTEST -DREGTEST -std=c99 -I./internals $< -o $@