19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# Copyright (C) 2008 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectLOCAL_PATH := $(my-dir) 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectinclude $(CLEAR_VARS) 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 19f4058c8d6b7d3d36b3ba93eb5996848f8a8412c9Deepanshu GuptaLOCAL_JAVACFLAGS := -source 6 -target 6 20f4058c8d6b7d3d36b3ba93eb5996848f8a8412c9Deepanshu Gupta 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# Define rules to build temp_layoutlib.jar, which contains a subset of 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# the classes in framework.jar. The layoutlib_create tool is used to 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# transform the framework jar into the temp_layoutlib jar. 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# 269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# We need to process the framework classes.jar file, but we can't 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# depend directly on it (private vars won't be inherited correctly). 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# So, we depend on framework's BUILT file. 3088e199045bbe10296124203837b24dea116bf108Ying Wangbuilt_framework_dep := $(call java-lib-deps,framework) 3188e199045bbe10296124203837b24dea116bf108Ying Wangbuilt_framework_classes := $(call java-lib-files,framework) 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 33dbcae5ceb766b0bc65fa819841f9bfab9ae11c2fBrian Carlstrombuilt_core_dep := $(call java-lib-deps,core-libart) 34dbcae5ceb766b0bc65fa819841f9bfab9ae11c2fBrian Carlstrombuilt_core_classes := $(call java-lib-files,core-libart) 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 361f92d7fc0ffa72d7db93244c29a1a6575bb4b318Deepanshu Guptabuilt_ext_dep := $(call java-lib-deps,ext) 371f92d7fc0ffa72d7db93244c29a1a6575bb4b318Deepanshu Guptabuilt_ext_classes := $(call java-lib-files,ext) 3858037a4404e639d28695a0f1c17053b53b96b970Deepanshu Guptabuilt_ext_data := $(call intermediates-dir-for, \ 3958037a4404e639d28695a0f1c17053b53b96b970Deepanshu Gupta JAVA_LIBRARIES,ext,,COMMON)/javalib.jar 401f92d7fc0ffa72d7db93244c29a1a6575bb4b318Deepanshu Gupta 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectbuilt_layoutlib_create_jar := $(call intermediates-dir-for, \ 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project JAVA_LIBRARIES,layoutlib_create,HOST)/javalib.jar 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# This is mostly a copy of config/host_java_library.mk 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectLOCAL_MODULE := temp_layoutlib 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectLOCAL_MODULE_CLASS := JAVA_LIBRARIES 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectLOCAL_MODULE_SUFFIX := $(COMMON_JAVA_PACKAGE_SUFFIX) 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectLOCAL_IS_HOST_MODULE := true 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectLOCAL_BUILT_MODULE_STEM := javalib.jar 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project####################################### 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectinclude $(BUILD_SYSTEM)/base_rules.mk 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project####################################### 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project$(LOCAL_BUILT_MODULE): $(built_core_dep) \ 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project $(built_framework_dep) \ 571f92d7fc0ffa72d7db93244c29a1a6575bb4b318Deepanshu Gupta $(built_ext_dep) \ 58411b9691e39c0bdd0dafdda7db2737b99b45769eDeepanshu Gupta $(built_ext_data) \ 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project $(built_layoutlib_create_jar) 6080a60ba85b5c2ed40e8685a16ce6d3ed31ef0929Joe Onorato $(hide) echo "host layoutlib_create: $@" 6180a60ba85b5c2ed40e8685a16ce6d3ed31ef0929Joe Onorato $(hide) mkdir -p $(dir $@) 6280a60ba85b5c2ed40e8685a16ce6d3ed31ef0929Joe Onorato $(hide) rm -f $@ 6380a60ba85b5c2ed40e8685a16ce6d3ed31ef0929Joe Onorato $(hide) ls -l $(built_framework_classes) 64197d488d5824b2ea2f9e9ee6207a458a6e928e23Deepanshu Gupta $(hide) java -ea -jar $(built_layoutlib_create_jar) \ 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project $@ \ 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project $(built_core_classes) \ 671f92d7fc0ffa72d7db93244c29a1a6575bb4b318Deepanshu Gupta $(built_framework_classes) \ 6858037a4404e639d28695a0f1c17053b53b96b970Deepanshu Gupta $(built_ext_classes) \ 6958037a4404e639d28695a0f1c17053b53b96b970Deepanshu Gupta $(built_ext_data) 7080a60ba85b5c2ed40e8685a16ce6d3ed31ef0929Joe Onorato $(hide) ls -l $(built_framework_classes) 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# Include the subdir makefiles. 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project# 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectinclude $(call all-makefiles-under,$(LOCAL_PATH)) 77