-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile
63 lines (51 loc) · 2.49 KB
/
Makefile
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
63
################################################################################
## CONFIG ######################################################################
################################################################################
MODULES ?= css global main-menu login roster-editor map-editor asset battle
SRC_DIR = ${CURDIR}/src
WWW_DIR = ${CURDIR}/www
DATA_DIR ?= /my/src/tacticians-data/
################################################################################
## MAKEFILE MAGIC ##############################################################
################################################################################
MODULES_SRC = $(addprefix $(SRC_DIR)/,$(MODULES))
MODULES_WWW = $(addprefix $(WWW_DIR)/,$(MODULES))
################################################################################
## SANITY CHECKS ###############################################################
################################################################################
ifeq ($(strip $(wildcard $(DATA_DIR))),)
$(error "Could not find the game's data folder (currently set to $(DATA_DIR)). Download it and set the DATA_DIR variable to match its location.")
endif
################################################################################
## INCLUDES ####################################################################
################################################################################
main_target: all
include ${CURDIR}/mk/preprocessor.mk
################################################################################
## TARGET RULES ################################################################
################################################################################
all: $(PREPROCESSOR_RESULT) build $(WWW_DIR) $(MODULES_WWW)
upload_to:
$(MAKE) CONFIG_FILE=conf/tacticians.conf
rsync -avz -L -e "ssh" $(WWW_DIR) procyon_:/static_content_node/
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 ##############################################################
################################################################################
$(MODULES_WWW): %:
ln -s $(SRC_DIR)/$(patsubst $(WWW_DIR)/%,%,$@)/www/ $@
$(WWW_DIR):
mkdir -p $@