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