63 lines
1.5 KiB
Makefile
63 lines
1.5 KiB
Makefile
-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: $(BIN)
|
|
@failed=0; \
|
|
passed=0; \
|
|
total=0; \
|
|
skipped=0; \
|
|
for f in ./tests/*; do \
|
|
[ "$$f" = "./tests/init.sh" ] && continue; \
|
|
[ -f "$$f" ] || continue; \
|
|
name=$$(basename "$$f"); \
|
|
sh "$$f"; rc=$$?; \
|
|
if [ $$rc -eq 0 ]; then \
|
|
printf '\033[0;32mPASS\033[0m: tests/%s\n' "$$name"; \
|
|
passed=$$((passed + 1)); \
|
|
elif [ $$rc -eq 77 ]; then \
|
|
printf '\033[0;34mSKIP\033[0m: tests/%s\n' "$$name"; \
|
|
skipped=$$((skipped + 1)); \
|
|
else \
|
|
printf '\033[0;31mSKIP\033[0m: tests/%s\n' "$$name"; \
|
|
failed=$$((failed + 1)); \
|
|
fi; \
|
|
total=$$((total + 1)); \
|
|
done; \
|
|
echo "\033[0;32m================="; \
|
|
echo "Testsuite summary for fSD Hello ($$(git rev-parse --short HEAD))"; \
|
|
echo "=================\033[0m"; \
|
|
echo "TOTAL: $$total"; \
|
|
echo "\033[0;32mPASSED\033[0m: $$passed"; \
|
|
echo "FAILED: $$failed"; \
|
|
echo "SKIPED: $$skipped"; \
|
|
exit $$failed
|
|
|
|
clean:
|
|
rm -f $(SRC_OBJ) $(LIB_OBJ) $(BIN) *.gz
|
|
|
|
.PHONY: dist clean all check
|