Makefile (773B)
1 BIN?=cnfparse_test 2 3 LIBS:= 4 SRC:= 5 INCLUDES:= 6 INCLUDES+=-I src 7 8 LDFLAGS:= 9 CFLAGS?=-Wall -s -O2 10 11 include lib/.dep/config.mk 12 13 SRC+=src/cnfparse.c 14 EXAMPLE_SRC:=example.c 15 16 OBJ:=$(SRC:.c=.o) 17 OBJ:=$(OBJ:.cc=.o) 18 19 CFLAGS+=$(INCLUDES) 20 21 LDFLAGS+=$(CFLAGS) 22 23 TESTS:= 24 TESTS+=$(patsubst %.c,%,$(wildcard test/*.c)) 25 26 .PHONY: default 27 default: $(BIN) README.md 28 29 .c.o: 30 $(CC) $(CFLAGS) -c -o $@ $< 31 32 $(BIN): $(OBJ) $(EXAMPLE_SRC:.c=.o) 33 $(CC) $(CFLAGS) $^ -o $@ 34 35 # Test targets — each file is compiled independently and run 36 $(TESTS): $(OBJ) $(TESTS:=.c) 37 $(CC) $@.c $(SRC) -I test $(CFLAGS) -o $@ 38 39 .PHONY: tests 40 tests: $(TESTS) $(OBJ) 41 for test in $(TESTS); do \ 42 $$test ; \ 43 done 44 45 .PHONY: clean 46 clean: 47 rm -rf $(OBJ) $(TESTS) 48 49 README.md: src/cnfparse.h 50 stddoc < src/cnfparse.h > README.md