summaryrefslogtreecommitdiff
blob: 3b58a0886166a2e0f0dbcdfc28d55cd86776ab30 (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
################################################################################
## CONFIG ######################################################################
################################################################################
SRC_DIR ?= src
WWW_DIR ?= www
WWW_SCRIPT_DIR ?= $(WWW_DIR)/script

ELM_CC ?= elm-make --warn

MAIN_MODULE ?= $(SRC_DIR)/Main.elm

################################################################################
## MAKEFILE MAGIC ##############################################################
################################################################################
SUB_MODULES = $(shell find $(SRC_DIR) -type f | grep "elm$$")

################################################################################
## SANITY CHECKS ###############################################################
################################################################################

################################################################################
## TARGET RULES ################################################################
################################################################################
build: $(WWW_SCRIPT_DIR)/main.js

clean:
	rm -f $(WWW_SCRIPT_DIR)/main.js

reset:
	rm -rf elm-stuff

################################################################################
## INTERNAL RULES ##############################################################
################################################################################
$(WWW_SCRIPT_DIR)/main.js: $(MAIN_MODULE) $(SUB_MODULES)
	$(ELM_CC) $(MAIN_MODULE) --output $@