Home | History | Annotate | Download | only in layoutlib
      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 #
     16 LOCAL_PATH := $(my-dir)
     17 include $(CLEAR_VARS)
     18 
     19 #
     20 # Define rules to build temp_layoutlib.jar, which contains a subset of
     21 # the classes in framework.jar.  The layoutlib_create tool is used to
     22 # transform the framework jar into the temp_layoutlib jar.
     23 #
     24 
     25 # We need to process the framework classes.jar file, but we can't
     26 # depend directly on it (private vars won't be inherited correctly).
     27 # So, we depend on framework's BUILT file.
     28 built_framework_dep := $(call java-lib-deps,framework-base)
     29 built_framework_classes := $(call java-lib-files,framework-base)
     30 
     31 built_core_dep := $(call java-lib-deps,core)
     32 built_core_classes := $(call java-lib-files,core)
     33 
     34 built_ext_dep := $(call java-lib-deps,ext)
     35 built_ext_classes := $(call java-lib-files,ext)
     36 built_ext_data := $(call intermediates-dir-for, \
     37 			JAVA_LIBRARIES,ext,,COMMON)/javalib.jar
     38 
     39 built_layoutlib_create_jar := $(call intermediates-dir-for, \
     40 			JAVA_LIBRARIES,layoutlib_create,HOST)/javalib.jar
     41 
     42 # This is mostly a copy of config/host_java_library.mk
     43 LOCAL_MODULE := temp_layoutlib
     44 LOCAL_MODULE_CLASS := JAVA_LIBRARIES
     45 LOCAL_MODULE_SUFFIX := $(COMMON_JAVA_PACKAGE_SUFFIX)
     46 LOCAL_IS_HOST_MODULE := true
     47 LOCAL_BUILT_MODULE_STEM := javalib.jar
     48 
     49 #######################################
     50 include $(BUILD_SYSTEM)/base_rules.mk
     51 #######################################
     52 
     53 $(LOCAL_BUILT_MODULE): $(built_core_dep) \
     54                        $(built_framework_dep) \
     55                        $(built_ext_dep) \
     56                        $(built_layoutlib_create_jar)
     57 	$(hide) echo "host layoutlib_create: $@"
     58 	$(hide) mkdir -p $(dir $@)
     59 	$(hide) rm -f $@
     60 	$(hide) ls -l $(built_framework_classes)
     61 	$(hide) java -jar $(built_layoutlib_create_jar) \
     62 	             $@ \
     63 	             $(built_core_classes) \
     64 	             $(built_framework_classes) \
     65 	             $(built_ext_classes) \
     66 	             $(built_ext_data)
     67 	$(hide) ls -l $(built_framework_classes)
     68 
     69 
     70 #
     71 # Include the subdir makefiles.
     72 #
     73 include $(call all-makefiles-under,$(LOCAL_PATH))
     74