contrib/benitlux: intro iOS client
[nit.git] / contrib / benitlux / Makefile
1 SERVER ?= localhost:8080
2
3 all: server bin/report bin/benitlux
4
5 server: bin/benitlux_daily bin/benitlux_web
6 bin/benitlux_daily: $(shell ../../bin/nitls -M src/server/benitlux_daily.nit)
7 mkdir -p bin/
8 ../../bin/nitc -o $@ src/server/benitlux_daily.nit
9
10 bin/benitlux_web: $(shell ../../bin/nitls -M src/server/server.nit) src/server/benitlux_restful.nit
11 mkdir -p bin/
12 ../../bin/nitc -o $@ src/server/server.nit -D iface=$(SERVER)
13
14 pre-build: src/server/benitlux_restful.nit
15 src/server/benitlux_restful.nit: $(shell ../../bin/nitls -M src/server/benitlux_controller.nit)
16 ../../bin/nitrestful -o $@ src/server/benitlux_controller.nit
17
18 # ---
19 # Report
20
21 bin/report: $(shell ../../bin/nitls -M src/report.nit)
22 ../../bin/nitc -o bin/report src/report.nit
23
24 report: bin/report
25 bin/report
26
27 # ---
28 # GTK+ client
29
30 bin/benitlux: $(shell ../../bin/nitls -M src/client/client.nit)
31 mkdir -p bin/
32 ../../bin/nitc -o bin/benitlux src/client/client.nit -m linux -D benitlux_rest_server_uri=http://$(SERVER)/
33
34 # ---
35 # Android
36
37 # Main icon
38 android/res/drawable-hdpi/icon.png:
39 ../inkscape_tools/bin/svg_to_icons art/icon.svg --android --out android/res/
40
41 # Notification icon, white only
42 android/res/drawable-hdpi/notif.png:
43 ../inkscape_tools/bin/svg_to_icons art/notif.svg --android --out android/res/ --name notif
44
45 android-res: android/res/drawable-hdpi/icon.png android/res/drawable-hdpi/notif.png
46
47 # Dev / debug app
48 android: bin/benitlux.apk
49 bin/benitlux.apk: $(shell ../../bin/nitls -M src/client/android.nit) android-res
50 mkdir -p bin/ res/
51 ../../bin/nitc -o $@ src/client/android.nit -m src/client/features/debug.nit \
52 -D benitlux_rest_server_uri=http://$(SERVER)/
53
54 # Pure portable prototype, for comparison
55 bin/proto.apk: $(shell ../../bin/nitls -M src/client/android_proto.nit) android-res
56 mkdir -p bin/ res/
57 ../../bin/nitc -o $@ src/client/android_proto.nit \
58 -D benitlux_rest_server_uri=http://$(SERVER)/
59
60 # Release version
61 android-release: $(shell ../../bin/nitls -M src/client/android.nit) android-res
62 mkdir -p bin/ res/
63 ../../bin/nitc -o bin/benitlux.apk src/client/android.nit \
64 -D benitlux_rest_server_uri=http://xymus.net/benitlux/ --release
65
66 # ---
67 # iOS
68
69 ios: bin/benitlux.app
70 bin/benitlux.app: $(shell ../../bin/nitls -M src/client/ios.nit) ios/AppIcon.appiconset/Contents.json
71 mkdir -p bin/
72 rm -rf bin/benitlux.app/
73 ../../bin/nitc -o bin/benitlux.app src/client/ios.nit -D benitlux_rest_server_uri=http://$(SERVER)/
74
75 bin/proto.app: $(shell ../../bin/nitls -M src/client/ios_proto.nit) ios/AppIcon.appiconset/Contents.json
76 mkdir -p bin/ res/
77 ../../bin/nitc -o $@ src/client/ios_proto.nit \
78 -D benitlux_rest_server_uri=http://$(SERVER)/
79
80 ios-release: $(shell ../../bin/nitls -M src/client/ios.nit) ios/AppIcon.appiconset/Contents.json
81 mkdir -p bin/
82 ../../bin/nitc -o bin/benitlux.app src/client/ios.nit -D benitlux_rest_server_uri=http://$(SERVER)/
83
84 ios/AppIcon.appiconset/Contents.json: art/icon.svg
85 mkdir -p ios
86 ../inkscape_tools/bin/svg_to_icons art/icon.svg --ios --out ios/AppIcon.appiconset/