]> pd.if.org Git - pdclib/blob - Makefile
71f2c1e761ad9855c7c26e70daf41ea56d8304b3
[pdclib] / Makefile
1 # This is a list of all non-source files that are part of the distribution.
2 AUXFILES := Makefile Readme.txt
3
4 SRCFILES := $(shell find . -name "*.c" -mindepth 1 -maxdepth 3)
5 HDRFILES := $(shell find . -name "*.h" -mindepth 1 -maxdepth 3)
6 OBJFILES := $(patsubst %.c,%.o,$(SRCFILES))
7 TSTFILES := $(patsubst %.c,%.t,$(SRCFILES))
8 DEPFILES := $(patsubst %.c,%.d,$(SRCFILES))
9 ALLFILES := $(SRCFILES) $(HDRFILES) $(AUXFILES)
10
11 CPPFLAGS  := -MMD -MP
12 CFLAGS    := -g -std=c99 -I./internals/
13
14 .PHONY: all clean dist
15
16 all: $(OBJFILES)
17         ar r pdclib.a $(OBJFILES)
18
19 test: $(TSTFILES)
20         -@rc=0; for file in $(TSTFILES); do ./$$file; rc=`expr $$rc + $$?`; done; echo; echo "Tests failed: $$rc"
21
22 -include $(DEPFILES)
23
24 clean:
25         -@for file in $(OBJFILES) $(DEPFILES) pdclib.a; do if [ -f $$file ]; then rm $$file; fi; done
26
27 dist:
28         @tar czf pdclib.tgz $(ALLFILES)
29
30 %.o: %.c Makefile
31         $(CC) -DNDEBUG -c $(CPPFLAGS) $(CFLAGS) $< -o $@
32
33 %.t: %.c Makefile
34         $(CC) -DTEST $(CFLAGS) $< -o $@
35