summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile21
-rw-r--r--mk/preprocessor.mk28
2 files changed, 36 insertions, 13 deletions
diff --git a/Makefile b/Makefile
index b83802d..fba927e 100644
--- a/Makefile
+++ b/Makefile
@@ -2,32 +2,30 @@
## CONFIG ######################################################################
################################################################################
MODULES ?= battlemap global asset
-CONFIG_FILE ?= ${CURDIR}/conf/constants.conf
SRC_DIR = ${CURDIR}/src
WWW_DIR = ${CURDIR}/www
-
################################################################################
## MAKEFILE MAGIC ##############################################################
################################################################################
MODULES_SRC = $(addprefix $(SRC_DIR)/,$(MODULES))
MODULES_WWW = $(addprefix $(WWW_DIR)/,$(MODULES))
-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 ################################################################
+## INCLUDES ####################################################################
################################################################################
+main_target: all
+
+include ${CURDIR}/mk/preprocessor.mk
-all: $(PREPROCESSED_FILES) build $(WWW_DIR) $(MODULES_WWW)
+################################################################################
+## TARGET RULES ################################################################
+################################################################################
+all: $(PREPROCESSOR_RESULT) build $(WWW_DIR) $(MODULES_WWW)
upload_demo:
scp -r $(WWW_DIR)/* dreamhost:~/tacticians.online/
@@ -52,9 +50,6 @@ reset:
################################################################################
## INTERNAL RULES ##############################################################
################################################################################
-$(PREPROCESSED_FILES): %: $(CONFIG_FILE) %.m4
- m4 -P $^ > $@
-
$(MODULES_WWW): %:
ln -s $(SRC_DIR)/$(patsubst $(WWW_DIR)/%,%,$@)/www/ $@
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 $^ > $@