altosdroid: adjust Makefile rules
[fw/altos] / altosdroid / Makefile.am
1 if ANDROID
2 all_target=bin/AltosDroid-debug.apk bin/AltosDroid-release.apk
3 clean_command=ant clean
4 else
5 all_target=
6 clean_command=echo done
7 endif
8
9 SDK=$(ANDROID_SDK)
10
11 DX=$(SDK)/platform-tools/dx
12 ADB=$(SDK)/platform-tools/adb
13 AAPT=$(SDK)/platform-tools/aapt
14 APKBUILDER=$(SDK)/tools/apkbuilder
15 ZIPALIGN=$(SDK)/tools/zipalign
16
17 SRC_DIR=src/org/altusmetrum/AltosDroid
18 EXT_LIBDIR=libs
19 ALTOSLIB_SRCDIR=../altoslib
20 ALTOSLIB_JAR=altoslib_$(ALTOSLIB_VERSION).jar
21
22 ALTOSLIB=$(EXT_LIBDIR)/$(ALTOSLIB_JAR)
23
24 SRC=$(SRC_DIR)/*.java
25
26 all: $(all_target)
27
28 $(EXT_LIBDIR):
29         mkdir -p $(EXT_LIBDIR)
30
31 $(ALTOSLIB): $(EXT_LIBDIR) $(ALTOSLIB_SRCDIR)/$(ALTOSLIB_JAR)
32         cd $(EXT_LIBDIR) && ln -sf $(shell echo $(EXT_LIBDIR) | sed 's|[^/]\+|..|g')/$(ALTOSLIB_SRCDIR)/$(ALTOSLIB_JAR) .
33
34 $(SRC_DIR)/BuildInfo.java: $(SRC)
35         ./buildinfo.sh
36
37 if ANDROID
38 install-release: bin/AltosDroid-release.apk
39         $(ADB) install -r bin/AltosDroid-release.apk
40
41 install-debug: bin/AltosDroid-debug.apk
42         $(ADB) install -r bin/AltosDroid-debug.apk
43
44 bin/AltosDroid-debug.apk: $(SRC) $(ALTOSLIB)
45         ant debug
46
47 bin/AltosDroid-release.apk: $(SRC) $(ALTOSLIB)
48         ant release
49
50 sign:
51         jarsigner -keystore release.keystore \
52            -signedjar bin/AltosDroid-release-signed.apk \
53            bin/AltosDroid-release-unsigned.apk AltosDroid
54         $(SDK)/tools/zipalign -f 4 \
55            bin/AltosDroid-release-signed.apk \
56            bin/AltosDroid-release.apk
57
58 endif
59
60 clean: clean-local
61         $(clean_command)
62
63 clean-local:
64         rm -rf $(EXT_LIBDIR)
65