d86b9ffc9b5f22cee83bbcbc2c2fd52414e637cc
[nit.git] / examples / calculator / Makefile
1 NITC=../../bin/nitc
2 NITLS=../../bin/nitls
3
4 all: bin/calculator bin/test
5
6 bin/calculator: $(shell ${NITLS} -M src/calculator.nit linux) ${NITC}
7 mkdir -p bin
8 ${NITC} -o $@ src/calculator.nit -m linux
9
10 bin/scientific: $(shell ${NITLS} -M scientific linux) ${NITC}
11 mkdir -p bin
12 ${NITC} -o $@ src/scientific -m linux
13
14 # ---
15 # Android
16
17 android: bin/calculator.apk bin/scientific.apk
18
19 bin/calculator.apk: $(shell ${NITLS} -M src/android_calculator.nit) ${NITC} android/res/drawable-hdpi/icon.png
20 mkdir -p bin
21 ${NITC} -o $@ src/android_calculator.nit -D debug
22
23 bin/scientific.apk: $(shell ${NITLS} -M src/scientific src/android_calculator.nit) ${NITC} src/scientific/android/res/drawable-hdpi/icon.png
24 mkdir -p bin
25 ${NITC} -o $@ src/scientific -m src/android_calculator.nit -D debug
26
27 android-release: $(shell ${NITLS} -M src/scientific src/android_calculator.nit) ${NITC} android/res/drawable-hdpi/icon.png
28 mkdir -p bin
29 ${NITC} -o bin/calculator.apk src/android_calculator.nit --release
30 ${NITC} -o bin/scientific.apk src/scientific -m src/android_calculator.nit --release
31
32 android/res/drawable-hdpi/icon.png: art/icon.svg ../../contrib/inkscape_tools/bin/svg_to_icons
33 mkdir -p android/res
34 ../../contrib/inkscape_tools/bin/svg_to_icons art/icon.svg --android --out android/res/
35
36 src/scientific/android/res/drawable-hdpi/icon.png: art/icon-sci.svg ../../contrib/inkscape_tools/bin/svg_to_icons
37 mkdir -p src/scientific/android/res
38 ../../contrib/inkscape_tools/bin/svg_to_icons art/icon-sci.svg --android --out src/scientific/android/res/
39
40 ../../contrib/inkscape_tools/bin/svg_to_icons:
41 make -C ../../contrib/inkscape_tools/
42
43 android-install: bin/calculator.apk
44 adb install -r bin/calculator.apk
45
46 # ---
47 # iOS
48
49 ios: bin/calculator.app bin/scientific.app
50
51 bin/calculator.app: $(shell ${NITLS} -M src/ios_calculator.nit) ${NITC} ios/AppIcon.appiconset/Contents.json
52 mkdir -p bin
53 ${NITC} -o $@ src/ios_calculator.nit -D debug
54
55 bin/scientific.app: $(shell ${NITLS} -M src/scientific src/ios_calculator.nit) ${NITC} src/scientific/ios/AppIcon.appiconset/Contents.json
56 mkdir -p bin
57 ${NITC} -o $@ src/scientific -m src/ios_calculator.nit -D debug
58
59 ios/AppIcon.appiconset/Contents.json: art/icon-ios.svg
60 mkdir -p ios
61 ../../contrib/inkscape_tools/bin/svg_to_icons art/icon-ios.svg --ios --out ios/AppIcon.appiconset/
62
63 src/scientific/ios/AppIcon.appiconset/Contents.json: art/icon-ios.svg
64 mkdir -p ios
65 ../../contrib/inkscape_tools/bin/svg_to_icons art/icon-ios-sci.svg --ios --out src/scientific/ios/AppIcon.appiconset/
66
67 # ---
68 # Tests
69
70 bin/test: $(shell ${NITLS} -M src/calculator_test.nit) ${NITC}
71 mkdir -p bin
72 ${NITC} -o $@ src/calculator_test.nit
73
74 check: bin/test
75 bin/test