calculator: add the scientific variant to the `all` Makefile rule
[nit.git] / examples / calculator / Makefile
index 6c5b63c..c0a2154 100644 (file)
@@ -1,46 +1,83 @@
 NITC=../../bin/nitc
 NITLS=../../bin/nitls
 
-all: bin/calculator bin/test
+all: bin/calculator bin/scientific bin/test
 
-bin/calculator: $(shell ${NITLS} -M src/calculator.nit linux) ${NITC}
+bin/calculator: $(shell ${NITLS} -M src/calculator.nit -m linux) ${NITC}
        mkdir -p bin
        ${NITC} -o $@ src/calculator.nit -m linux
 
+bin/scientific: $(shell ${NITLS} -M scientific -m linux) ${NITC}
+       mkdir -p bin
+       ${NITC} -o $@ src/scientific -m linux
+
 # ---
 # Android
+#
+# There are 4 versions, combining 2 variations:
+# * scientific vs non-scientific
+# * android API 21+ vs under 21
+
+android: bin/calculator14.apk bin/scientific14.apk bin/calculator21.apk bin/scientific21.apk
+
+bin/calculator14.apk: $(shell ${NITLS} -M src/android14.nit) ${NITC} android/res/drawable-hdpi/icon.png
+       mkdir -p bin
+       ${NITC} -o $@ src/android14.nit -D debug
+
+bin/calculator21.apk: $(shell ${NITLS} -M src/android21) ${NITC} android/res/drawable-hdpi/icon.png
+       mkdir -p bin
+       ${NITC} -o $@ src/android21 -D debug
 
-android: bin/calculator.apk
+bin/scientific14.apk: $(shell ${NITLS} -M src/scientific -m src/android14.nit) ${NITC} src/scientific/android/res/drawable-hdpi/icon.png
+       mkdir -p bin
+       ${NITC} -o $@ src/scientific -m src/android14.nit -D debug
 
-bin/calculator.apk: $(shell ${NITLS} -M src/calculator.nit android) ${NITC} res/drawable-ldpi/icon.png
+bin/scientific21.apk: $(shell ${NITLS} -M src/scientific -m src/android21) ${NITC} src/scientific/android/res/drawable-hdpi/icon.png
        mkdir -p bin
-       ${NITC} -o $@ src/calculator.nit -m ../../lib/android/ui/ -D debug
+       ${NITC} -o $@ src/scientific -m src/android21 -D debug
 
-android-release: $(shell ${NITLS} -M src/calculator.nit android) ${NITC} res/drawable-ldpi/icon.png
+android-release: $(shell ${NITLS} -M src/scientific -m src/android14.nit) ${NITC} android/res/drawable-hdpi/icon.png
        mkdir -p bin
-       ${NITC} -o bin/calculator.apk src/calculator.nit -m ../../lib/android/ui/ --release
+       ${NITC} -o bin/calculator14.apk src/android14.nit --release
+       ${NITC} -o bin/calculator21.apk src/android21 --release
+       ${NITC} -o bin/scientific14.apk src/scientific -m src/android14.nit --release
+       ${NITC} -o bin/scientific21.apk src/scientific -m src/android21 --release
+
+android/res/drawable-hdpi/icon.png: art/icon.svg ../../contrib/inkscape_tools/bin/svg_to_icons
+       mkdir -p android/res
+       ../../contrib/inkscape_tools/bin/svg_to_icons art/icon.svg --android --out android/res/
 
-res/drawable-ldpi/icon.png: art/icon.svg ../../contrib/inkscape_tools/bin/svg_to_icons
-       mkdir -p res
-       ../../contrib/inkscape_tools/bin/svg_to_icons art/icon.svg --android --out res/
+src/scientific/android/res/drawable-hdpi/icon.png: art/icon-sci.svg ../../contrib/inkscape_tools/bin/svg_to_icons
+       mkdir -p src/scientific/android/res
+       ../../contrib/inkscape_tools/bin/svg_to_icons art/icon-sci.svg --android --out src/scientific/android/res/
 
 ../../contrib/inkscape_tools/bin/svg_to_icons:
        make -C ../../contrib/inkscape_tools/
 
-android-install: bin/calculator.apk
-       adb install -r bin/calculator.apk
+android-install: bin/calculator14.apk
+       adb install -r bin/calculator14.apk
 
 # ---
 # iOS
 
-bin/calculator.app: $(shell ${NITLS} -M src/calculator.nit ios) ${NITC} ios/AppIcon.appiconset/Contents.json
+ios: bin/calculator.app bin/scientific.app
+
+bin/calculator.app: $(shell ${NITLS} -M src/ios.nit) ${NITC} ios/AppIcon.appiconset/Contents.json
        mkdir -p bin
-       ${NITC} -o $@ src/calculator.nit -m ios -D debug
+       ${NITC} -o $@ src/ios.nit -D debug
+
+bin/scientific.app: $(shell ${NITLS} -M src/scientific -m src/ios.nit) ${NITC} src/scientific/ios/AppIcon.appiconset/Contents.json
+       mkdir -p bin
+       ${NITC} -o $@ src/scientific -m src/ios.nit -D debug
 
 ios/AppIcon.appiconset/Contents.json: art/icon-ios.svg
        mkdir -p ios
        ../../contrib/inkscape_tools/bin/svg_to_icons art/icon-ios.svg --ios --out ios/AppIcon.appiconset/
 
+src/scientific/ios/AppIcon.appiconset/Contents.json: art/icon-ios.svg
+       mkdir -p ios
+       ../../contrib/inkscape_tools/bin/svg_to_icons art/icon-ios-sci.svg --ios --out src/scientific/ios/AppIcon.appiconset/
+
 # ---
 # Tests