summaryrefslogtreecommitdiff
blob: 5cbbcaea07f221d4df4fed592741d298a22f04b8 (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
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
	scp -r $(WWW_DIR)/* procyon_:/static_content_node/www/

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 $@