summaryrefslogtreecommitdiff
path: root/Makefile
blob: 54680956d8bb349b446dd09b8dce68cd0da6e1f0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
SDK=/home/keithp/src/android/android-sdk-linux
PWD=/home/keithp/src/android/AltosDroid

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=bin/classes
SRC_DIR=src/org/altusmetrum/AltosDroid
GEN_DIR=gen/org/altusmetrum/AltosDroid
JAVAC=javac
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 \
	$(SRC_DIR)/BluetoothChatService.java \
	$(SRC_DIR)/DeviceListActivity.java \
	$(GEN_DIR)/R.java

all: align.stamp

install: AltosDroid.apk
	$(ADB) -e install -r AltosDroid.apk

$(GEN_DIR)/R.java: resources.stamp

resources.stamp: Makefile
	mkdir -p res libs bin bin/res bin/classes gen assets
	$(AAPT) package -f -m -M $(PWD)/AndroidManifest.xml -S $(PWD)/bin/res -S $(PWD)/res -I $(PLATFORM_JAR) -J $(PWD)/gen --generate-dependencies && touch $@

class.stamp: $(SRC)
	$(JAVAC) $(JAVACFLAGS) $(SRC) && 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 $(PWD)/AndroidManifest.xml -S $(PWD)/bin/res -S $(PWD)/res -A $(PWD)/assets -I $(PLATFORM_JAR) -F $(PWD)/bin/activity.ap_ --generate-dependencies && touch $@

align.stamp: Makefile package.stamp
	$(ZIPALIGN) -f 4 bin/activity-debug-unaligned.apk bin/activity-debug.apk && touch $@