summaryrefslogtreecommitdiff
blob: 028e02068ebe770d6d76ec8298d81a8c40a9b034 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
################################################################################
## CONFIG ######################################################################
################################################################################
CONFIG_FILE ?= ${CURDIR}/conf/constants.conf

################################################################################
## MAKEFILE MAGIC ##############################################################
################################################################################
PREPROCESSOR_FILES = $(shell find ${CURDIR} -name "*.m4")
PREPROCESSED_FILES = $(patsubst %.m4,%,$(PREPROCESSOR_FILES))

MAKEFILE_TO_M4 = \
	--define=__MAKEFILE_DATA_DIR=$(DATA_DIR) \
	--define=__CODE_STYLE=json

################################################################################
## 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): %: %.m4 .PHONY
	m4 -P $(MAKEFILE_TO_M4) $(CONFIG_FILE) $< > $@

.PHONY: