summaryrefslogtreecommitdiff
blob: 0c22bfabe4863ed34c73e56a430cade135901001 (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
64
65
66
67
68
69
70
################################################################################
## CONFIG ######################################################################
################################################################################
NUMBER_OF_CHAR_TYPES ?= 16

SRC_DIR ?= ${CURDIR}/src/
TEMPLATE_DIR ?= ${CURDIR}/template
CSS_DIR ?= ${CURDIR}/www/

GENERATE_N_COLORS_SCRIPT ?= $(SRC_DIR)/generate_n_colors.py
GENERATE_N_ENTITIES ?= $(SRC_DIR)/generate_n_entities.py

CHAR_STYLE_TEMPLATE ?= $(TEMPLATE_DIR)/character_icon_entry.css

# outputs
CHAR_STYLE_CSS ?= $(CSS_DIR)/characters.css

################################################################################
## MAKEFILE MAGIC ##############################################################
################################################################################
TOTAL_NUMBER_OF_COLORS = $(NUMBER_OF_CHAR_TYPES)
	#$(shell expr $(NUMBER_OF_TILE_TYPES) + $(NUMBER_OF_CHAR_TYPES))

SENSITIVITY_LIST = \
	Makefile \
	$(GENERATE_N_COLORS_SCRIPT)\
	$(GENERATE_N_ENTITIES)

################################################################################
## SANITY CHECKS ###############################################################
################################################################################
ifeq ($(wildcard $(GENERATE_N_COLORS_SCRIPT)),)
$(error\
	"Could not find script to generate N colors (GENERATE_N_COLORS_SCRIPT="\
	"$(GENERATE_N_COLORS_SCRIPT))."\
)
endif

ifeq ($(wildcard $(GENERATE_N_ENTITIES)),)
$(error\
	"Could not find script to generate N colors (GENERATE_N_ENTITIES="\
	"$(GENERATE_N_ENTITIES))."\
)
endif

ifeq ($(wildcard $(CHAR_STYLE_TEMPLATE)),)
$(error\
	"Could not find template for character styles (CHAR_STYLE_TEMPLATE="\
	"$(CHAR_STYLE_TEMPLATE))."\
)
endif

################################################################################
## TARGET RULES ################################################################
################################################################################
build: $(CHAR_STYLE_CSS)

clean:
	rm -f $(CHAR_STYLE_CSS)

reset: clean

################################################################################
## INTERNAL RULES ##############################################################
################################################################################
$(CHAR_STYLE_CSS): $(SENSITIVITY_LIST) $(CHAR_STYLE_TEMPLATE)
	$(GENERATE_N_COLORS_SCRIPT) $(TOTAL_NUMBER_OF_COLORS) \
		0 | \
		$(GENERATE_N_ENTITIES) $(NUMBER_OF_CHAR_TYPES) $(CHAR_STYLE_TEMPLATE) > \
		$(CHAR_STYLE_CSS)