CFLAGS := -xc -Wall -Wextra -O1 -ansi -pedantic -pedantic-errors -ggdb TESTDIR = test HEADERDIR = BUILDDIR = build TEST_CFILES := $(shell find $(TESTDIR) -type f -name '*.c') TEST_CFILES := $(filter-out ${TESTDIR}/tests.c,${TEST_CFILES}) TEST_BFILES := $(patsubst $(TESTDIR)/%.c,$(BUILDDIR)/%,$(TEST_CFILES)) ${BUILDDIR}/%: ${TESTDIR}/%.c | ${BUILDDIR} ${CC} \ ${CFLAGS} \ $^ ${TESTDIR}/tests.c \ -o $@ \ -DDT_TESTS_EMOTE \ -DDT_TESTS_COLOR ${BUILDDIR}/ftm: ftm.c ${CC} ${CFLAGS} -o $@ $^ ./${BUILDDIR}/ftm ${BUILDDIR}: mkdir -p $@ .PHONEY: test test: ${TEST_BFILES} $(foreach bin,$(TEST_BFILES),./${bin}) .PHONEY: run run: test .PHONEY: clean clean: rm -r ${BUILDDIR}