| # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # 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 include below. |
| |
| LOCAL_PATH := $(call my-dir) |
| CHROMIUM_DIR := $(LOCAL_PATH) |
| |
| # We default to release for the Android build system. Developers working on |
| # WebView code can build with "make GYP_CONFIGURATION=Debug". |
| GYP_CONFIGURATION := Release |
| |
| # If the product is using a prebuilt libwebviewchromium then we need to skip |
| # including most of the makefiles to avoid duplicate target definitions. Some |
| # targets are still needed, so list their makefiles explicitly. |
| ifeq ($(PRODUCT_PREBUILT_WEBVIEWCHROMIUM),yes) |
| GYP_MAKEFILE_STEMS := \ |
| $(addprefix $(CHROMIUM_DIR)/v8/tools/gyp/, \ |
| generate_trig_table.host \ |
| js2c.host \ |
| mksnapshot.host \ |
| v8_base.host \ |
| v8_libbase.host \ |
| v8_nosnapshot.host \ |
| v8_base.target \ |
| v8_libbase.target \ |
| v8_snapshot.target \ |
| ) \ |
| $(addprefix $(CHROMIUM_DIR)/third_party/icu/, \ |
| icudata.host \ |
| icui18n.host \ |
| icuuc.host \ |
| icui18n.target \ |
| icuuc.target \ |
| system_icu.target \ |
| ) |
| else |
| # Not using a prebuilt; include the manually-written makefile that builds all |
| # the WebView java code, and use the main autogenerated makefile. |
| include $(CHROMIUM_DIR)/android_webview/Android.mk |
| GYP_MAKEFILE_STEMS := $(CHROMIUM_DIR)/GypAndroid |
| endif |
| |
| # 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. |
| ifneq (,$(wildcard $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_ARCH).mk)) |
| |
| # We set GYP_VAR_PREFIX to the empty string to indicate that we are building for |
| # the primary target architecture. |
| GYP_VAR_PREFIX := |
| |
| # If the host is declared as being 64-bit, set the host multilib variables |
| # appropriately to ensure that the host targets are the same "bitness" as the |
| # primary target, which is required by V8. |
| ifeq ($(HOST_IS_64_BIT),true) |
| ifeq ($(TARGET_IS_64_BIT),true) |
| GYP_HOST_VAR_PREFIX := |
| GYP_HOST_MULTILIB := 64 |
| else # Target is 32-bit. |
| GYP_HOST_VAR_PREFIX := $(HOST_2ND_ARCH_VAR_PREFIX) |
| GYP_HOST_MULTILIB := 32 |
| endif |
| endif |
| |
| # Include the appropriate version of each of the makefiles. |
| include $(addsuffix .$(HOST_OS)-$(TARGET_ARCH).mk,$(GYP_MAKEFILE_STEMS)) |
| |
| endif # End primary architecture handling. |
| |
| # 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. |
| ifneq (,$(wildcard $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_2ND_ARCH).mk)) |
| |
| # We set GYP_VAR_PREFIX to $(TARGET_2ND_ARCH_VAR_PREFIX) to indicate that we are |
| # building for the secondary target architecture. |
| GYP_VAR_PREFIX := $(TARGET_2ND_ARCH_VAR_PREFIX) |
| |
| # If the host is declared as being 64-bit, set the host multilib variables |
| # appropriately to ensure that the host targets are the same "bitness" as the |
| # secondary target, which is required by V8. |
| ifeq ($(HOST_IS_64_BIT),true) |
| ifeq ($(2ND_TARGET_IS_64_BIT),true) |
| GYP_HOST_VAR_PREFIX := |
| GYP_HOST_MULTILIB := 64 |
| else # Second target is 32-bit. |
| GYP_HOST_VAR_PREFIX := $(HOST_2ND_ARCH_VAR_PREFIX) |
| GYP_HOST_MULTILIB := 32 |
| endif |
| endif |
| |
| # Include the appropriate version of each of the makefiles. |
| include $(addsuffix .$(HOST_OS)-$(TARGET_2ND_ARCH).mk,$(GYP_MAKEFILE_STEMS)) |
| |
| endif # End secondary architecture handling. |