summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'mk')
-rw-r--r-- | mk/preprocessor.mk | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/mk/preprocessor.mk b/mk/preprocessor.mk new file mode 100644 index 0000000..a279d12 --- /dev/null +++ b/mk/preprocessor.mk @@ -0,0 +1,28 @@ +################################################################################ +## CONFIG ###################################################################### +################################################################################ +CONFIG_FILE ?= ${CURDIR}/conf/constants.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)), use the example to make one.") +endif + +################################################################################ +## TARGET RULES ################################################################ +################################################################################ +PREPROCESSOR_RESULT = $(PREPROCESSED_FILES) + +################################################################################ +## INTERNAL RULES ############################################################## +################################################################################ +$(PREPROCESSED_FILES): %: $(CONFIG_FILE) %.m4 + m4 -P $^ > $@ |