X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosdroid%2FMakefile.am;h=7fb16404d776cc27a681ee6a87ed7bc183c2b92c;hp=96831b722ba7955a87242bf562e5823df8965f37;hb=65169d0b33ce6651508127a5ca45b6de27616352;hpb=3fe5c2f9fc01258d45c20070e9874d76bc6c8c07 diff --git a/altosdroid/Makefile.am b/altosdroid/Makefile.am index 96831b72..7fb16404 100644 --- a/altosdroid/Makefile.am +++ b/altosdroid/Makefile.am @@ -1,57 +1,96 @@ +DBG_APK=app/build/outputs/apk/debug/app-debug.apk +REL_APK=app/build/outputs/apk/release/app-release.apk + if ANDROID -all_target=bin/AltosDroid-debug.apk bin/AltosDroid-release.apk -clean_command=ant clean +all_target=$(DBG_APK) +if ANDROID_RELEASE +all_target+=$(REL_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 AAPT=$(SDK)/platform-tools/aapt APKBUILDER=$(SDK)/tools/apkbuilder -ZIPALIGN=$(SDK)/tools/zipalign +ZIPALIGN_A=$(SDK)/tools/zipalign +ZIPALIGN_B=$(shell ls $(SDK)/build-tools/*/zipalign | tail -1) -SRC_DIR=src/org/altusmetrum/AltosDroid -EXT_LIBDIR=libs +JAVA_SRC_DIR=app/src/main/java/org/altusmetrum/AltosDroid +EXT_LIBDIR=app/libs +RES_DIR=app/src/main/res +DRAWABLE_DIR=$(RES_DIR)/drawable +LAYOUT_DIR=$(RES_DIR)/layout +MENU_DIR=$(RES_DIR)/menu +VALUES_DIR=$(RES_DIR)/values +XML_DIR=$(RES_DIR)/xml 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)/Dumper.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 + +GRADLEW=JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 bash ./gradlew --no-daemon + +LAYOUTS=$(LAYOUT_DIR)/*.xml +MENUS=$(MENU_DIR)/*.xml +VALUES=$(VALUES_DIR)/*.xml +XMLS=$(XML_DIR)/*.xml app/src/main/AndroidManifest.xml + +RES=$(LAYOUTS) $(MENUS) $(VALUES) $(XMLS) + +SRC=$(JAVA_SRC) $(DRAWABLES) $(RES) all: $(all_target) +.NOTPARALLEL: + $(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) . + cd $(EXT_LIBDIR) && ln -sf $(shell echo $(EXT_LIBDIR) | sed 's|[^/]\+|..|g')/$(ALTOSLIB_SRCDIR)/$(ALTOSLIB_JAR) . + +$(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 +install-release: $(REL_APK) + $(ADB) install -r $(REL_APK) -install-debug: bin/AltosDroid-debug.apk - $(ADB) install -r bin/AltosDroid-debug.apk +install-debug: $(DBG_APK) + $(ADB) install -r $(DBG_APK) -bin/AltosDroid-debug.apk: $(SRC) $(ALTOSLIB) - ant debug +$(DBG_APK): $(SRC) $(ALTOSLIB) + $(GRADLEW) assembleDebug -bin/AltosDroid-release.apk: $(SRC) $(ALTOSLIB) - ant release -endif +$(REL_APK): $(SRC) $(ALTOSLIB) + $(GRADLEW) build + +release: $(REL_APK) + +clean-local: $(GOOGLE_PLAY_SERVICES_LIB) + $(GRADLEW) 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 +clean: clean-local