altosdroid: Adjust build system for GMaps & Tabs support
[fw/altos] / altosdroid / Makefile.am
1 if ANDROID
2 all_target=bin/AltosDroid-debug.apk bin/AltosDroid-release-unsigned.apk
3 else
4 all_target=
5 endif
6
7 SDK=$(ANDROID_SDK)
8 SDK_TARGET=$(shell sed -ne 's/^target=//p' project.properties)
9
10 DX=$(SDK)/platform-tools/dx
11 ADB=$(SDK)/platform-tools/adb
12 AAPT=$(SDK)/platform-tools/aapt
13 APKBUILDER=$(SDK)/tools/apkbuilder
14 ZIPALIGN=$(SDK)/tools/zipalign
15
16 SRC_DIR=src/org/altusmetrum/AltosDroid
17 EXT_LIBDIR=libs
18 ALTOSLIB_SRCDIR=../altoslib
19 ALTOSLIB_JAR=altoslib_$(ALTOSLIB_VERSION).jar
20
21 ALTOSLIB=$(EXT_LIBDIR)/$(ALTOSLIB_JAR)
22
23 SUPPORT_V4_SRCDIR=$(SDK)/extras/android/support/v4
24 SUPPORT_V4_JAR=android-support-v4.jar
25
26 SUPPORT_V4=$(EXT_LIBDIR)/$(SUPPORT_V4_JAR)
27
28 GOOGLE_PLAY_SERVICES_LIB_SRCDIR=$(SDK)/extras/google/google_play_services/libproject
29 GOOGLE_PLAY_SERVICES_LIB=google-play-services_lib
30
31 SRC=$(SRC_DIR)/*.java
32
33 all: $(all_target)
34
35 $(EXT_LIBDIR):
36         mkdir -p $(EXT_LIBDIR)
37
38 $(ALTOSLIB): $(EXT_LIBDIR) $(ALTOSLIB_SRCDIR)/$(ALTOSLIB_JAR)
39         cd $(EXT_LIBDIR) && ln -sf $(shell echo $(EXT_LIBDIR) | sed 's|[^/]\+|..|g')/$(ALTOSLIB_SRCDIR)/$(ALTOSLIB_JAR) .
40
41 $(SUPPORT_V4): $(EXT_LIBDIR) $(SUPPORT_V4_SRCDIR)/$(SUPPORT_V4_JAR)
42         cd $(EXT_LIBDIR) && ln -sf $(SUPPORT_V4_SRCDIR)/$(SUPPORT_V4_JAR) .
43
44 $(GOOGLE_PLAY_SERVICES_LIB): $(GOOGLE_PLAY_SERVICES_LIB_SRCDIR)/$(GOOGLE_PLAY_SERVICES_LIB)
45         cp -a $(GOOGLE_PLAY_SERVICES_LIB_SRCDIR)/$(GOOGLE_PLAY_SERVICES_LIB) .
46         cd $(GOOGLE_PLAY_SERVICES_LIB) && $(SDK)/tools/android update project --target $(SDK_TARGET) --path .
47
48 $(SRC_DIR)/BuildInfo.java: $(SRC)
49         ./buildinfo.sh
50
51 if ANDROID
52 install-release: bin/AltosDroid-release.apk
53         $(ADB) install -r bin/AltosDroid-release.apk
54
55 install-debug: bin/AltosDroid-debug.apk
56         $(ADB) install -r bin/AltosDroid-debug.apk
57
58 bin/AltosDroid-debug.apk: $(SRC) $(ALTOSLIB) $(SUPPORT_V4) $(GOOGLE_PLAY_SERVICES_LIB)
59         ant debug
60
61 bin/AltosDroid-release-unsigned.apk: $(SRC) $(ALTOSLIB) $(SUPPORT_V4) $(GOOGLE_PLAY_SERVICES_LIB)
62         ant release
63
64 sign:
65         jarsigner -keystore release.keystore \
66            -signedjar bin/AltosDroid-release-signed.apk \
67            bin/AltosDroid-release-unsigned.apk AltosDroid
68         $(SDK)/tools/zipalign -f 4 \
69            bin/AltosDroid-release-signed.apk \
70            bin/AltosDroid-release.apk
71
72 clean: $(GOOGLE_PLAY_SERVICES_LIB)
73         ant clean
74         rm -rf $(EXT_LIBDIR)
75         rm -rf $(GOOGLE_PLAY_SERVICES_LIB)
76
77 else
78
79 clean:
80
81 endif
82