Chromium Code Reviews| Index: Makefile |
| =================================================================== |
| --- Makefile (revision 12114) |
| +++ 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,7 +120,7 @@ |
| ARCHES = ia32 x64 arm mipsel |
| DEFAULT_ARCHES = ia32 x64 arm |
| MODES = release debug |
| -ANDROID_MODES = android.release android.debug |
| +ANDROID_ARCHES = android_ia32 android_arm |
| # List of files that trigger Makefile regeneration: |
| GYPFILES = build/all.gyp build/common.gypi build/standalone.gypi \ |
| @@ -130,14 +129,18 @@ |
| # Generates all combinations of ARCHES and MODES, e.g. "ia32.release". |
| BUILDS = $(foreach mode,$(MODES),$(addsuffix .$(mode),$(ARCHES))) |
| +ANDROID_BUILDS = $(foreach mode,$(MODES), \ |
| + $(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_BUILDS) $(ANDROID_CHECKS) \ |
| must-set-ANDROID_NDK_ROOT |
| # Target definitions. "all" is the default. |
| @@ -172,19 +175,12 @@ |
| CXX="$(CXX)" LINK="$(LINK)" BUILDTYPE=Release \ |
| builddir="$(shell pwd)/$(OUTDIR)/$@" |
| -android: $(ANDROID_MODES) |
| +$(ANDROID_ARCHES): $(addprefix $$@.,$(MODE)) |
| -$(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++" \ |
| - BUILDTYPE=$(shell echo $(subst .,,$(suffix $@)) | \ |
| - python -c "print raw_input().capitalize()") \ |
| - builddir="$(shell pwd)/$(OUTDIR)/$@" |
| +$(ANDROID_BUILDS): $(GYPFILES) $(ENVFILE) build/android.gypi \ |
| + must-set-ANDROID_NDK_ROOT |
| + @tools/android-build.sh $(basename $@) $(subst .,,$(suffix $@)) \ |
| + $(OUTDIR) $(GYPFLAGS) |
| # Test targets. |
| check: all |
| @@ -204,24 +200,27 @@ |
| @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)): \ |
| + $(addprefix $$(basename $$@).,$(MODES)).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 -f $(OUTDIR)/Makefile.$(basename $@).release |
|
Jakob Kummerow
2012/07/18 11:28:20
We don't actually need to generate these, so we do
|
| + rm -f $(OUTDIR)/Makefile.$(basename $@).debug |
| rm -rf $(OUTDIR)/$(basename $@).release |
| rm -rf $(OUTDIR)/$(basename $@).debug |
| find $(OUTDIR) -regex '.*\(host\|target\).$(basename $@)\.mk' -delete |
| @@ -231,7 +230,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,15 +246,6 @@ |
| build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \ |
| -Ibuild/standalone.gypi --depth=. -S.native $(GYPFLAGS) |
| -$(OUTDIR)/Makefile.android: $(GYPFILES) $(ENVFILE) build/android.gypi \ |
| - must-set-ANDROID_NDK_ROOT |
| - GYP_GENERATORS=make \ |
| - CC="${ANDROID_TOOL_PREFIX}-gcc" \ |
| - CXX="${ANDROID_TOOL_PREFIX}-g++" \ |
| - build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \ |
| - -Ibuild/standalone.gypi --depth=. -Ibuild/android.gypi \ |
| - -S.android $(GYPFLAGS) |
| - |
| must-set-ANDROID_NDK_ROOT: |
| ifndef ANDROID_NDK_ROOT |
| $(error ANDROID_NDK_ROOT is not set) |