-include make.conf BIN = tcpl DIST = $(BIN)-$(VERSION) SRC = $(wildcard src/*.c) SRC_OBJ = $(SRC:.c=.o) LIB_SRC = $(wildcard lib/*.c) LIB_OBJ = $(LIB_SRC:.c=.o) all: $(BIN) $(BIN): $(SRC_OBJ) $(LIB_OBJ) $(LD) $(LDFLAGS) -o $@ $(SRC_OBJ) $(LIB_OBJ) src/%.o: src/%.c $(CC) $(CFLAGS) -I. -Iinclude -c $< -o $@ lib/%.o: lib/%.c $(CC) $(CFLAGS) -I. -Iinclude -c $< -o $@ dist: clean mkdir -p $(DIST) cp -R src make.conf Makefile man LICENSE README doc include lib package $(DIST) tar -czf $(DIST).tar.gz $(DIST) rm -rf $(DIST) check: @failed=0; \ for f in ./t/*; do \ [ "$$f" = "./t/init.sh" ] && continue; \ [ -f "$$f" ] || continue; \ name=$$(basename "$$f"); \ sh "$$f"; rc=$$?; \ if [ $$rc -eq 0 ]; then \ printf '\e[0;32mPASS\e[0m: t/%s\n' "$$name"; \ else \ printf '\e[0;31mFAIL\e[0m: t/%s\n' "$$name"; \ failed=1; \ fi; \ done; \ if [ $$failed -ne 0 ]; then exit 1; fi clean: rm -f $(SRC_OBJ) $(LIB_OBJ) $(BIN) *.gz .PHONY: dist clean all check