]> Pileus Git - ~andy/spades/blobdiff - makefile
Change Exit to Quit and return to home screen
[~andy/spades] / makefile
index 0e800dcca1c57b1ccab160ab387ade52e8e9fb28..80dbcdac21897702062577ebc06bdd5a4d7a3977 100644 (file)
--- a/makefile
+++ b/makefile
@@ -1,7 +1,9 @@
+-include config.mk
+
 # Settings
-ANDROID := /opt/android-sdk-update-manager/platforms/android-10/android.jar
-PACKAGE := org.pileus.spades
-OUTPUT  := bin/Spades.apk
+ANDROID ?= /opt/android-sdk-update-manager/platforms/android-10/android.jar
+PACKAGE ?= org.pileus.spades
+OUTPUT  ?= bin/Spades.apk
 
 # Sources
 RES     := $(shell find res -name '*.xml')
@@ -14,27 +16,53 @@ OBJ     := $(subst .java,.class,   \
                 $(GEN:gen/%=obj/%))
 
 # Targets
-default: run
+all: $(OUTPUT)
 
 compile: $(OBJ)
 
-debug: $(OUTPUT)
-
 clean:
        rm -rf bin gen obj
 
+# ADB targets
 logcat:
-       adb logcat Spades:D '*:S'
+       adb logcat Spades: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: $(OUTPUT)
-       adb uninstall $(PACKAGE)
        adb install -r $+
        touch bin/install.stamp
 
+uninstall:
+       adb uninstall $(PACKAGE)
+       rm bin/install.stamp
+
+# 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
 %.apk: %.dex %.res | bin
        @echo "APK    $@.in"
@@ -56,7 +84,7 @@ install bin/install.stamp: $(OUTPUT)
 
 $(OBJ): $(SRC) $(GEN) | obj
        @echo "JAVAC  $@"
-       @javac -g                         \
+       @javac -g -Xlint:unchecked        \
                -bootclasspath $(ANDROID) \
                -encoding      UTF-8      \
                -source        1.5        \
@@ -66,6 +94,11 @@ $(OBJ): $(SRC) $(GEN) | 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)             \
@@ -76,3 +109,6 @@ $(GEN): AndroidManifest.xml $(RES) | gen
 # Directories
 bin gen obj:
        @mkdir -p $@
+
+# Use parallel javac instead
+.NOTPARALLEL: