summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2010-09-24 12:03:15 +0000
committerBjörn Stenberg <bjorn@haxx.se>2010-09-24 12:03:15 +0000
commita8ed339ba573e48b82d0fdda348a748e142f803d (patch)
tree0da6f943aa977339b2da6edada5343db7076165a
parent7b68b7e9dc7315818c7c295b8839d6e023d72a2c (diff)
downloadrockbox-a8ed339ba573e48b82d0fdda348a748e142f803d.tar.gz
rockbox-a8ed339ba573e48b82d0fdda348a748e142f803d.tar.bz2
rockbox-a8ed339ba573e48b82d0fdda348a748e142f803d.zip
Minor build script tweaks to make android auto-buildable.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28156 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--android/README20
-rw-r--r--android/android.make11
-rwxr-xr-xtools/configure24
3 files changed, 34 insertions, 21 deletions
diff --git a/android/README b/android/README
index 6c9d2ad4c6..8f0a85cabb 100644
--- a/android/README
+++ b/android/README
@@ -16,22 +16,20 @@ compiling the java files will fail.
* Build instructions
-Use this as your build folder, using '../tools/configure' etc.
- $ ../tools/configure # type 200, then chose A for android and your screen resolution
- $ make
+1. Create a separate build folder. Do not build in this source directory.
+2. Run "../tools/configure". Choose target 200, then chose 'A' for Android
+ and input your screen resolution.
-After the build finished, build the zip file which contains codecs and themes (the binary is a separate file):
- $ make zip
+3. Run "make"
-Once you have the zip, pack it and the binary into the apk
- $ make apk
+4. Run "make zip". This has to be run the first time, and any time themes
+ or plugins have changed. Otherwise you may skip it.
-Side note: You don't necessarily need to recreate the zip once you have it, only if you're unsure or if you know its content changed.
-Not recreating it will save time because it's only unzipped on the device if it's newer than what's on the device
+5. Run "make apk"
-You can install that on your device or emulator with the following command:
- $ $ANDROID_SDK_PATH/tools/adb install -r bin/Rockbox.apk
+6. Optional. Install on your target/emulator, using the following command:
+ "$ANDROID_SDK_PATH/tools/adb install -r rockbox.apk"
[1]: http://developer.android.com/sdk/index.html
diff --git a/android/android.make b/android/android.make
index f611d5d5a1..492c0127cb 100644
--- a/android/android.make
+++ b/android/android.make
@@ -41,11 +41,11 @@ JAVA_SRC := $(wildcard $(ANDROID_DIR)/src/$(PACKAGE_PATH)/*.java)
JAVA_OBJ := $(call java2class,$(subst $(ANDROID)/src/$(PACKAGE_PATH),$(ANDROID)/bin/$(PACKAGE_PATH),$(JAVA_SRC)))
LIBS := $(BINLIB_DIR)/$(BINARY) $(BINLIB_DIR)/libmisc.so
-TEMP_APK := $(BUILDDIR)/bin/_Rockbox.apk
-TEMP_APK2 := $(BUILDDIR)/bin/__Rockbox.apk
+TEMP_APK := $(BUILDDIR)/bin/_rockbox.apk
+TEMP_APK2 := $(BUILDDIR)/bin/__rockbox.apk
DEX := $(BUILDDIR)/bin/classes.dex
AP_ := $(BUILDDIR)/bin/resources.ap_
-APK := $(BUILDDIR)/bin/Rockbox.apk
+APK := $(BUILDDIR)/rockbox.apk
_DIRS := $(BUILDDIR)/___/$(PACKAGE_PATH)
DIRS := $(subst ___,bin,$(_DIRS))
@@ -53,6 +53,8 @@ DIRS += $(subst ___,gen,$(_DIRS))
DIRS += $(subst ___,data,$(_DIRS))
DIRS += $(BUILDDIR)/libs/armeabi
+CLEANOBJS += bin gen libs data
+
$(R_JAVA) $(AP_): $(MANIFEST)
$(call PRINTS,AAPT $(subst $(BUILDDIR)/,,$@))$(AAPT) package -f -m \
-J $(BUILDDIR)/gen -M $(MANIFEST) -S $(ANDROID_DIR)/res \
@@ -106,6 +108,3 @@ $(DIRS):
dirs: $(DIRS)
apk: $(APK)
-
-clean::
- $(SILENT)rm -f $(BUILDDIR)/bin/$(PACKAGE_PATH)/*.class $(R_JAVA) $(TEMP_APK) $(TEMP_APK2) $(APK) $(DEX) $(BUILDDIR)/_rockbox.zip $(AP_) $(LIBS)
diff --git a/tools/configure b/tools/configure
index c7c75a2593..e716439ca2 100755
--- a/tools/configure
+++ b/tools/configure
@@ -53,7 +53,12 @@ prefixtools () {
app_get_platform() {
echo "Select your platform: (S)DL, (A)ndroid (default: Android)"
- choice=`input`
+ if [ -z "$ARG_PLATFORM" ]; then
+ choice=`input`
+ else
+ choice="$APP_PLATFORM"
+ fi
+
case $choice in
s|S*) app_platform="sdl" ;;
*|a|A*) app_platform="android" ;;
@@ -61,10 +66,18 @@ app_get_platform() {
echo "Selected $app_platform platform"
echo "Enter the LCD width (default: 320)"
- app_lcd_width=`input`
+ if [ -z "$ARG_LCDWIDTH" ]; then
+ app_lcd_width=`input`
+ else
+ app_lcd_width=`$ARG_LCDWIDTH`
+ fi
if [ -z "$app_lcd_width" ]; then app_lcd_width="320"; fi
echo "Enter the LCD height (default: 480)"
- app_lcd_height=`input`
+ if [ -z "$ARG_LCDHEIGHT" ]; then
+ app_lcd_height=`input`
+ else
+ app_lcd_height="$ARG_LCDHEIGHT"
+ fi
if [ -z "$app_lcd_height" ]; then app_lcd_height="480"; fi
echo "Selected $app_lcd_width x $app_lcd_height resolution"
@@ -945,6 +958,9 @@ for arg in "$@"; do
--no-ccache) ARG_CCACHE=0;;
--encopts=*) ARG_ENCOPTS=`echo "$arg" | cut -d = -f 2`;;
--language=*) ARG_LANG=`echo "$arg" | cut -d = -f 2`;;
+ --lcdwidth=*) ARG_LCDWIDTH=`echo "$arg" | cut -d = -f 2`;;
+ --lcdheight=*) ARG_LCDHEIGHT=`echo "$arg" | cut -d = -f 2`;;
+ --platform=*) ARG_PLATFORM=`echo "$arg" | cut -d = -f 2`;;
--ram=*) ARG_RAM=`echo "$arg" | cut -d = -f 2`;;
--rbdir=*) ARG_RBDIR=`echo "$arg" | cut -d = -f 2`;;
--target=*) ARG_TARGET=`echo "$arg" | cut -d = -f 2`;;
@@ -956,7 +972,7 @@ for arg in "$@"; do
--no-eabi) ARG_ARM_EABI=0;;
--thumb) ARG_ARM_THUMB=1;;
--no-thumb) ARG_ARM_THUMB=0;;
- --prefix=*) PREFIX=`echo "$arg" | cut -d = -f 2`;;
+ --prefix=*) PREFIX=`echo "$arg" | cut -d = -f 2`;;
--help) help;;
*) err=1; echo "[ERROR] Option '$arg' unsupported";;
esac