blob: b83802d221ff9ec1c0f7e3fc6be7e3e742756530 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
################################################################################
## 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 ################################################################
################################################################################
all: $(PREPROCESSED_FILES) build $(WWW_DIR) $(MODULES_WWW)
upload_demo:
scp -r $(WWW_DIR)/* dreamhost:~/tacticians.online/
build:
for module in $(MODULES_SRC) ; do \
$(MAKE) -C $$module build ; \
done
clean:
for module in $(MODULES_SRC) ; do \
$(MAKE) -C $$module clean ; \
done
rm -f $(PREPROCESSED_FILES)
reset:
$(MAKE) clean
for module in $(MODULES_SRC) ; do \
$(MAKE) -C $$module reset; \
done
################################################################################
## INTERNAL RULES ##############################################################
################################################################################
$(PREPROCESSED_FILES): %: $(CONFIG_FILE) %.m4
m4 -P $^ > $@
$(MODULES_WWW): %:
ln -s $(SRC_DIR)/$(patsubst $(WWW_DIR)/%,%,$@)/www/ $@
$(WWW_DIR):
mkdir -p $@
|