-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile.osx
64 lines (54 loc) · 2.65 KB
/
Makefile.osx
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
#osx makefile; defines OSX
# ALSO https://billthefarmer.github.io/blog/build-mac-osx-apps-using-command-line-tools/ for the .app
APPNAME=FallingUp
APPICON=src/icon.png
IDENTITY='Developer ID Application: Kaolin Fire (TP8P64EJ78)'
APPBUNDLE=$(APPNAME).app
APPBUNDLECONTENTS=$(APPBUNDLE)/Contents
APPBUNDLEMACOS=$(APPBUNDLECONTENTS)/MacOS
APPBUNDLERESOURCES=$(APPBUNDLECONTENTS)/Resources
$(APPBUNDLE): $(APPNAME) src/Info.plist src/PkgInfo $(APPNAME).icns resources/sounds/*.wav resources/images/*.raw resources/images/tiles/*.raw
rm -rf $(APPBUNDLE)
mkdir -p $(APPBUNDLECONTENTS)
mkdir $(APPBUNDLEMACOS)
mkdir -p $(APPBUNDLERESOURCES)/resources/sounds
mkdir -p $(APPBUNDLERESOURCES)/resources/images/tiles
cp src/Info.plist $(APPBUNDLECONTENTS)/
cp src/PkgInfo $(APPBUNDLECONTENTS)/
cp resources/sounds/*.wav $(APPBUNDLERESOURCES)/resources/sounds/
cp resources/images/*.raw $(APPBUNDLERESOURCES)/resources/images/
cp resources/images/tiles/*.raw $(APPBUNDLERESOURCES)/resources/images/tiles/
cp $(APPNAME).icns $(APPBUNDLERESOURCES)/
cp $(APPNAME) $(APPBUNDLEMACOS)/
$(APPNAME): src/fallingup.c src/imagelib.c src/os.h src/imagelib.h Makefile.osx
gcc -framework OpenAL -framework OpenGL -framework GLUT -framework Foundation -o $(APPNAME) src/imagelib.c src/fallingup.c -DOSX
$(APPNAME).icns: $(APPICON)
rm -rf $(APPNAME).iconset
mkdir $(APPNAME).iconset
sips -z 16 16 $(APPICON) --out $(APPNAME).iconset/icon_16x16.png
sips -z 32 32 $(APPICON) --out $(APPNAME).iconset/[email protected]
sips -z 32 32 $(APPICON) --out $(APPNAME).iconset/icon_32x32.png
sips -z 64 64 $(APPICON) --out $(APPNAME).iconset/[email protected]
sips -z 128 128 $(APPICON) --out $(APPNAME).iconset/icon_128x128.png
sips -z 256 256 $(APPICON) --out $(APPNAME).iconset/[email protected]
sips -z 256 256 $(APPICON) --out $(APPNAME).iconset/icon_256x256.png
sips -z 512 512 $(APPICON) --out $(APPNAME).iconset/[email protected]
sips -z 512 512 $(APPICON) --out $(APPNAME).iconset/icon_512x512.png
sips -z 1024 1024 $(APPICON) --out $(APPNAME).iconset/[email protected]
iconutil -c icns -o $(APPNAME).icns $(APPNAME).iconset
rm -rf $(APPNAME).iconset
clean:
rm -f src/*.o
rm -f $(APPNAME)
rm -rf $(APPBUNDLE)
rm -rf $(APPNAME).icns
runbundle: $(APPBUNDLE)
open $(APPBUNDLE)
run: $(APPNAME)
./$(APPNAME)
debug: $(APPNAME)
gdb $(APPNAME)
# https://developer.apple.com/library/archive/documentation/Security/Conceptual/CodeSigningGuide/Procedures/Procedures.html
#spctl -vvv --assess --type execspctl -vvv --assess --type exec $(APPBUNDLE) --raw
sign: $(APPBUNDLE)
codesign -s $(IDENTITY) --options=runtime $(APPBUNDLE)