From b05361b3baa804a2c67e74dbd66828cb8517ed91 Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Fri, 1 Sep 2017 22:47:31 +0200 Subject: Switched to Makefiles. --- src/Makefile | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/Makefile (limited to 'src/Makefile') diff --git a/src/Makefile b/src/Makefile new file mode 100644 index 0000000..8ffa1ab --- /dev/null +++ b/src/Makefile @@ -0,0 +1,30 @@ +SUBCOMPONENTS = $(dir $(filter-out "./Makefile",$(wildcard ./*/Makefile))) +SUBCOMPONENTS_EXPORT = $(addsuffix /export.a,$(SUBCOMPONENTS)) +################################################################################ +SRC_FILES = $(wildcard ./*.c) +OBJ_FILES = $(SRC_FILES:.c=.o) +DEP_FILES = $(SRC_FILES:.c=.d) +################################################################################ +build: export.a + +export.a: $(OBJ_FILES) $(SUBCOMPONENTS_EXPORT) + ar -crT $@ $^ + +$(SUBCOMPONENTS_EXPORT): + $(MAKE) -C $(dir $@) export.a + +clean: + rm -f $(OBJ_FILES) + rm -f $(DEP_FILES) + rm -f export.a + for subcmp in $(SUBCOMPONENTS) ; do \ + $(MAKE) -C $$subcmp clean ; \ + done +################################################################################ +%.d: %.c + @set -e; rm -f $@; \ + $(CC) -M $(CPPFLAGS) $< > $@.$$$$; \ + sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \ + rm -f $@.$$$$ + +include $(DEP_FILES) -- cgit v1.2.3-70-g09d2