Home | History | Annotate | Download | only in current
      1 #
      2 # Copyright (C) 2014 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 
     17 LOCAL_PATH := $(call my-dir)
     18 
     19 #########################################
     20 # The prebuilt support libraries.
     21 
     22 include $(CLEAR_VARS)
     23 
     24 define define-prebuilt
     25     $(eval tw := $(subst :, ,$(strip $(1)))) \
     26     $(eval include $(CLEAR_VARS)) \
     27     $(eval LOCAL_MODULE := $(word 1,$(tw))) \
     28     $(eval LOCAL_MODULE_TAGS := optional) \
     29     $(eval LOCAL_MODULE_CLASS := JAVA_LIBRARIES) \
     30     $(eval LOCAL_SRC_FILES := $(word 2,$(tw))) \
     31     $(eval LOCAL_UNINSTALLABLE_MODULE := true) \
     32     $(eval LOCAL_SDK_VERSION := current) \
     33     $(eval include $(BUILD_PREBUILT))
     34 endef
     35 
     36 # For apps (unbundled) build, replace the typical
     37 # make target artifacts with prebuilts.
     38 ifneq (,$(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK)))
     39     # Set up prebuilts for Multidex library artifacts.
     40     multidex_jars := \
     41       $(patsubst $(LOCAL_PATH)/%,%,\
     42         $(shell find $(LOCAL_PATH)/multidex -name "*.jar"))
     43     prebuilts := $(foreach jar,$(multidex_jars),\
     44         $(basename $(notdir $(jar))):$(jar))
     45 
     46     # Set up prebuilts for optional libraries. Need to specify them explicitly
     47     # as the target name does not match the JAR name.
     48     prebuilts += \
     49         android.test.base.stubs:optional/android.test.base.jar \
     50         android.test.mock.stubs:optional/android.test.mock.jar \
     51         android.test.runner.stubs:optional/android.test.runner.jar
     52 
     53     $(foreach p,$(prebuilts),\
     54         $(call define-prebuilt,$(p)))
     55 
     56     prebuilts :=
     57 endif  # TARGET_BUILD_APPS not empty or TARGET_BUILD_PDK set to True
     58 
     59 
     60 # Include all Support Library modules as prebuilts.
     61 include $(call all-makefiles-under,$(LOCAL_PATH))
     62