1#
2# Copyright (C) 2008 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16ifeq (,$(PRODUCT_MINIMIZE_JAVA_DEBUG_INFO))
17
18LOCAL_PATH := $(my-dir)
19include $(CLEAR_VARS)
20
21#
22# Define rules to build temp_layoutlib.jar, which contains a subset of
23# the classes in framework.jar.  The layoutlib_create tool is used to
24# transform the framework jar into the temp_layoutlib jar.
25#
26
27# We need to process the framework classes.jar file, but we can't
28# depend directly on it (private vars won't be inherited correctly).
29# So, we depend on framework's BUILT file.
30built_framework_dep := $(call java-lib-deps,framework)
31built_framework_classes := $(call java-lib-files,framework)
32
33built_core_dep := $(call java-lib-deps,core-libart)
34built_core_classes := $(call java-lib-files,core-libart)
35
36built_ext_dep := $(call java-lib-deps,ext)
37built_ext_classes := $(call java-lib-files,ext)
38
39built_icudata_dep := $(call java-lib-deps,icu4j-icudata-jarjar,HOST)
40built_icutzdata_dep := $(call java-lib-deps,icu4j-icutzdata-jarjar,HOST)
41
42built_layoutlib_create_jar := $(call java-lib-files,layoutlib_create,HOST)
43
44# This is mostly a copy of config/host_java_library.mk
45LOCAL_MODULE := temp_layoutlib
46LOCAL_MODULE_CLASS := JAVA_LIBRARIES
47LOCAL_MODULE_SUFFIX := $(COMMON_JAVA_PACKAGE_SUFFIX)
48LOCAL_IS_HOST_MODULE := true
49LOCAL_BUILT_MODULE_STEM := classes.jar
50
51#######################################
52include $(BUILD_SYSTEM)/base_rules.mk
53#######################################
54
55$(LOCAL_BUILT_MODULE): $(built_core_dep) \
56                       $(built_framework_dep) \
57                       $(built_ext_dep) \
58		               $(built_icudata_dep) \
59		               $(built_icutzdata_dep) \
60                       $(built_layoutlib_create_jar)
61	$(hide) echo "host layoutlib_create: $@"
62	$(hide) mkdir -p $(dir $@)
63	$(hide) rm -f $@
64	$(hide) ls -l $(built_framework_classes)
65	$(hide) java -ea -jar $(built_layoutlib_create_jar) \
66		     --create-stub \
67	             $@ \
68	             $(built_core_classes) \
69	             $(built_framework_classes) \
70	             $(built_ext_classes) \
71		         $(built_icudata_dep) \
72		         $(built_icutzdata_dep) \
73	             $(built_ext_data)
74	$(hide) ls -l $(built_framework_classes)
75
76
77my_link_type := java
78my_warn_types :=
79my_allowed_types :=
80my_link_deps :=
81my_2nd_arch_prefix :=
82my_common := COMMON
83include $(BUILD_SYSTEM)/link_type.mk
84
85#
86# Include the subdir makefiles.
87#
88include $(call all-makefiles-under,$(LOCAL_PATH))
89
90endif
91