summaryrefslogtreecommitdiff
path: root/Makefile
blob: 269e16fa4874e9e9b091a21e5b40eca81dbc75ed (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
71
72
73
74
75
76
77
78
79
80
81
82
LUA?="$(shell where lua | head -n 1)"
CP?=cp
AMULET?="$(shell where amulet | head -n 1)"
RM?=rm
UNZIP?=7z x -y
CD?=cd
MOONC?="$(shell where moonc | head -n 1)"
BUSTED?="$(shell where busted | head -n 1)"
MAGICKFLAGS=-colorspace gray -auto-level -dither None -remap data_src/palette_trans.png

src_moon=$(wildcard src/*.moon) $(wildcard src/ui/*.moon) $(wildcard src/shaders/*.moon) $(wildcard src/menu/*.moon) $(wildcard src/controllers/*.moon) $(wildcard src/prefab/*.moon)
built_moon=$(src_moon:src/%.moon=data/%.lua)
dbg_moon=$(src_moon:src/%.moon=data/%.lua.X)

src_tl=$(wildcard src/*.tl)
built_tl=$(src_tl:src/%.tl=data/%.lua)

src_lua=$(wildcard src/*.lua) $(wildcard src/ui/*.lua) $(wildcard src/shaders/*.lua)
built_lua=$(src_lua:src/%.lua=data/%.lua)
src_lua_hc=$(wildcard src/party/hc/*.lua)
built_lua_hc=$(src_lua_hc:src/%.lua=data/%.lua)

src_shaders=$(wildcard src/shaders/*.vert) $(wildcard src/shaders/*.frag)
built_shaders=$(src_shaders:src/%=data/%)

src_js=$(wildcard src/*.js)
built_js=$(src_js:src/%.js=data/%.lua)

include data_src/ui/Makefile
include data_src/world/Makefile

assets=$(assets_ui_built) $(assets_world_built)

built=$(built_moon) $(built_tl) $(built_lua) $(built_lua_hc) $(built_js) $(assets) $(built_shaders)
built_dbg=$(built) $(dbg_moon)


all: ggj25/amulet.js ggj25/amulet.wasm ggj25/data.pak ggj25/index.html
	echo "Done"
	#$(AMULET) export -r -html -a data
	#$(UNZIP) *.zip
	# $(CD) ggj25 && python3 -m http.server

clean:
	$(RM) $(built)

test: $(built_dbg)
	$(BUSTED) -m "./data/?.lua" -o utfTerminal -v -t dev spec | $(LUA) tools/rewrite.lua

ggj25-0.0.0-html.zip : $(built_dbg)
	$(AMULET) export -r -html -a data

ggj25/index.html ggj25/amulet.js ggj25/amulet.wasm ggj25/data.pak: ggj25-0.0.0-html.zip
	$(UNZIP) *.zip

$(built_lua) : data/%.lua : src/%.lua
	$(CP) $< $@

$(built_shaders) : data/% : src/%
	$(CP) $< $@

$(built_lua_hc) : data/%.lua : src/%.lua
	$(CP) $< $@

$(built_moon) : data/%.lua : src/%.moon
	$(MOONC) -p $< > $@

$(dbg_moon) : data/%.lua.X : src/%.moon
	$(MOONC) -X $< > $@

$(test_lua) : spec/%.lua : src/%.lua
	$(CP) $< $@

$(test_moon) : spec/%.lua : src/%.moon
	$(MOONC) -p $< > $@

$(built_js) : data/%.lua : src/%.js
	npx jshint $<
	echo "return [=====[" > $@
	cat $< >> $@
	echo "]=====]" >> $@