-
Notifications
You must be signed in to change notification settings - Fork 226
Expand file tree
/
Copy pathMakefile
More file actions
112 lines (101 loc) · 2.83 KB
/
Copy pathMakefile
File metadata and controls
112 lines (101 loc) · 2.83 KB
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
# Set Bash as the shell.
SHELL=/bin/bash
# NOTE: Only used for make's change detection; Go still builds ./src.
# /src files
srcFiles=src/resources/defaultConfig.ini \
src/anim.go \
src/audio_sdl.go \
src/bgdef.go \
src/bytecode.go \
src/camera.go \
src/char.go \
src/common.go \
src/compiler.go \
src/compiler_functions.go \
src/config.go \
src/dllsearch_windows.go \
src/fightscreen.go \
src/font.go \
src/font_gl33.go \
src/font_gles32.go \
src/font_vk.go \
src/hiscore_rank.go \
src/image.go \
src/iniutils.go \
src/input.go \
src/input_sdl.go \
src/main.go \
src/motif.go \
src/music.go \
src/netplay.go \
src/rect.go \
src/render.go \
src/render_gl33.go \
src/render_gles32.go \
src/render_vk.go \
src/rollback.go \
src/script.go \
src/select_params.go \
src/sound.go \
src/sound_xm.go \
src/stage.go \
src/state.go \
src/state_clone.go \
src/stats.go \
src/stdout_windows.go \
src/storyboard.go \
src/system.go \
src/system_sdl.go \
src/util_android.go \
src/util_darwin.go \
src/util_desktop.go \
src/util_linux.go \
src/util_raw.go \
src/util_windows.go \
src/video_ffmpeg.go
# Windows 64-bit target
Ikemen_GO.exe: ${srcFiles}
bash ./build/build.sh Win64
# Windows 32-bit target
Ikemen_GO_x86.exe: ${srcFiles}
bash ./build/build.sh Win32
# Linux target
Ikemen_GO_Linux: ${srcFiles}
./build/build.sh Linux
# Linux ARM target
Ikemen_GO_LinuxARM: ${srcFiles}
./build/build.sh LinuxARM
# MacOS x64 target
Ikemen_GO_MacOS: ${srcFiles}
bash ./build/build.sh MacOS
$(MAKE) clean_appbundle
$(MAKE) appbundle BINNAME=bin/Ikemen_GO_MacOS
# MacOS Apple Silicon target
Ikemen_GO_MacOSARM: ${srcFiles}
bash ./build/build.sh MacOSARM
$(MAKE) clean_appbundle
$(MAKE) appbundle BINNAME=bin/Ikemen_GO_MacOSARM
# MacOS app bundle
appbundle:
mkdir -p I.K.E.M.E.N-Go.app
mkdir -p I.K.E.M.E.N-Go.app/Contents
mkdir -p I.K.E.M.E.N-Go.app/Contents/MacOS
mkdir -p I.K.E.M.E.N-Go.app/Contents/Frameworks
mkdir -p I.K.E.M.E.N-Go.app/Contents/Resources
# BINNAME can be a full path (e.g. bin/Ikemen_GO_MacOS) or just the filename.
cp $(BINNAME) I.K.E.M.E.N-Go.app/Contents/MacOS/$(notdir $(BINNAME))
cp ./build/Info.plist I.K.E.M.E.N-Go.app/Contents/Info.plist
cp ./build/bundle_run.sh I.K.E.M.E.N-Go.app/Contents/MacOS/bundle_run.sh
chmod +x I.K.E.M.E.N-Go.app/Contents/MacOS/bundle_run.sh
chmod +x I.K.E.M.E.N-Go.app/Contents/MacOS/$(notdir $(BINNAME))
cp lib/*.dylib I.K.E.M.E.N-Go.app/Contents/Frameworks/ 2>/dev/null || true
mkdir -p build/icontmp/icon.iconset
cp external/icons/IkemenCylia_256.png build/icontmp/icon.iconset/icon_256x256.png
iconutil -c icns build/icontmp/icon.iconset -o build/icontmp/icon.icns
cp build/icontmp/icon.icns I.K.E.M.E.N-Go.app/Contents/Resources/icon.icns
rm -rf build/icontmp
.PHONY: android-apk
android-apk:
bash ./build/build_android.sh
clean_appbundle:
rm -rf I.K.E.M.E.N-Go.app