summaryrefslogtreecommitdiffstats
path: root/Android.mk
diff options
context:
space:
mode:
Diffstat (limited to 'Android.mk')
-rw-r--r--Android.mk37
1 files changed, 25 insertions, 12 deletions
diff --git a/Android.mk b/Android.mk
index aaeed5c..a4ce729 100644
--- a/Android.mk
+++ b/Android.mk
@@ -3,26 +3,39 @@
# found in the LICENSE file.
# This Android makefile is used to build WebView in the Android build system.
-# gyp autogenerates most of the real makefiles, which we just include here if
-# we are doing a WebView build. For other builds, this makefile does nothing,
-# which prevents the Android build system from mistakenly loading any other
-# Android.mk that may exist in the Chromium tree.
+# gyp autogenerates most of the real makefiles, which we include below.
-CHROMIUM_DIR := $(call my-dir)
-
-# Assume that if the gyp autogenerated makefile exists, we are doing the
-# WebView build using the Android build system.
-ifneq (,$(wildcard $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_ARCH).mk))
-
-# Don't include anything if the product is using a prebuilt webviewchromium.
+# Don't do anything if the product is using a prebuilt webviewchromium, to avoid
+# duplicate target definitions between this directory and the prebuilts.
ifneq ($(PRODUCT_PREBUILT_WEBVIEWCHROMIUM),yes)
+CHROMIUM_DIR := $(call my-dir)
+
# We default to release for the Android build system. Developers working on
# WebView code can build with "make GYP_CONFIGURATION=Debug".
GYP_CONFIGURATION := Release
-include $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_ARCH).mk
+# Include the manually-written makefile that builds all the WebView java code.
include $(CHROMIUM_DIR)/android_webview/Android.mk
+# If the gyp-generated makefile exists for the current host OS and primary
+# target architecture, we need to include it. If it doesn't exist then just do
+# nothing, since we may not have finished bringing up this architecture yet.
+# We set GYP_VAR_PREFIX to the empty string to indicate that we are building for
+# the primary target architecture.
+ifneq (,$(wildcard $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_ARCH).mk))
+GYP_VAR_PREFIX :=
+include $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_ARCH).mk
+endif
+
+# Do the same check for the secondary architecture; if this doesn't exist then
+# the current target platform probably doesn't have a secondary architecture and
+# we can just do nothing.
+# We set GYP_VAR_PREFIX to $(TARGET_2ND_ARCH_VAR_PREFIX) to indicate that we are
+# building for the secondary target architecture.
+ifneq (,$(wildcard $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_2ND_ARCH).mk))
+GYP_VAR_PREFIX := $(TARGET_2ND_ARCH_VAR_PREFIX)
+include $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_2ND_ARCH).mk
endif
+
endif