PRJNAME=pcbuffer PRJOUT=lib$(PRJNAME).a TESTSOUT=$(PRJNAME)_tests EXAMPLESOUT=$(PRJNAME)_example CC=gcc SIZE=size MK_DIR=mkdir -p CFLAGS=\ -Wall \ -DDEBUG \ -std=gnu11 \ -ffunctions-sections \ -O3 \ -g3 ARFLAGS=\ # Core Stuff CORE_SUB_DIRS=src CORE_INC_DIRS=\ -I../cfg \ -I../inc # Tests TESTS_SUB_DIRS=\ test/src TESTS_INC_DIRS=\ -I../tests/inc \ -I../test/cfg # Examples EXAMPLES_SUB_DIRS=\ EXAMPLES_INC_DIRS=\ .PHONY: all tests examples clean all: $(CORE_SUB_DIRS) $(PRJOUT) tests: all $(TESTS_SUB_DIRS) $(TESTSOUT) examples: all $(EXAMPLES_SUB_DIRS) $(EXAMPLESOUT) $(PRJOUT): $(CORE_OBJS) $(AR) $(CORE_INC_DIRS) $(CFLAGS) $(ARFLAGS) $@ $< $(TESTSOUT): $(TEST_OBJS) $(CC) $(CFLAGS) -o $< $(TEST_OBJS) $(EXAMPLESOUT)