Home | History | Annotate | Download | only in core
      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
    105