X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosdroid%2FMakefile.am;h=59704aada74d7e7662b1fdf8f40d6702df9e9e98;hp=3b5abfc4c3dde1884e59121c6f3e4e133bb2c309;hb=93d1cedc94358ebf5c2af537a25a242f6c19954c;hpb=d05a77992df983b9fa79f0e2b20d2c6b387c180c diff --git a/altosdroid/Makefile.am b/altosdroid/Makefile.am index 3b5abfc4..59704aad 100644 --- a/altosdroid/Makefile.am +++ b/altosdroid/Makefile.am @@ -1,12 +1,14 @@ if ANDROID -all_target=bin/AltosDroid-debug.apk bin/AltosDroid-release.apk -clean_command=ant clean +all_target=bin/AltosDroid-debug.apk +if ANDROID_RELEASE +all_target+=bin/AltosDroid-release.apk +endif else all_target= -clean_command=echo done endif SDK=$(ANDROID_SDK) +SDK_TARGET=$(shell sed -ne 's/^target=//p' project.properties) DX=$(SDK)/platform-tools/dx ADB=$(SDK)/platform-tools/adb @@ -14,34 +16,54 @@ AAPT=$(SDK)/platform-tools/aapt APKBUILDER=$(SDK)/tools/apkbuilder ZIPALIGN=$(SDK)/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.jar +ALTOSLIB_JAR=altoslib_$(ALTOSLIB_VERSION).jar ALTOSLIB=$(EXT_LIBDIR)/$(ALTOSLIB_JAR) -SRC=\ - $(SRC_DIR)/AltosDroid.java \ - $(SRC_DIR)/AltosDroidPreferences.java \ - $(SRC_DIR)/AltosVoice.java \ - $(SRC_DIR)/TelemetryService.java \ - $(SRC_DIR)/TelemetryReader.java \ - $(SRC_DIR)/TelemetryLogger.java \ - $(SRC_DIR)/AltosBluetooth.java \ - $(SRC_DIR)/DeviceListActivity.java \ - $(SRC_DIR)/BuildInfo.java \ - $(SRC_DIR)/Dumper.java +SUPPORT_V4_SRCDIR=$(SDK)/extras/android/support/v4 +SUPPORT_V4_JAR=android-support-v4.jar + +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 + +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) -$(ALTOSLIB): $(ALTOSLIB_SRCDIR)/$(ALTOSLIB_JAR) +.NOTPARALLEL: + +$(EXT_LIBDIR): mkdir -p $(EXT_LIBDIR) - cd $(EXT_LIBDIR) && ln -s $(shell echo $(EXT_LIBDIR) | sed 's|[^/]\+|..|g')/$(ALTOSLIB_SRCDIR)/$(ALTOSLIB_JAR) . -$(SRC_DIR)/BuildInfo.java: +$(ALTOSLIB): $(EXT_LIBDIR) $(ALTOSLIB_SRCDIR)/$(ALTOSLIB_JAR) + cd $(EXT_LIBDIR) && ln -sf $(shell echo $(EXT_LIBDIR) | sed 's|[^/]\+|..|g')/$(ALTOSLIB_SRCDIR)/$(ALTOSLIB_JAR) . + +$(SUPPORT_V4): $(EXT_LIBDIR) $(SUPPORT_V4_SRCDIR)/$(SUPPORT_V4_JAR) + cd $(EXT_LIBDIR) && ln -sf $(SUPPORT_V4_SRCDIR)/$(SUPPORT_V4_JAR) . + +$(GOOGLE_PLAY_SERVICES_LIB): $(GOOGLE_PLAY_SERVICES_LIB_SRCDIR)/$(GOOGLE_PLAY_SERVICES_LIB) + 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 . + +$(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 @@ -49,23 +71,35 @@ install-release: bin/AltosDroid-release.apk install-debug: bin/AltosDroid-debug.apk $(ADB) install -r bin/AltosDroid-debug.apk -bin/AltosDroid-debug.apk: $(SRC) $(ALTOSLIB) +bin/AltosDroid-debug.apk: $(SRC) $(ALTOSLIB) $(SUPPORT_V4) $(GOOGLE_PLAY_SERVICES_LIB) ant debug -bin/AltosDroid-release.apk: $(SRC) $(ALTOSLIB) +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/release.keystore \ + -storepass:file ~/altusmetrumllc/Passphrase \ -signedjar bin/AltosDroid-release-signed.apk \ bin/AltosDroid-release-unsigned.apk AltosDroid - $(SDK)/tools/zipalign -f 4 \ + $(ZIPALIGN) -f 4 \ bin/AltosDroid-release-signed.apk \ bin/AltosDroid-release.apk -endif +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) -clean: - $(clean_command) +else + +clean-local: + +endif -.PHONY: $(SRC_DIR)/BuildInfo.java +clean: clean-local