summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2018-04-10 16:09:55 +0200
committernsensfel <SpamShield0@noot-noot.org>2018-04-10 16:09:55 +0200
commit07661f0d55dc4700722ee3f66218e86d0f77a55c (patch)
treeceb58874a2e09bf38384ca5cc23538f95a574542 /src
parentbe434a74b26194eed9a312efc240a501083a3c1e (diff)
...
Diffstat (limited to 'src')
-rw-r--r--src/battlemap/Makefile3
-rw-r--r--src/battlemap/mk/preprocessor.mk18
-rw-r--r--src/battlemap/module.conf9
3 files changed, 28 insertions, 2 deletions
diff --git a/src/battlemap/Makefile b/src/battlemap/Makefile
index 4eca95a..8c7d206 100644
--- a/src/battlemap/Makefile
+++ b/src/battlemap/Makefile
@@ -44,6 +44,7 @@ include ${CURDIR}/mk/debug.mk
include ${CURDIR}/mk/erlang.mk
include ${CURDIR}/mk/preprocessor.mk
include ${CURDIR}/mk/yaws.mk
+
################################################################################
## TARGET RULES ################################################################
################################################################################
@@ -56,7 +57,7 @@ build: $(PREPROCESSOR_RESULT) $(ERLANG_RESULT)
run: yaws_run
clean:
- rm -rf $(BIN_DIR)/*
+ rm -rf $(PREPROCESSOR_RESULT) $(ERLANG_RESULT)
################################################################################
## INTERNAL RULES ##############################################################
diff --git a/src/battlemap/mk/preprocessor.mk b/src/battlemap/mk/preprocessor.mk
index 2b332a4..d27de1b 100644
--- a/src/battlemap/mk/preprocessor.mk
+++ b/src/battlemap/mk/preprocessor.mk
@@ -2,6 +2,7 @@
## CONFIG ######################################################################
################################################################################
CONFIG_FILE ?= ${CURDIR}/module.conf
+YAWS_CONFIG_TEMPLATE ?=
################################################################################
## MAKEFILE MAGIC ##############################################################
@@ -9,6 +10,14 @@ CONFIG_FILE ?= ${CURDIR}/module.conf
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) \
+ --define=__MAKEFILE_LOG_DIR=$(LOG_DIR) \
+ --define=__MAKEFILE_WWW_DIR=$(WWW_DIR)
+
################################################################################
## SANITY CHECKS ###############################################################
################################################################################
@@ -16,13 +25,20 @@ ifeq ($(wildcard $(CONFIG_FILE)),)
$(error "Missing CONFIG_FILE ($(CONFIG_FILE)).")
endif
+ifeq ($(wildcard $(YAWS_CONFIG_TEMPLATE)),)
+$(error "Missing YAWS_CONFIG_TEMPLATE ($(YAWS_CONFIG_TEMPLATE)).")
+endif
+
################################################################################
## TARGET RULES ################################################################
################################################################################
-PREPROCESSOR_RESULT = $(PREPROCESSED_FILES)
+PREPROCESSOR_RESULT = $(PREPROCESSED_FILES) yaws.conf
################################################################################
## INTERNAL RULES ##############################################################
################################################################################
$(PREPROCESSED_FILES): %: $(CONFIG_FILE) %.m4
m4 -P $^ > $@
+
+yaws.conf: $(CONFIG_FILE) $(YAWS_CONFIG_TEMPLATE)
+ m4 -P $(MAKEFILE_TO_M4) $^ > $@
diff --git a/src/battlemap/module.conf b/src/battlemap/module.conf
index e69de29..8c2a2b6 100644
--- a/src/battlemap/module.conf
+++ b/src/battlemap/module.conf
@@ -0,0 +1,9 @@
+m4_define(`__MODULE_NAME', `__MAKEFILE_MODULE_NAME')m4_dnl
+m4_define(`__MODULE_PORT', `__MAKEFILE_MODULE_PORT')m4_dnl
+m4_dnl
+m4_define(`__MODULE_BIN_DIR', `__MAKEFILE_BIN_DIR')m4_dnl
+m4_define(`__MODULE_INCLUDE_DIR', `__MAKEFILE_INCLUDE_DIR')m4_dnl
+m4_define(`__MODULE_LOG_DIR', `__MAKEFILE_LOG_DIR')m4_dnl
+m4_define(`__MODULE_WWW_DIR', `__MAKEFILE_WWW_DIR')m4_dnl
+m4_dnl
+m4_define(`__MODULE_APP_MODS', `character_turn load_state')m4_dnl