summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile48
1 files changed, 42 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index 577fe1b..ac07661 100644
--- a/Makefile
+++ b/Makefile
@@ -1,15 +1,31 @@
SDK=/home/keithp/src/android/android-sdk-linux
+
DX=$(SDK)/platform-tools/dx
ADB=$(SDK)/platform-tools/adb
+AAPT=$(SDK)/platform-tools/aapt
+APKBUILDER=$(SDK)/tools/apkbuilder
+ZIPALIGN=$(SDK)/tools/zipalign
+
PLATFORM=$(SDK)/platforms/android-10
+PLATFORM_JAR=$(PLATFORM)/android.jar
+ADDONS=$(SDK)/add-ons/addon-google_apis-google_inc_-10/libs
TOOLS_LIB=$(SDK)/tools/lib
CLASSPATH=".:$(PLATFORM)/*:$(TOOLS_LIB)/*"
CLASSES=classes
-CLASSPATH_ENV=mkdir $(CLASSES); CLASSPATH=$(CLASSPATH)
SRC_DIR=src/org/altusmetrum/AltosDroid
GEN_DIR=gen/org/altusmetrum/AltosDroid
JAVAC=javac
-JAVACFLAGS=-d $(CLASSES)
+BOOTCLASSPATH=$(PLATFORM_JAR):$(ADDONS)/usb.jar:$(ADDONS)/maps.jar
+
+JAVACFLAGS=\
+ -d $(CLASSES) \
+ -classpath $(CLASSES):. \
+ -sourcepath src:gen \
+ -target 1.5 \
+ -bootclasspath $(BOOTCLASSPATH) \
+ -encoding UTF-8 \
+ -g \
+ -source 1.5
SRC=\
$(SRC_DIR)/AltosDroid.java \
@@ -20,11 +36,31 @@ SRC=\
all: class.stamp AltosDroid.apk
class.stamp: $(SRC)
- $(CLASSPATH_ENV) $(JAVAC) $(JAVACFLAGS) $(SRC) && touch class.stamp
+ $(JAVAC) $(JAVACFLAGS) $(SRC) && touch $@
-AltosDroid.apk: class.stamp
- $(DX) --dex --verbose --output=$@ AndroidManifest.xml $(CLASSES) && \
- jarsigner -keystore ./keystore -storepass altusmetrum $@ bob
+AltosDroid.dex: class.stamp
+ $(DX) --dex --verbose --output=$@ $(CLASSES)
+
+AltosDroid.apk: AltosDroid.dex
+ $(APKBUILDER) "$@" -u -f AltosDroid.dex
install: AltosDroid.apk
$(ADB) -e install -r AltosDroid.apk
+
+$(GEN_DIR)/R.java: resources.stamp
+
+resources.stamp: Makefile
+ mkdir -p bin/res
+ $(AAPT) package -f -m -M AndroidManifest.xml -S bin/res -S res -I $(PLATFORM_JAR) -J gen --generate-dependencies && touch $@
+
+dex.stamp: Makefile class.stamp
+ $(DX) --dex --output bin/classes.dex bin/classes && touch $@
+
+crunch.stamp: Makefile dex.stamp
+ $(AAPT) crunch -v -S res -C bin/res
+
+package.stamp: Makefile crunch.stamp
+ $(AAPT) package --no-crunch -f --debug-mode -M AndroidManifest.xml -S bin/res -S res -A assets -I $(PLATFORM_JAR) -F bin/activity.ap_ --generate-dependencies && touch $@
+
+align.stamp: Makefile package.stamp
+ $(ZIPALIGN) -f 4 bin/activity-debug-unaligned.apk bin/activity-debug.apk \ No newline at end of file