Chromium Code Reviews| 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 |