summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 26 |
1 files changed, 20 insertions, 6 deletions
@@ -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/ $@ |