-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
132 lines (109 loc) · 3.25 KB
/
Makefile
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
electron_version = 1.4.14
PATH := node_modules/.bin:$(PATH)
app_version = $(shell node -p "require('./package.json').version")
arch = $(shell uname -m)
platform = linux
compression =
.PHONY: all clean default libopenmpt
default: $(arch)
all: x64 ia32 armv7l win32 win64
# 32-bit x86
i386: ia32
i686: ia32
ia32: electron_arch = ia32
ia32: dist = webjcs-$(platform)-$(electron_arch)
ia32: dest = build/$(dist)
ia32: build-linux-x86_32
# 64-bit x86
x86_64: x64
x64: electron_arch = x64
x64: dist = webjcs-$(platform)-$(electron_arch)
x64: dest = build/$(dist)
x64: build-linux-x86_64
# armv7l
armv7h: armv7l
armv7: armv7l
armv7l: electron_arch = armv7l
armv7l: dist = webjcs-$(platform)-$(electron_arch)
armv7l: dest = build/$(dist)
armv7l: build-linux-armv7l
build-linux-%:
@echo "Building $(dist)"
rm -rf "$(dest)" "$(dest).tar.gz"
@mkdir -pv "$(dest)"
@#cp -v scripts/launch.sh "$(dest)/"
scripts/build.js $(electron_arch) $(electron_version) $(platform)
@echo $(app_version) > "$(dest)/version"
@echo "Build finished $(dist)"
@if [ "$(compress)" != "" ]; then\
cd "$(dest)";\
echo "Compressing...";\
tar -czf "../$(dist).tar.gz" .;\
du -h "../$(dist).tar.gz";\
fi
# win32
win32: platform = win32
win32: electron_arch = ia32
win32: dist = webjcs-$(platform)-$(electron_arch)
win32: dest = build/$(dist)
win32: build-win32
# win64
win64: platform = win32
win64: electron_arch = x64
win64: dist = webjcs-$(platform)-$(electron_arch)
win64: dest = build/$(dist)
win64: build-win64
build-win%:
@echo "Building $(dist)"
rm -rf "$(dest)" "$(dest).zip"
@mkdir -pv "$(dest)"
@#cp -v scripts/launch.sh "$(dest)/"
scripts/build.js $(electron_arch) $(electron_version) $(platform)
@echo $(app_version) > "$(dest)/version"
@echo "Build finished $(dist)"
@if [ "$(compress)" != "" ]; then\
cd "$(dest)";\
echo "Compressing...";\
zip -rq -9 "../$(dist).zip" .;\
du -h "../$(dist).zip";\
fi
# darwin 64-bit
darwin64: platform = darwin
darwin64: electron_arch = x64
darwin64: dist = webjcs-$(platform)-$(electron_arch)
darwin64: dest = build/$(dist)
darwin64: build-darwin64
build-darwin%:
@echo "Building $(dist)"
rm -rf "$(dest)" "$(dest).zip"
@mkdir -pv "$(dest)"
@#cp -v scripts/launch.sh "$(dest)/"
scripts/build.js $(electron_arch) $(electron_version) $(platform)
@echo $(app_version) > "$(dest)/version"
@echo "Build finished $(dist)"
@if [ "$(compress)" != "" ]; then\
cd "$(dest)";\
echo "Compressing...";\
zip -rq -9 "../$(dist).zip" .;\
du -h "../$(dist).zip";\
fi
asar:
mkdir -p build
cp -r app build/app
cd build/app; rm -rf build/*.map build/web.* webgl-inspector
asar pack build/app build/app.asar
rm -rf build/app
du -h build/app.asar
libopenmpt: libopenmpt_version = 0.2.7386
libopenmpt: libopenmpt_beta = beta20.3
libopenmpt: app/lib/libopenmpt.js
app/lib/libopenmpt.js:
curl -L -o "libopenmpt-$(libopenmpt_version)-$(libopenmpt_beta).tar.gz" "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-$(libopenmpt_version)-$(libopenmpt_beta).tar.gz"
tar -zxf "libopenmpt-$(libopenmpt_version)-$(libopenmpt_beta).tar.gz"
mkdir -p app/lib
cd "libopenmpt-$(libopenmpt_version)" && make CONFIG=emscripten TEST=0 EXAMPLES=0 && cp bin/libopenmpt{.js,.js.mem} ../app/lib/
cleanbuild:
rm -rf build
cleancache:
rm -rf cache
clean: cleanbuild cleancache