summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2018-06-04 14:51:51 +0200
committernsensfel <SpamShield0@noot-noot.org>2018-06-04 14:51:51 +0200
commitbdb3ee493c5b5ad03b7ce189011422a1c6798dd1 (patch)
tree0ce3576ba29c7f936f10c186acfd0da669b0285b /src/db/mk/preprocessor.mk
parent09bdaed7100ac97392e152a488d21db016952213 (diff)
Starting to work on the DB implementation.
Diffstat (limited to 'src/db/mk/preprocessor.mk')
-rw-r--r--src/db/mk/preprocessor.mk34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/db/mk/preprocessor.mk b/src/db/mk/preprocessor.mk
new file mode 100644
index 0000000..74f66ba
--- /dev/null
+++ b/src/db/mk/preprocessor.mk
@@ -0,0 +1,34 @@
+################################################################################
+## CONFIG ######################################################################
+################################################################################
+CONFIG_FILE ?= ${CURDIR}/module.conf
+
+################################################################################
+## MAKEFILE MAGIC ##############################################################
+################################################################################
+PREPROCESSOR_FILES = $(shell find ${CURDIR} -name "*.m4")
+PREPROCESSED_FILES = $(patsubst %.m4,%,$(PREPROCESSOR_FILES))
+
+MAKEFILE_TO_M4 = \
+ --define=__MAKEFILE_MODULE_NAME=$(MODULE_NAME) \
+ --define=__MAKEFILE_MODULE_PORT=$(MODULE_PORT) \
+ --define=__MAKEFILE_BIN_DIR=$(BIN_DIR) \
+ --define=__MAKEFILE_INCLUDE_DIR=$(INCLUDE_DIR)
+
+################################################################################
+## 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 $^ > $@