X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=makefile;h=6a8082dbcc97373d09af78245945b85eff8aedb4;hb=6582da310a4a06328cafea1fef228db5676345ce;hp=198e745fd3372708b93208090f8967ac941e4841;hpb=e07b443c888201c4097f9d2ac037cc752a20cdf3;p=~andy%2Fspades diff --git a/makefile b/makefile index 198e745..6a8082d 100644 --- a/makefile +++ b/makefile @@ -1,128 +1,8 @@ --include config.mk - # Settings -PROGRAM ?= Spades -PACKAGE ?= org.pileus.spades -KEYFILE ?= ~/.android/android.p12 -KEYTYPE ?= pkcs12 -KEYNAME ?= android -ANDROID ?= /opt/android-sdk-update-manager/platforms/android-10/android.jar - -# Variables -DIR := $(subst .,/,$(PACKAGE)) -RES := $(wildcard res/*/*.*) -SRC := $(wildcard src/$(DIR)/*.java) -GEN := gen/$(DIR)/R.java -OBJ := obj/$(DIR)/R.class - -# Targets -debug: bin/$(PROGRAM).dbg - -release: bin/$(PROGRAM).apk - -compile: $(OBJ) - -clean: - rm -rf bin gen obj - -# ADB targets -logcat: - adb logcat $(PROGRAM):D AndroidRuntime:E '*:S' - -run: bin/install.stamp - adb shell am start -W \ - -a android.intent.action.MAIN \ - -n $(PACKAGE)/.Main - -install bin/install.stamp: bin/$(PROGRAM).dbg - adb install -r $+ - touch bin/install.stamp - -uninstall: - adb uninstall $(PACKAGE) - rm bin/install.stamp +PROGRAM ?= Spades +ACTIVITY ?= Main +PACKAGE ?= org.pileus.spades -# Graphics targets -graphics: - git checkout graphics -- \ - 'opt/drawable/*.svg' \ - 'opt/drawable/*.xcf' \ - 'res/drawable/*.png' \ - 'res/drawable/*.jpg' \ - || true - git reset HEAD -- \ - 'opt/drawable/*.svg' \ - 'opt/drawable/*.xcf' \ - 'res/drawable/*.png' \ - 'res/drawable/*.jpg' \ - || true - -convert: - for svg in opt/drawable/*.svg; do \ - png=$${svg/svg/png}; \ - png=$${png/opt/res}; \ - rsvg-convert -w 2048 -h 2048 \ - $$svg -o $$png; \ - convert -trim -resize '256x256!' \ - $$png $$png; \ - done - -# Rules -%.dbg: %.dex %.res | bin - @echo "APK $@.in" - @apkbuilder $@.in -f $*.dex -z $*.res - @echo "ALIGN $@" - @zipalign -f 4 $@.in $@ - -%.apk: %.dex %.res | bin - @echo "APKU $@.in" - @apkbuilder $@.in -u -f $*.dex -z $*.res - @echo "SIGN $@.in" - @jarsigner -storetype $(KEYTYPE) \ - -keystore $(KEYFILE) \ - $@.in $(KEYNAME) - @echo "ALIGN $@" - @zipalign -f 4 $@.in $@ - -%.dex: $(OBJ) | bin - @echo "DEX $@ " - @dx --dex --output $@ obj - -%.res: AndroidManifest.xml $(RES) | bin - @echo "RES $@" - @aapt package -f -m \ - -I $(ANDROID) \ - -M AndroidManifest.xml \ - -S res \ - -F $*.res - -$(OBJ): $(SRC) $(GEN) | obj - @echo "JAVAC obj/*.class" - @javac -g -Xlint:unchecked \ - -bootclasspath $(ANDROID) \ - -encoding UTF-8 \ - -source 1.5 \ - -target 1.5 \ - -classpath obj \ - -d obj \ - $+ - -$(GEN): AndroidManifest.xml $(RES) | gen - @if ! [ -d "res/drawable" ]; then \ - echo Please run \ - \'make graphics\'; \ - exit 1; \ - fi - @echo "GEN $@" - @aapt package -f -m \ - -I $(ANDROID) \ - -M AndroidManifest.xml \ - -S res \ - -J gen - -# Directories -bin gen obj: - @mkdir -p $@ - -# Keep intermediate files -.SECONDARY: +# Include common files +-include config.mk +-include common.mk