Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(134)

Unified Diff: Makefile

Issue 10382121: Add Android cross-compilation support for x86 (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | build/android-arm.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Makefile
===================================================================
--- Makefile (revision 11534)
+++ Makefile (working copy)
@@ -34,7 +34,6 @@
GYPFLAGS ?=
TESTFLAGS ?=
ANDROID_NDK_ROOT ?=
-ANDROID_TOOL_PREFIX = $(ANDROID_NDK_ROOT)/toolchain/bin/arm-linux-androideabi
# Special build flags. Use them like this: "make library=shared"
@@ -103,7 +102,8 @@
# - every combination <arch>.<mode>, e.g. "ia32.release"
# - "native": current host's architecture, release mode
# - any of the above with .check appended, e.g. "ia32.release.check"
-# - "android": cross-compile for Android/ARM (release mode)
+# - "android-arm": cross-compile for Android/ARM (release mode)
+# - "android-ia32": cross-compile for Android/IA32 (release mode)
# - default (no target specified): build all DEFAULT_ARCHES and MODES
# - "check": build all targets and run all tests
# - "<arch>.clean" for any <arch> in ARCHES
@@ -157,17 +157,28 @@
builddir="$(shell pwd)/$(OUTDIR)/$@"
# TODO(jkummerow): add "android.debug" when we need it.
-android android.release: $(OUTDIR)/Makefile.android
- @$(MAKE) -C "$(OUTDIR)" -f Makefile.android \
- CXX="$(ANDROID_TOOL_PREFIX)-g++" \
- AR="$(ANDROID_TOOL_PREFIX)-ar" \
- RANLIB="$(ANDROID_TOOL_PREFIX)-ranlib" \
- CC="$(ANDROID_TOOL_PREFIX)-gcc" \
- LD="$(ANDROID_TOOL_PREFIX)-ld" \
- LINK="$(ANDROID_TOOL_PREFIX)-g++" \
- BUILDTYPE=Release \
- builddir="$(shell pwd)/$(OUTDIR)/android.release"
+android-arm.release: $(OUTDIR)/Makefile-android-arm
+ @$(MAKE) -C "$(OUTDIR)" -f Makefile-android-arm \
+ CXX="$(ANDROID_NDK_ROOT)/toolchain/bin/arm-linux-androideabi-g++" \
+ AR="$(ANDROID_NDK_ROOT)/toolchain/bin/arm-linux-androideabi-ar" \
+ RANLIB="$(ANDROID_NDK_ROOT)/toolchain/bin/arm-linux-androideabi-ranlib" \
+ CC="$(ANDROID_NDK_ROOT)/toolchain/bin/arm-linux-androideabi-gcc" \
+ LD="$(ANDROID_NDK_ROOT)/toolchain/bin/arm-linux-androideabi-ld" \
+ LINK="$(ANDROID_NDK_ROOT)/toolchain/bin/arm-linux-androideabi-g++" \
+ BUILDTYPE=Release \
+ builddir="$(shell pwd)/$(OUTDIR)/android-arm.release"
+android-ia32.release: $(OUTDIR)/Makefile-android-ia32
+ @$(MAKE) -C "$(OUTDIR)" -f Makefile-android-ia32 \
+ CXX="$(ANDROID_NDK_ROOT)/toolchain/bin/i686-android-linux-g++" \
+ AR="$(ANDROID_NDK_ROOT)/toolchain/bin/i686-android-linux-ar" \
+ RANLIB="$(ANDROID_NDK_ROOT)/toolchain/bin/i686-android-linux-ranlib" \
+ CC="$(ANDROID_NDK_ROOT)/toolchain/bin/i686-android-linux-gcc" \
+ LD="$(ANDROID_NDK_ROOT)/toolchain/bin/i686-android-linux-ld" \
+ LINK="$(ANDROID_NDK_ROOT)/toolchain/bin/i686-android-linux-g++" \
+ BUILDTYPE=Release \
+ builddir="$(shell pwd)/$(OUTDIR)/android-ia32.release"
+
# Test targets.
check: all
@tools/test-wrapper-gypbuild.py $(TESTJOBS) --outdir=$(OUTDIR) \
@@ -191,7 +202,7 @@
--arch-and-mode=. $(TESTFLAGS)
# Clean targets. You can clean each architecture individually, or everything.
-$(addsuffix .clean,$(ARCHES)) android.clean:
+$(addsuffix .clean,$(ARCHES)):
rm -f $(OUTDIR)/Makefile.$(basename $@)
rm -rf $(OUTDIR)/$(basename $@).release
rm -rf $(OUTDIR)/$(basename $@).debug
@@ -202,8 +213,18 @@
rm -rf $(OUTDIR)/native
find $(OUTDIR) -regex '.*\(host\|target\).native\.mk' -delete
-clean: $(addsuffix .clean,$(ARCHES)) native.clean android.clean
+android-arm.clean:
+ rm -f $(OUTDIR)/Makefile-android-arm
+ rm -rf $(OUTDIR)/android-arm.release
+ find $(OUTDIR) -regex '.*\(host\|target\)-android-arm\.mk' -delete
+android-ia32.clean:
+ rm -f $(OUTDIR)/Makefile-android-ia32
+ rm -rf $(OUTDIR)/android-ia32.release
+ find $(OUTDIR) -regex '.*\(host\|target\)-android-ia32\.mk' -delete
+
+clean: $(addsuffix .clean,$(ARCHES)) native.clean android-arm.clean android-ia32.clean
+
# GYP file generation targets.
MAKEFILES = $(addprefix $(OUTDIR)/Makefile.,$(ARCHES))
$(MAKEFILES): $(GYPFILES) $(ENVFILE)
@@ -218,14 +239,22 @@
build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
-Ibuild/standalone.gypi --depth=. -S.native $(GYPFLAGS)
-$(OUTDIR)/Makefile.android: $(GYPFILES) $(ENVFILE) build/android.gypi \
+$(OUTDIR)/Makefile-android-arm: $(GYPFILES) $(ENVFILE) build/android-arm.gypi \
must-set-ANDROID_NDK_ROOT
GYP_GENERATORS=make \
- CC="${ANDROID_TOOL_PREFIX}-gcc" \
+ CC="$(ANDROID_NDK_ROOT)/toolchain/bin/arm-linux-androideabi-gcc" \
build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
- -Ibuild/standalone.gypi --depth=. -Ibuild/android.gypi \
- -S.android $(GYPFLAGS)
+ -Ibuild/standalone.gypi --depth=. -Ibuild/android-arm.gypi \
+ -S-android-arm $(GYPFLAGS)
+$(OUTDIR)/Makefile-android-ia32: $(GYPFILES) $(ENVFILE) build/android-ia32.gypi \
+ must-set-ANDROID_NDK_ROOT
+ GYP_GENERATORS=make \
+ CC="$(ANDROID_NDK_ROOT)/toolchain/bin/i686-android-linux-gcc" \
+ build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
+ -Ibuild/standalone.gypi --depth=. -Ibuild/android-ia32.gypi \
+ -S-android-ia32 $(GYPFLAGS)
+
must-set-ANDROID_NDK_ROOT:
ifndef ANDROID_NDK_ROOT
$(error ANDROID_NDK_ROOT is not set)
« no previous file with comments | « no previous file | build/android-arm.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698