From 6378db62860f3679146f00566331a2d5e1aaeac7 Mon Sep 17 00:00:00 2001 From: nsensfel Date: Mon, 9 Apr 2018 18:22:40 +0200 Subject: Cleans up the Makefiles. --- Makefile | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 09436b2..e672f73 100644 --- a/Makefile +++ b/Makefile @@ -1,26 +1,34 @@ +################################################################################ +## 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 -export +################################################################################ +## TARGET RULES ################################################################ +################################################################################ all: $(PREPROCESSED_FILES) build $(WWW_DIR) $(MODULES_WWW) -$(PREPROCESSED_FILES): %: $(CONFIG_FILE) %.m4 - m4 $^ > $@ - upload_demo: scp -r $(WWW_DIR)/* dreamhost:~/tacticians.online/ @@ -33,14 +41,20 @@ clean: for module in $(MODULES_SRC) ; do \ $(MAKE) -C $$module clean ; \ done - rm $(PREPROCESSED_FILES) + rm -f $(PREPROCESSED_FILES) reset: + $(MAKE) clean for module in $(MODULES_SRC) ; do \ - $(MAKE) -C $$module clean; \ $(MAKE) -C $$module reset; \ done +################################################################################ +## INTERNAL RULES ############################################################## +################################################################################ +$(PREPROCESSED_FILES): %: $(CONFIG_FILE) %.m4 + m4 $^ > $@ + $(MODULES_WWW): %: ln -s $(SRC_DIR)/$(patsubst $(WWW_DIR)/%,%,$@)/www/ $@ -- cgit v1.2.3-70-g09d2