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