diff --git a/core/link_type.mk b/core/link_type.mk index ff525cb040..f7604ff4af 100644 --- a/core/link_type.mk +++ b/core/link_type.mk @@ -10,7 +10,7 @@ # my_link_deps: the dependencies, in the form of : # -my_link_prefix := LINK_TYPE:$(call find-idf-prefix,$(my_kind),$(my_host_cross)):$(if $(my_common),$(my_common):_,_:$(if $(my_2nd_arch_prefix),$(my_2nd_arch_prefix),_)) +my_link_prefix := LINK_TYPE:$(call find-idf-prefix,$(my_kind),$(my_host_cross))$(if $(filter AUX,$(my_kind)),-$(AUX_OS_VARIANT)):$(if $(my_common),$(my_common):_,_:$(if $(my_2nd_arch_prefix),$(my_2nd_arch_prefix),_)) link_type := $(my_link_prefix):$(LOCAL_MODULE_CLASS):$(LOCAL_MODULE) ALL_LINK_TYPES := $(ALL_LINK_TYPES) $(link_type) $(link_type).TYPE := $(my_link_type) diff --git a/core/main.mk b/core/main.mk index 3161cc7d7e..ef690e0209 100644 --- a/core/main.mk +++ b/core/main.mk @@ -597,7 +597,7 @@ add-required-deps := # - TARGET # - HOST # - HOST_CROSS -# - AUX +# - AUX- # 3: Whether to use the common intermediates directory or not # - _ # - COMMON @@ -624,9 +624,15 @@ add-required-deps := link_type_error := -define link-type-prefix +define link-type-prefix-base $(word 2,$(subst :,$(space),$(1))) endef +define link-type-prefix +$(if $(filter AUX-%,$(link-type-prefix-base)),$(patsubst AUX-%,AUX,$(link-type-prefix-base)),$(link-type-prefix-base)) +endef +define link-type-aux-variant +$(if $(filter AUX-%,$(link-type-prefix-base)),$(patsubst AUX-%,%,$(link-type-prefix-base))) +endef define link-type-common $(patsubst _,,$(word 3,$(subst :,$(space),$(1)))) endef @@ -717,7 +723,11 @@ endif # 2. The jni_link_type rule for embedded native code # 3. The 2ND_jni_link_type for the second architecture native code define link-type-file -$(call intermediates-dir-for,$(link-type-class),$(link-type-name),$(filter AUX HOST HOST_CROSS,$(link-type-prefix)),$(link-type-common),$(link-type-2ndarchprefix),$(filter HOST_CROSS,$(link-type-prefix)))/$(if $(filter APPS,$(link-type-class)),$(if $(link-type-common),,$(link-type-2ndarchprefix)jni_))link_type +$(eval _ltf_aux_variant:=$(link-type-aux-variant))\ +$(if $(_ltf_aux_variant),$(call aux-variant-load-env,$(_ltf_aux_variant)))\ +$(call intermediates-dir-for,$(link-type-class),$(link-type-name),$(filter AUX HOST HOST_CROSS,$(link-type-prefix)),$(link-type-common),$(link-type-2ndarchprefix),$(filter HOST_CROSS,$(link-type-prefix)))/$(if $(filter APPS,$(link-type-class)),$(if $(link-type-common),,$(link-type-2ndarchprefix)jni_))link_type\ +$(if $(_ltf_aux_variant),$(call aux-variant-load-env,none))\ +$(eval _ltf_aux_variant:=) endef # Write out the file-based link_type rules for the ALLOW_MISSING_DEPENDENCIES