app.nit examples: fix dependencies by adding the missing -m to nitls calls
[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 -m linux) ${NITC}
7 mkdir -p bin
8 ${NITC} -o $@ src/calculator.nit -m linux
9
10 bin/scientific: $(shell ${NITLS} -M scientific -m linux) ${NITC}
11 mkdir -p bin
12 ${NITC} -o $@ src/scientific -m linux
13
14 # ---
15 # Android
16 #
17 # There are 4 versions, combining 2 variations:
18 # * scientific vs non-scientific
19 # * android API 21+ vs under 21
20
21 android: bin/calculator14.apk bin/scientific14.apk bin/calculator21.apk bin/scientific21.apk
22
23 bin/calculator14.apk: $(shell ${NITLS} -M src/android14.nit) ${NITC} android/res/drawable-hdpi/icon.png
24 mkdir -p bin
25 ${NITC} -o $@ src/android14.nit -D debug
26
27 bin/calculator21.apk: $(shell ${NITLS} -M src/android21) ${NITC} android/res/drawable-hdpi/icon.png
28 mkdir -p bin
29 ${NITC} -o $@ src/android21 -D debug
30
31 bin/scientific14.apk: $(shell ${NITLS} -M src/scientific -m src/android14.nit) ${NITC} src/scientific/android/res/drawable-hdpi/icon.png
32 mkdir -p bin
33 ${NITC} -o $@ src/scientific -m src/android14.nit -D debug
34
35 bin/scientific21.apk: $(shell ${NITLS} -M src/scientific -m src/android21) ${NITC} src/scientific/android/res/drawable-hdpi/icon.png
36 mkdir -p bin
37 ${NITC} -o $@ src/scientific -m src/android21 -D debug
38
39 android-release: $(shell ${NITLS} -M src/scientific -m src/android14.nit) ${NITC} android/res/drawable-hdpi/icon.png
40 mkdir -p bin
41 ${NITC} -o bin/calculator14.apk src/android14.nit --release
42 ${NITC} -o bin/calculator21.apk src/android21 --release
43 ${NITC} -o bin/scientific14.apk src/scientific -m src/android14.nit --release
44 ${NITC} -o bin/scientific21.apk src/scientific -m src/android21 --release
45
46 android/res/drawable-hdpi/icon.png: art/icon.svg ../../contrib/inkscape_tools/bin/svg_to_icons
47 mkdir -p android/res
48 ../../contrib/inkscape_tools/bin/svg_to_icons art/icon.svg --android --out android/res/
49
50 src/scientific/android/res/drawable-hdpi/icon.png: art/icon-sci.svg ../../contrib/inkscape_tools/bin/svg_to_icons
51 mkdir -p src/scientific/android/res
52 ../../contrib/inkscape_tools/bin/svg_to_icons art/icon-sci.svg --android --out src/scientific/android/res/
53
54 ../../contrib/inkscape_tools/bin/svg_to_icons:
55 make -C ../../contrib/inkscape_tools/
56
57 android-install: bin/calculator14.apk
58 adb install -r bin/calculator14.apk
59
60 # ---
61 # iOS
62
63 ios: bin/calculator.app bin/scientific.app
64
65 bin/calculator.app: $(shell ${NITLS} -M src/ios.nit) ${NITC} ios/AppIcon.appiconset/Contents.json
66 mkdir -p bin
67 ${NITC} -o $@ src/ios.nit -D debug
68
69 bin/scientific.app: $(shell ${NITLS} -M src/scientific -m src/ios.nit) ${NITC} src/scientific/ios/AppIcon.appiconset/Contents.json
70 mkdir -p bin
71 ${NITC} -o $@ src/scientific -m src/ios.nit -D debug
72
73 ios/AppIcon.appiconset/Contents.json: art/icon-ios.svg
74 mkdir -p ios
75 ../../contrib/inkscape_tools/bin/svg_to_icons art/icon-ios.svg --ios --out ios/AppIcon.appiconset/
76
77 src/scientific/ios/AppIcon.appiconset/Contents.json: art/icon-ios.svg
78 mkdir -p ios
79 ../../contrib/inkscape_tools/bin/svg_to_icons art/icon-ios-sci.svg --ios --out src/scientific/ios/AppIcon.appiconset/
80
81 # ---
82 # Tests
83
84 bin/test: $(shell ${NITLS} -M src/calculator_test.nit) ${NITC}
85 mkdir -p bin
86 ${NITC} -o $@ src/calculator_test.nit
87
88 check: bin/test
89 bin/test