summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2018-04-10 14:35:46 +0200
committernsensfel <SpamShield0@noot-noot.org>2018-04-10 14:35:46 +0200
commit0624b9920ea537f399c87f6a1ab2f0bc714b3a47 (patch)
treeed90a0a9c88a508c0bc10a92217bd51b327efa7d /src/battlemap/mk/preprocessor.mk
parent1001c3f6cfefd880c1721f2b80c1795197d05365 (diff)
Cleaning up the module's makefiles...
Diffstat (limited to 'src/battlemap/mk/preprocessor.mk')
-rw-r--r--src/battlemap/mk/preprocessor.mk28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/battlemap/mk/preprocessor.mk b/src/battlemap/mk/preprocessor.mk
new file mode 100644
index 0000000..2b332a4
--- /dev/null
+++ b/src/battlemap/mk/preprocessor.mk
@@ -0,0 +1,28 @@
+################################################################################
+## CONFIG ######################################################################
+################################################################################
+CONFIG_FILE ?= ${CURDIR}/module.conf
+
+################################################################################
+## MAKEFILE MAGIC ##############################################################
+################################################################################
+PREPROCESSOR_FILES = $(shell find ${CURDIR} -name "*.m4")
+PREPROCESSED_FILES = $(patsubst %.m4,%,$(PREPROCESSOR_FILES))
+
+################################################################################
+## SANITY CHECKS ###############################################################
+################################################################################
+ifeq ($(wildcard $(CONFIG_FILE)),)
+$(error "Missing CONFIG_FILE ($(CONFIG_FILE)).")
+endif
+
+################################################################################
+## TARGET RULES ################################################################
+################################################################################
+PREPROCESSOR_RESULT = $(PREPROCESSED_FILES)
+
+################################################################################
+## INTERNAL RULES ##############################################################
+################################################################################
+$(PREPROCESSED_FILES): %: $(CONFIG_FILE) %.m4
+ m4 -P $^ > $@