39f3c2b6a48439d82a08811c012ea778fa2f99d8
[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=\
25         $(SRC_DIR)/AltosDroid.java \
26         $(SRC_DIR)/AltosDroidPreferences.java \
27         $(SRC_DIR)/AltosVoice.java \
28         $(SRC_DIR)/TelemetryService.java \
29         $(SRC_DIR)/TelemetryReader.java \
30         $(SRC_DIR)/TelemetryLogger.java \
31         $(SRC_DIR)/AltosBluetooth.java \
32         $(SRC_DIR)/DeviceListActivity.java \
33         $(SRC_DIR)/BuildInfo.java \
34         $(SRC_DIR)/Dumper.java
35
36 all: $(all_target)
37
38 $(ALTOSLIB): $(ALTOSLIB_SRCDIR)/$(ALTOSLIB_JAR)
39         mkdir -p $(EXT_LIBDIR)
40         cd $(EXT_LIBDIR) && ln -s $(shell echo $(EXT_LIBDIR) | sed 's|[^/]\+|..|g')/$(ALTOSLIB_SRCDIR)/$(ALTOSLIB_JAR) .
41
42 $(SRC_DIR)/BuildInfo.java:
43         ./buildinfo.sh
44
45 if ANDROID
46 install-release: bin/AltosDroid-release.apk
47         $(ADB) install -r bin/AltosDroid-release.apk
48
49 install-debug: bin/AltosDroid-debug.apk
50         $(ADB) install -r bin/AltosDroid-debug.apk
51
52 bin/AltosDroid-debug.apk: $(SRC) $(ALTOSLIB)
53         ant debug
54
55 bin/AltosDroid-release.apk: $(SRC) $(ALTOSLIB)
56         ant release
57
58 sign:
59         jarsigner -keystore release.keystore \
60            -signedjar bin/AltosDroid-release-signed.apk \
61            bin/AltosDroid-release-unsigned.apk AltosDroid
62         $(SDK)/tools/zipalign -f 4 \
63            bin/AltosDroid-release-signed.apk \
64            bin/AltosDroid-release.apk
65
66 endif
67
68 clean: clean-local
69         $(clean_command)
70
71 clean-local:
72         rm -rf $(EXT_LIBDIR)
73
74 .PHONY: $(SRC_DIR)/BuildInfo.java