altosdroid: Only update BuildInfo.java when other source files change
[fw/altos] / altosdroid / Makefile.am
index 96831b722ba7955a87242bf562e5823df8965f37..7716b49bacd9a8c23b272fed7aa241fe3679a2a9 100644 (file)
@@ -17,7 +17,7 @@ ZIPALIGN=$(SDK)/tools/zipalign
 SRC_DIR=src/org/altusmetrum/AltosDroid
 EXT_LIBDIR=libs
 ALTOSLIB_SRCDIR=../altoslib
-ALTOSLIB_JAR=AltosLib.jar
+ALTOSLIB_JAR=altoslib_$(ALTOSLIB_VERSION).jar
 
 ALTOSLIB=$(EXT_LIBDIR)/$(ALTOSLIB_JAR)
 
@@ -30,6 +30,7 @@ SRC=\
        $(SRC_DIR)/TelemetryLogger.java \
        $(SRC_DIR)/AltosBluetooth.java \
        $(SRC_DIR)/DeviceListActivity.java \
+       $(SRC_DIR)/BuildInfo.java \
        $(SRC_DIR)/Dumper.java
 
 all: $(all_target)
@@ -38,6 +39,9 @@ $(ALTOSLIB): $(ALTOSLIB_SRCDIR)/$(ALTOSLIB_JAR)
        mkdir -p $(EXT_LIBDIR)
        cd $(EXT_LIBDIR) && ln -s $(shell echo $(EXT_LIBDIR) | sed 's|[^/]\+|..|g')/$(ALTOSLIB_SRCDIR)/$(ALTOSLIB_JAR) .
 
+$(SRC_DIR)/BuildInfo.java: $(SRC)
+       ./buildinfo.sh
+
 if ANDROID
 install-release: bin/AltosDroid-release.apk
        $(ADB) install -r bin/AltosDroid-release.apk
@@ -50,8 +54,20 @@ bin/AltosDroid-debug.apk: $(SRC) $(ALTOSLIB)
 
 bin/AltosDroid-release.apk: $(SRC) $(ALTOSLIB)
        ant release
+
+sign:
+       jarsigner -keystore release.keystore \
+          -signedjar bin/AltosDroid-release-signed.apk \
+          bin/AltosDroid-release-unsigned.apk AltosDroid
+       $(SDK)/tools/zipalign -f 4 \
+          bin/AltosDroid-release-signed.apk \
+          bin/AltosDroid-release.apk
+
 endif
 
-clean:
+clean: clean-local
        $(clean_command)
 
+clean-local:
+       rm -rf $(EXT_LIBDIR)
+