Index: Makefile |
=================================================================== |
--- Makefile (revision 12101) |
+++ Makefile (working copy) |
@@ -34,7 +34,6 @@ |
GYPFLAGS ?= |
TESTFLAGS ?= |
ANDROID_NDK_ROOT ?= |
-ANDROID_TOOL_PREFIX = $(ANDROID_NDK_ROOT)/toolchain/bin/arm-linux-androideabi |
ANDROID_V8 ?= /data/local/v8 |
# Special build flags. Use them like this: "make library=shared" |
@@ -121,6 +120,7 @@ |
ARCHES = ia32 x64 arm mipsel |
DEFAULT_ARCHES = ia32 x64 arm |
MODES = release debug |
+ANDROID_ARCHES = ia32.android arm.android |
Jakob Kummerow
2012/07/17 16:29:57
Can we swap these around (to "android.ia32")? Just
|
ANDROID_MODES = android.release android.debug |
# List of files that trigger Makefile regeneration: |
@@ -130,14 +130,18 @@ |
# Generates all combinations of ARCHES and MODES, e.g. "ia32.release". |
BUILDS = $(foreach mode,$(MODES),$(addsuffix .$(mode),$(ARCHES))) |
+ANDROID_BUILDS = $(foreach mode,$(suffix $(ANDROID_MODES)), \ |
Jakob Kummerow
2012/07/17 16:29:57
Let's s/$(suffix $(ANDROID_MODES))/$(MODES)/ here
|
+ $(addsuffix $(mode),$(ANDROID_ARCHES))) |
# Generates corresponding test targets, e.g. "ia32.release.check". |
CHECKS = $(addsuffix .check,$(BUILDS)) |
+ANDROID_CHECKS = $(addsuffix .check,$(ANDROID_BUILDS)) |
# File where previously used GYPFLAGS are stored. |
ENVFILE = $(OUTDIR)/environment |
.PHONY: all check clean dependencies $(ENVFILE).new native \ |
$(ARCHES) $(MODES) $(BUILDS) $(CHECKS) $(addsuffix .clean,$(ARCHES)) \ |
$(addsuffix .check,$(MODES)) $(addsuffix .check,$(ARCHES)) \ |
+ $(ANDROID_ARCHES) $(ANDROID_BUILD) $(ANDROID_CHECKS) \ |
Jakob Kummerow
2012/07/17 16:29:57
s/ANDROID_BUILD/ANDROID_BUILDS/
|
must-set-ANDROID_NDK_ROOT |
# Target definitions. "all" is the default. |
@@ -172,16 +176,16 @@ |
CXX="$(CXX)" LINK="$(LINK)" BUILDTYPE=Release \ |
builddir="$(shell pwd)/$(OUTDIR)/$@" |
-android: $(ANDROID_MODES) |
+$(ANDROID_ARCHES): $(addprefix $$@,$(suffix $(ANDROID_MODES))) |
Jakob Kummerow
2012/07/17 16:29:57
Again, s/$(suffix $(ANDROID_MODES))/$(MODES)/.
|
-$(ANDROID_MODES): $(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++" \ |
+$(ANDROID_BUILDS): $(OUTDIR)/Makefile.$$(basename $$@) |
+ $(MAKE) -C "$(OUTDIR)" -f Makefile.$(basename $@) \ |
+ CXX="$(shell ls $(ANDROID_TOOLCHAIN)/*-g++)" \ |
+ AR="$(shell ls $(ANDROID_TOOLCHAIN)/*-ar)" \ |
+ RANLIB="$(shell ls $(ANDROID_TOOLCHAIN)/*-ranlib)" \ |
+ CC="$(shell ls $(ANDROID_TOOLCHAIN)/*-gcc)" \ |
+ LD="$(shell ls $(ANDROID_TOOLCHAIN)/*-ld)" \ |
+ LINK="$(shell ls $(ANDROID_TOOLCHAIN)/*-g++)" \ |
BUILDTYPE=$(shell echo $(subst .,,$(suffix $@)) | \ |
python -c "print raw_input().capitalize()") \ |
builddir="$(shell pwd)/$(OUTDIR)/$@" |
@@ -204,23 +208,23 @@ |
@tools/test-wrapper-gypbuild.py $(TESTJOBS) --outdir=$(OUTDIR) \ |
--arch-and-mode=$(basename $@) $(TESTFLAGS) |
-$(addsuffix .sync, $(ANDROID_MODES)): $$(basename $$@) |
+$(addsuffix .sync, $(ANDROID_BUILDS)): $$(basename $$@) |
@tools/android-sync.sh $(basename $@) $(OUTDIR) \ |
$(shell pwd) $(ANDROID_V8) |
-$(addsuffix .check, $(ANDROID_MODES)): $$(basename $$@).sync |
+$(addsuffix .check, $(ANDROID_BUILDS)): $$(basename $$@).sync |
@tools/test-wrapper-gypbuild.py $(TESTJOBS) --outdir=$(OUTDIR) \ |
--arch-and-mode=$(basename $@) \ |
--special-command="tools/android-run.py @" |
-android.check: android.release.check android.debug.check |
- |
+$(addsuffix .check, $(ANDROID_ARCHES)): $$(basename $$@).debug.check \ |
+ $$(basename $$@).release.check |
native.check: native |
@tools/test-wrapper-gypbuild.py $(TESTJOBS) --outdir=$(OUTDIR)/native \ |
--arch-and-mode=. $(TESTFLAGS) |
# Clean targets. You can clean each architecture individually, or everything. |
-$(addsuffix .clean,$(ARCHES)) android.clean: |
+$(addsuffix .clean, $(ARCHES) $(ANDROID_ARCHES)): |
rm -f $(OUTDIR)/Makefile.$(basename $@) |
rm -rf $(OUTDIR)/$(basename $@).release |
rm -rf $(OUTDIR)/$(basename $@).debug |
@@ -231,7 +235,7 @@ |
rm -rf $(OUTDIR)/native |
find $(OUTDIR) -regex '.*\(host\|target\).native\.mk' -delete |
-clean: $(addsuffix .clean,$(ARCHES)) native.clean android.clean |
+clean: $(addsuffix .clean, $(ARCHES) $(ANDROID_ARCHES)) native.clean |
# GYP file generation targets. |
MAKEFILES = $(addprefix $(OUTDIR)/Makefile.,$(ARCHES)) |
@@ -247,14 +251,16 @@ |
build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \ |
-Ibuild/standalone.gypi --depth=. -S.native $(GYPFLAGS) |
-$(OUTDIR)/Makefile.android: $(GYPFILES) $(ENVFILE) build/android.gypi \ |
+ANDROID_MAKEFILES = $(addprefix $(OUTDIR)/Makefile.,$(ANDROID_ARCHES)) |
+$(ANDROID_MAKEFILES): $(GYPFILES) $(ENVFILE) build/android.gypi \ |
must-set-ANDROID_NDK_ROOT |
GYP_GENERATORS=make \ |
- CC="${ANDROID_TOOL_PREFIX}-gcc" \ |
- CXX="${ANDROID_TOOL_PREFIX}-g++" \ |
+ CC="$(shell ls $(ANDROID_TOOLCHAIN)/*-gcc)" \ |
+ CXX="$(shell ls $(ANDROID_TOOLCHAIN)/*-g++)" \ |
build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \ |
-Ibuild/standalone.gypi --depth=. -Ibuild/android.gypi \ |
- -S.android $(GYPFLAGS) |
+ -S$(suffix $(basename $@)).$(subst .,,$(suffix $@)) \ |
Jakob Kummerow
2012/07/17 16:29:57
This line would become simpler if you defined:
AND
|
+ $(GYPFLAGS) |
must-set-ANDROID_NDK_ROOT: |
ifndef ANDROID_NDK_ROOT |