File size: 1,639 Bytes
402daee
 
 
 
 
 
e378a99
402daee
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
LUA53=lua5.3
LUAC53=luac5.3
LUA54=lua5.4
LUAC54=luac5.4
LUACHECK=luacheck

LIBS=ImGuiTheme.lua Polo.lua ReaIter.lua ReaUtil.lua Tempfile.lua
VENDOR=json.lua url.lua

source:=$(wildcard source/*.lua source/include/*.lua)
libs:=$(foreach lib, $(LIBS), ../common/libs/$(lib))
vendor:=$(foreach lib, $(VENDOR), ../common/vendor/$(lib))
tests:=$(wildcard tests/Test*.lua)
dest=../../app/static/reascripts/ReaSpeech

all: lint test publish

lint: $(source) $(libs)
	$(LUACHECK) $?

test: $(source) $(libs) $(tests)
	true $(foreach test, $(tests), && $(LUA53) $(test) -v)
	true $(foreach test, $(tests), && $(LUA54) $(test) -v)

.PHONY: build
build: build/ReaSpeech-5.3.luac build/ReaSpeech-5.4.luac

build/ReaSpeechBundle.lua: $(source) $(libs) $(vendor) version.lua
	cat source/include/header.lua source/include/globals.lua $(libs) $(vendor) resources/images/*.lua source/*.lua version.lua source/include/main.lua > build/ReaSpeechBundle.lua

build/ReaSpeech-5.3.luac: build/ReaSpeechBundle.lua
	$(LUAC53) -o build/ReaSpeech-5.3.luac -s build/ReaSpeechBundle.lua

build/ReaSpeech-5.4.luac: build/ReaSpeechBundle.lua
	$(LUAC54) -o build/ReaSpeech-5.4.luac -s build/ReaSpeechBundle.lua

.PHONY: publish
publish: build
	cp build/ReaSpeech-5.3.luac $(dest)/
	cp build/ReaSpeech-5.4.luac $(dest)/

.PHONY: tags
tags:
	find source/ -type f -iname '*.lua' -print0 | xargs -0 etags
	find ../common/libs/ -type f -iname '*.lua' -print0 | xargs -0 etags --append
	find ../common/vendor/ -type f -iname '*.lua' -print0 | xargs -0 etags --append

.PHONY: clean
clean:
	rm -f build/ReaSpeech-5.3.luac build/ReaSpeech-5.4.luac build/ReaSpeechBundle.lua TAGS