1 DBG_APK=app/build/outputs/apk/debug/app-debug.apk
2 REL_APK=app/build/outputs/apk/release/app-release.apk
14 SDK_TARGET=$(shell sed -ne 's/^target=//p' project.properties)
16 DX=$(SDK)/platform-tools/dx
17 ADB=$(SDK)/platform-tools/adb
18 AAPT=$(SDK)/platform-tools/aapt
19 APKBUILDER=$(SDK)/tools/apkbuilder
20 ZIPALIGN_A=$(SDK)/tools/zipalign
21 ZIPALIGN_B=$(shell ls $(SDK)/build-tools/*/zipalign | tail -1)
23 JAVA_SRC_DIR=app/src/main/java/org/altusmetrum/AltosDroid
25 RES_DIR=app/src/main/res
26 DRAWABLE_DIR=$(RES_DIR)/drawable
27 LAYOUT_DIR=$(RES_DIR)/layout
28 MENU_DIR=$(RES_DIR)/menu
29 VALUES_DIR=$(RES_DIR)/values
30 XML_DIR=$(RES_DIR)/xml
31 ALTOSLIB_SRCDIR=../altoslib
32 ALTOSLIB_JAR=altoslib_$(ALTOSLIB_VERSION).jar
34 ALTOSLIB=$(EXT_LIBDIR)/$(ALTOSLIB_JAR)
36 JAVA_SRC=$(JAVA_SRC_DIR)/*.java $(JAVA_SRC_DIR)/BuildInfo.java
39 $(DRAWABLE_DIR)/redled.png \
40 $(DRAWABLE_DIR)/greenled.png \
41 $(DRAWABLE_DIR)/grayled.png
43 GRADLEW=JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 bash ./gradlew --no-daemon
45 LAYOUTS=$(LAYOUT_DIR)/*.xml
46 MENUS=$(MENU_DIR)/*.xml
47 VALUES=$(VALUES_DIR)/*.xml
48 XMLS=$(XML_DIR)/*.xml app/src/main/AndroidManifest.xml
50 RES=$(LAYOUTS) $(MENUS) $(VALUES) $(XMLS)
52 SRC=$(JAVA_SRC) $(DRAWABLES) $(RES)
58 $(ALTOSLIB): $(ALTOSLIB_SRCDIR)/$(ALTOSLIB_JAR)
59 mkdir -p $(EXT_LIBDIR)
60 cd $(EXT_LIBDIR) && ln -sf $(shell echo $(EXT_LIBDIR) | sed 's|[^/]\+|..|g')/$(ALTOSLIB_SRCDIR)/$(ALTOSLIB_JAR) .
62 $(JAVA_SRC_DIR)/BuildInfo.java: $(filter-out $(JAVA_SRC_DIR)/BuildInfo.java,$(shell echo $(JAVA_SRC)))
65 $(DRAWABLE_DIR)/%.png: ../icon/%.png
66 cd $(DRAWABLE_DIR) && ln -sf $(shell echo $(DRAWABLE_DIR) | sed 's|[^/]\+|..|g')/$< .
69 install-release: $(REL_APK)
70 $(ADB) install -r $(REL_APK)
72 install-debug: $(DBG_APK)
73 $(ADB) install -r $(DBG_APK)
75 $(DBG_APK): $(SRC) $(ALTOSLIB)
76 $(GRADLEW) assembleDebug
78 $(REL_APK): $(SRC) $(ALTOSLIB)
83 clean-local: $(GOOGLE_PLAY_SERVICES_LIB)
85 rm -f $(JAVA_SRC_DIR)/BuildInfo.java
88 rm -rf $(GOOGLE_PLAY_SERVICES_LIB)