github.com/westcoastroms/westcoastroms-build@v0.0.0-20190928114312-2350e5a73030/build/make/core/soong_app_prebuilt.mk (about)

     1  # App prebuilt coming from Soong.
     2  # Extra inputs:
     3  # LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE
     4  
     5  ifneq ($(LOCAL_MODULE_MAKEFILE),$(SOONG_ANDROID_MK))
     6    $(call pretty-error,soong_app_prebuilt.mk may only be used from Soong)
     7  endif
     8  
     9  LOCAL_MODULE_SUFFIX := .apk
    10  LOCAL_BUILT_MODULE_STEM := package.apk
    11  
    12  #######################################
    13  include $(BUILD_SYSTEM)/base_rules.mk
    14  #######################################
    15  
    16  full_classes_jar := $(intermediates.COMMON)/classes.jar
    17  full_classes_pre_proguard_jar := $(intermediates.COMMON)/classes-pre-proguard.jar
    18  full_classes_header_jar := $(intermediates.COMMON)/classes-header.jar
    19  
    20  $(eval $(call copy-one-file,$(LOCAL_SOONG_CLASSES_JAR),$(full_classes_jar)))
    21  $(eval $(call copy-one-file,$(LOCAL_SOONG_CLASSES_JAR),$(full_classes_pre_proguard_jar)))
    22  
    23  ifdef LOCAL_SOONG_JACOCO_REPORT_CLASSES_JAR
    24    $(eval $(call copy-one-file,$(LOCAL_SOONG_JACOCO_REPORT_CLASSES_JAR),\
    25      $(intermediates.COMMON)/jacoco-report-classes.jar))
    26    $(call add-dependency,$(LOCAL_BUILT_MODULE),\
    27      $(intermediates.COMMON)/jacoco-report-classes.jar)
    28  endif
    29  
    30  ifdef LOCAL_SOONG_PROGUARD_DICT
    31    $(eval $(call copy-one-file,$(LOCAL_SOONG_PROGUARD_DICT),\
    32      $(intermediates.COMMON)/proguard_dictionary))
    33    $(call add-dependency,$(LOCAL_BUILT_MODULE),\
    34      $(intermediates.COMMON)/proguard_dictionary)
    35  endif
    36  
    37  ifneq ($(TURBINE_ENABLED),false)
    38  ifdef LOCAL_SOONG_HEADER_JAR
    39  $(eval $(call copy-one-file,$(LOCAL_SOONG_HEADER_JAR),$(full_classes_header_jar)))
    40  else
    41  $(eval $(call copy-one-file,$(full_classes_jar),$(full_classes_header_jar)))
    42  endif
    43  endif # TURBINE_ENABLED != false
    44  
    45  
    46  $(eval $(call copy-one-file,$(LOCAL_PREBUILT_MODULE_FILE),$(LOCAL_BUILT_MODULE)))
    47  
    48  ifdef LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE
    49  resource_export_package := $(intermediates.COMMON)/package-export.apk
    50  resource_export_stamp := $(intermediates.COMMON)/src/R.stamp
    51  
    52  $(resource_export_package): PRIVATE_STAMP := $(resource_export_stamp)
    53  $(resource_export_package): .KATI_IMPLICIT_OUTPUTS := $(resource_export_stamp)
    54  $(resource_export_package): $(LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE)
    55  	@echo "Copy: $$@"
    56  	$(copy-file-to-target)
    57  	touch $(PRIVATE_STAMP)
    58  $(call add-dependency,$(LOCAL_BUILT_MODULE),$(resource_export_package))
    59  
    60  endif # LOCAL_SOONG_RESOURCE_EXPORT_PACKAGE
    61  
    62  java-dex: $(LOCAL_SOONG_DEX_JAR)
    63  
    64  ifdef LOCAL_DEX_PREOPT
    65  # defines built_odex along with rule to install odex
    66  include $(BUILD_SYSTEM)/dex_preopt_odex_install.mk
    67  
    68  $(built_odex): $(LOCAL_SOONG_DEX_JAR)
    69  	$(call dexpreopt-one-file,$<,$@)
    70  endif
    71  
    72  PACKAGES := $(PACKAGES) $(LOCAL_MODULE)
    73  ifdef LOCAL_CERTIFICATE
    74    PACKAGES.$(LOCAL_MODULE).CERTIFICATE := $(LOCAL_CERTIFICATE)
    75    PACKAGES.$(LOCAL_MODULE).PRIVATE_KEY := $(patsubst %.x509.pem,%.pk8,$(LOCAL_CERTIFICATE))
    76  endif
    77  
    78  ifndef LOCAL_IS_HOST_MODULE
    79  ifeq ($(LOCAL_SDK_VERSION),system_current)
    80  my_link_type := java:system
    81  else ifneq ($(LOCAL_SDK_VERSION),)
    82  my_link_type := java:sdk
    83  else
    84  my_link_type := java:platform
    85  endif
    86  # warn/allowed types are both empty because Soong modules can't depend on
    87  # make-defined modules.
    88  my_warn_types :=
    89  my_allowed_types :=
    90  
    91  my_link_deps :=
    92  my_2nd_arch_prefix := $(LOCAL_2ND_ARCH_VAR_PREFIX)
    93  my_common := COMMON
    94  include $(BUILD_SYSTEM)/link_type.mk
    95  endif # !LOCAL_IS_HOST_MODULE
    96  
    97  ifdef LOCAL_SOONG_RRO_DIRS
    98    $(call append_enforce_rro_sources, \
    99        $(my_register_name), \
   100        false, \
   101        $(LOCAL_FULL_MANIFEST_FILE), \
   102        $(LOCAL_EXPORT_PACKAGE_RESOURCES), \
   103        $(LOCAL_SOONG_RRO_DIRS))
   104  endif