altosdroid: Note recent changes
[fw/altos] / altosdroid / Makefile.am
index daa649631ce8b8e9757e7b1f2c3e163aaf1d3642..52a2064b1716255a30803b487e60d20fcf8e6373 100644 (file)
@@ -1,5 +1,8 @@
 if ANDROID
-all_target=bin/AltosDroid-debug.apk bin/AltosDroid-release-unsigned.apk
+all_target=bin/AltosDroid-debug.apk
+if ANDROID_RELEASE
+all_target+=bin/AltosDroid-release.apk
+endif
 else
 all_target=
 endif
@@ -11,10 +14,12 @@ DX=$(SDK)/platform-tools/dx
 ADB=$(SDK)/platform-tools/adb
 AAPT=$(SDK)/platform-tools/aapt
 APKBUILDER=$(SDK)/tools/apkbuilder
-ZIPALIGN=$(SDK)/tools/zipalign
+ZIPALIGN_A=$(SDK)/tools/zipalign
+ZIPALIGN_B=$(SDK)/build-tools/*/zipalign
 
-SRC_DIR=src/org/altusmetrum/AltosDroid
+JAVA_SRC_DIR=src/org/altusmetrum/AltosDroid
 EXT_LIBDIR=libs
+DRAWABLE_DIR=res/drawable
 ALTOSLIB_SRCDIR=../altoslib
 ALTOSLIB_JAR=altoslib_$(ALTOSLIB_VERSION).jar
 
@@ -28,10 +33,19 @@ SUPPORT_V4=$(EXT_LIBDIR)/$(SUPPORT_V4_JAR)
 GOOGLE_PLAY_SERVICES_LIB_SRCDIR=$(SDK)/extras/google/google_play_services/libproject
 GOOGLE_PLAY_SERVICES_LIB=google-play-services_lib
 
-SRC=$(SRC_DIR)/*.java
+JAVA_SRC=$(JAVA_SRC_DIR)/*.java $(JAVA_SRC_DIR)/BuildInfo.java
+
+DRAWABLES=\
+    $(DRAWABLE_DIR)/redled.png \
+    $(DRAWABLE_DIR)/greenled.png \
+    $(DRAWABLE_DIR)/grayled.png
+
+SRC=$(JAVA_SRC) $(DRAWABLES)
 
 all: $(all_target)
 
+.NOTPARALLEL:
+
 $(EXT_LIBDIR):
        mkdir -p $(EXT_LIBDIR)
 
@@ -45,9 +59,12 @@ $(GOOGLE_PLAY_SERVICES_LIB): $(GOOGLE_PLAY_SERVICES_LIB_SRCDIR)/$(GOOGLE_PLAY_SE
        cp -a $(GOOGLE_PLAY_SERVICES_LIB_SRCDIR)/$(GOOGLE_PLAY_SERVICES_LIB) .
        cd $(GOOGLE_PLAY_SERVICES_LIB) && $(SDK)/tools/android update project --target $(SDK_TARGET) --path .
 
-$(SRC_DIR)/BuildInfo.java: $(SRC)
+$(JAVA_SRC_DIR)/BuildInfo.java: $(filter-out $(JAVA_SRC_DIR)/BuildInfo.java,$(shell echo $(JAVA_SRC)))
        ./buildinfo.sh
 
+$(DRAWABLE_DIR)/%.png: ../icon/%.png
+       cd $(DRAWABLE_DIR) && ln -sf $(shell echo $(DRAWABLE_DIR) | sed 's|[^/]\+|..|g')/$< .
+
 if ANDROID
 install-release: bin/AltosDroid-release.apk
        $(ADB) install -r bin/AltosDroid-release.apk
@@ -61,22 +78,35 @@ bin/AltosDroid-debug.apk: $(SRC) $(ALTOSLIB) $(SUPPORT_V4) $(GOOGLE_PLAY_SERVICE
 bin/AltosDroid-release-unsigned.apk: $(SRC) $(ALTOSLIB) $(SUPPORT_V4) $(GOOGLE_PLAY_SERVICES_LIB)
        ant release
 
-sign:
-       jarsigner -keystore release.keystore \
+bin/AltosDroid-release.apk: bin/AltosDroid-release-unsigned.apk
+       jarsigner -sigalg SHA1withDSA -digestalg SHA1 \
+          -keystore ~/altusmetrumllc/google-play-release.keystore \
+          -storepass:file ~/altusmetrumllc/google-play-passphrase \
           -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
-
-clean: $(GOOGLE_PLAY_SERVICES_LIB)
+       if [ -f $(ZIPALIGN_A) ]; then \
+               $(ZIPALIGN_A) -f 4 \
+                  bin/AltosDroid-release-signed.apk \
+                  bin/AltosDroid-release.apk; \
+       else \
+               $(ZIPALIGN_B) -f 4 \
+                  bin/AltosDroid-release-signed.apk \
+                  bin/AltosDroid-release.apk; \
+       fi
+
+release: bin/AltosDroid-release.apk
+
+clean-local: $(GOOGLE_PLAY_SERVICES_LIB)
        ant clean
+       rm -f $(JAVA_SRC_DIR)/BuildInfo.java
+       rm -f $(DRAWABLES)
        rm -rf $(EXT_LIBDIR)
        rm -rf $(GOOGLE_PLAY_SERVICES_LIB)
 
 else
 
-clean:
+clean-local:
 
 endif
 
+clean: clean-local