OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 # This Android makefile is used to build WebView in the Android build system. | 5 # This Android makefile is used to build WebView in the Android build system. |
6 # gyp autogenerates most of the real makefiles, which we include below. | 6 # gyp autogenerates most of the real makefiles, which we include below. |
7 | 7 |
8 # Don't do anything if the product is using a prebuilt webviewchromium, to avoid | 8 LOCAL_PATH := $(call my-dir) |
9 # duplicate target definitions between this directory and the prebuilts. | 9 CHROMIUM_DIR := $(LOCAL_PATH) |
10 ifneq ($(PRODUCT_PREBUILT_WEBVIEWCHROMIUM),yes) | |
11 | |
12 CHROMIUM_DIR := $(call my-dir) | |
13 | 10 |
14 # We default to release for the Android build system. Developers working on | 11 # We default to release for the Android build system. Developers working on |
15 # WebView code can build with "make GYP_CONFIGURATION=Debug". | 12 # WebView code can build with "make GYP_CONFIGURATION=Debug". |
16 GYP_CONFIGURATION := Release | 13 GYP_CONFIGURATION := Release |
17 | 14 |
18 # Include the manually-written makefile that builds all the WebView java code. | 15 # If the product is using a prebuilt libwebviewchromium then we need to skip |
| 16 # including most of the makefiles to avoid duplicate target definitions. Some |
| 17 # targets are still needed, so list their makefiles explicitly. |
| 18 ifeq ($(PRODUCT_PREBUILT_WEBVIEWCHROMIUM),yes) |
| 19 GYP_MAKEFILE_STEMS := \ |
| 20 » $(addprefix $(CHROMIUM_DIR)/v8/tools/gyp/, \ |
| 21 » » generate_trig_table.host \ |
| 22 » » js2c.host \ |
| 23 » » mksnapshot.host \ |
| 24 » » v8_base.host \ |
| 25 » » v8_libbase.host \ |
| 26 » » v8_nosnapshot.host \ |
| 27 » » v8_base.target \ |
| 28 » » v8_libbase.target \ |
| 29 » » v8_snapshot.target \ |
| 30 » ) \ |
| 31 » $(addprefix $(CHROMIUM_DIR)/third_party/icu/, \ |
| 32 » » icudata.host \ |
| 33 » » icui18n.host \ |
| 34 » » icuuc.host \ |
| 35 » » icui18n.target \ |
| 36 » » icuuc.target \ |
| 37 » » system_icu.target \ |
| 38 » ) |
| 39 else |
| 40 # Not using a prebuilt; include the manually-written makefile that builds all |
| 41 # the WebView java code, and use the main autogenerated makefile. |
19 include $(CHROMIUM_DIR)/android_webview/Android.mk | 42 include $(CHROMIUM_DIR)/android_webview/Android.mk |
| 43 GYP_MAKEFILE_STEMS := $(CHROMIUM_DIR)/GypAndroid |
| 44 endif |
20 | 45 |
21 # If the gyp-generated makefile exists for the current host OS and primary | 46 # If the gyp-generated makefile exists for the current host OS and primary |
22 # target architecture, we need to include it. If it doesn't exist then just do | 47 # target architecture, we need to include it. If it doesn't exist then just do |
23 # nothing, since we may not have finished bringing up this architecture yet. | 48 # nothing, since we may not have finished bringing up this architecture yet. |
24 ifneq (,$(wildcard $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_ARCH).mk)) | 49 ifneq (,$(wildcard $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_ARCH).mk)) |
25 | 50 |
26 # We set GYP_VAR_PREFIX to the empty string to indicate that we are building for | 51 # We set GYP_VAR_PREFIX to the empty string to indicate that we are building for |
27 # the primary target architecture. | 52 # the primary target architecture. |
28 GYP_VAR_PREFIX := | 53 GYP_VAR_PREFIX := |
29 | 54 |
30 # If the host is declared as being 64-bit, set the host multilib variables | 55 # If the host is declared as being 64-bit, set the host multilib variables |
31 # appropriately to ensure that the host targets are the same "bitness" as the | 56 # appropriately to ensure that the host targets are the same "bitness" as the |
32 # primary target, which is required by V8. | 57 # primary target, which is required by V8. |
33 ifeq ($(HOST_IS_64_BIT),true) | 58 ifeq ($(HOST_IS_64_BIT),true) |
34 ifeq ($(TARGET_IS_64_BIT),true) | 59 ifeq ($(TARGET_IS_64_BIT),true) |
35 GYP_HOST_VAR_PREFIX := | 60 GYP_HOST_VAR_PREFIX := |
36 GYP_HOST_MULTILIB := 64 | 61 GYP_HOST_MULTILIB := 64 |
37 else # Target is 32-bit. | 62 else # Target is 32-bit. |
38 GYP_HOST_VAR_PREFIX := $(HOST_2ND_ARCH_VAR_PREFIX) | 63 GYP_HOST_VAR_PREFIX := $(HOST_2ND_ARCH_VAR_PREFIX) |
39 GYP_HOST_MULTILIB := 32 | 64 GYP_HOST_MULTILIB := 32 |
40 endif | 65 endif |
41 endif | 66 endif |
42 | 67 |
43 include $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_ARCH).mk | 68 # Include the appropriate version of each of the makefiles. |
| 69 include $(addsuffix .$(HOST_OS)-$(TARGET_ARCH).mk,$(GYP_MAKEFILE_STEMS)) |
44 | 70 |
45 endif # End primary architecture handling. | 71 endif # End primary architecture handling. |
46 | 72 |
47 # Do the same check for the secondary architecture; if this doesn't exist then | 73 # Do the same check for the secondary architecture; if this doesn't exist then |
48 # the current target platform probably doesn't have a secondary architecture and | 74 # the current target platform probably doesn't have a secondary architecture and |
49 # we can just do nothing. | 75 # we can just do nothing. |
50 ifneq (,$(wildcard $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_2ND_ARCH).mk)) | 76 ifneq (,$(wildcard $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_2ND_ARCH).mk)) |
51 | 77 |
52 # We set GYP_VAR_PREFIX to $(TARGET_2ND_ARCH_VAR_PREFIX) to indicate that we are | 78 # We set GYP_VAR_PREFIX to $(TARGET_2ND_ARCH_VAR_PREFIX) to indicate that we are |
53 # building for the secondary target architecture. | 79 # building for the secondary target architecture. |
54 GYP_VAR_PREFIX := $(TARGET_2ND_ARCH_VAR_PREFIX) | 80 GYP_VAR_PREFIX := $(TARGET_2ND_ARCH_VAR_PREFIX) |
55 | 81 |
56 # If the host is declared as being 64-bit, set the host multilib variables | 82 # If the host is declared as being 64-bit, set the host multilib variables |
57 # appropriately to ensure that the host targets are the same "bitness" as the | 83 # appropriately to ensure that the host targets are the same "bitness" as the |
58 # secondary target, which is required by V8. | 84 # secondary target, which is required by V8. |
59 ifeq ($(HOST_IS_64_BIT),true) | 85 ifeq ($(HOST_IS_64_BIT),true) |
60 ifeq ($(2ND_TARGET_IS_64_BIT),true) | 86 ifeq ($(2ND_TARGET_IS_64_BIT),true) |
61 GYP_HOST_VAR_PREFIX := | 87 GYP_HOST_VAR_PREFIX := |
62 GYP_HOST_MULTILIB := 64 | 88 GYP_HOST_MULTILIB := 64 |
63 else # Second target is 32-bit. | 89 else # Second target is 32-bit. |
64 GYP_HOST_VAR_PREFIX := $(HOST_2ND_ARCH_VAR_PREFIX) | 90 GYP_HOST_VAR_PREFIX := $(HOST_2ND_ARCH_VAR_PREFIX) |
65 GYP_HOST_MULTILIB := 32 | 91 GYP_HOST_MULTILIB := 32 |
66 endif | 92 endif |
67 endif | 93 endif |
68 | 94 |
69 include $(CHROMIUM_DIR)/GypAndroid.$(HOST_OS)-$(TARGET_2ND_ARCH).mk | 95 # Include the appropriate version of each of the makefiles. |
| 96 include $(addsuffix .$(HOST_OS)-$(TARGET_2ND_ARCH).mk,$(GYP_MAKEFILE_STEMS)) |
70 | 97 |
71 endif # End secondary architecture handling. | 98 endif # End secondary architecture handling. |
72 | |
73 endif | |
OLD | NEW |