71a6031e125bbc0383f51774c3b932d2574195eb
[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
18
19 bin/calculator.apk: $(shell ${NITLS} -M src/scientific src/android_calculator.nit) ${NITC} android/res/
20 mkdir -p bin
21 ${NITC} -o $@ src/scientific -m src/android_calculator.nit -D debug
22
23 android-release: $(shell ${NITLS} -M src/scientific src/android_calculator.nit) ${NITC} android/res/
24 mkdir -p bin
25 ${NITC} -o bin/calculator.apk src/scientific -m src/android_calculator.nit --release
26
27 android/res/: art/icon.svg ../../contrib/inkscape_tools/bin/svg_to_icons
28 mkdir -p android/res
29 ../../contrib/inkscape_tools/bin/svg_to_icons art/icon.svg --android --out android/res/
30
31 ../../contrib/inkscape_tools/bin/svg_to_icons:
32 make -C ../../contrib/inkscape_tools/
33
34 android-install: bin/calculator.apk
35 adb install -r bin/calculator.apk
36
37 # ---
38 # iOS
39
40 bin/calculator.app: $(shell ${NITLS} -M src/scientific src/ios_calculator.nit) ${NITC} ios/AppIcon.appiconset/Contents.json
41 mkdir -p bin
42 ${NITC} -o $@ src/scientific -m src/ios_calculator.nit -D debug
43
44 ios/AppIcon.appiconset/Contents.json: art/icon-ios.svg
45 mkdir -p ios
46 ../../contrib/inkscape_tools/bin/svg_to_icons art/icon-ios.svg --ios --out ios/AppIcon.appiconset/
47
48 # ---
49 # Tests
50
51 bin/test: $(shell ${NITLS} -M src/calculator_test.nit) ${NITC}
52 mkdir -p bin
53 ${NITC} -o $@ src/calculator_test.nit
54
55 check: bin/test
56 bin/test