Add support for LOCAL_MODULE_SYMLINKS
Specifying LOCAL_MODULE_SYMLINKS will create symlinks to the installed
module in the same directory.
Change-Id: Idecb2b75f0c9999eb000eed9a79a989244ccf6c2
diff --git a/core/base_rules.mk b/core/base_rules.mk
index a84ea27..8a1c5ee 100644
--- a/core/base_rules.mk
+++ b/core/base_rules.mk
@@ -323,6 +323,9 @@
## Module installation rule
###########################################################
+my_init_rc_installed :=
+my_init_rc_pairs :=
+my_installed_symlinks :=
ifndef LOCAL_UNINSTALLABLE_MODULE
$(LOCAL_INSTALLED_MODULE): PRIVATE_POST_INSTALL_CMD := $(LOCAL_POST_INSTALL_CMD)
$(LOCAL_INSTALLED_MODULE): $(LOCAL_BUILT_MODULE)
@@ -331,8 +334,6 @@
$(PRIVATE_POST_INSTALL_CMD)
# Rule to install the module's companion init.rc.
-my_init_rc_installed :=
-my_init_rc_pairs :=
my_init_rc := $(LOCAL_INIT_RC_$(my_32_64_bit_suffix))
ifneq ($(my_init_rc),)
my_init_rc_pairs += $(LOCAL_PATH)/$(my_init_rc):$(TARGET_OUT$(partition_tag)_ETC)/init/$(notdir $(my_init_rc))
@@ -347,6 +348,12 @@
$(my_register_name) : $(my_init_rc_installed)
endif # my_init_rc_pairs
+
+# Rule to install the module's companion symlinks
+my_installed_symlinks := $(addprefix $(my_module_path)/,$(LOCAL_MODULE_SYMLINKS) $(LOCAL_MODULE_SYMLINKS_$(my_32_64_bit_suffix)))
+$(foreach symlink,$(my_installed_symlinks),\
+ $(call symlink-file,$(LOCAL_INSTALLED_MODULE),$(my_installed_module_stem),$(symlink)))
+
endif # !LOCAL_UNINSTALLABLE_MODULE
###########################################################
@@ -395,7 +402,7 @@
ifneq (true,$(LOCAL_UNINSTALLABLE_MODULE))
ALL_MODULES.$(my_register_name).INSTALLED := \
$(strip $(ALL_MODULES.$(my_register_name).INSTALLED) \
- $(LOCAL_INSTALLED_MODULE) $(my_init_rc_installed))
+ $(LOCAL_INSTALLED_MODULE) $(my_init_rc_installed) $(my_installed_symlinks))
ALL_MODULES.$(my_register_name).BUILT_INSTALLED := \
$(strip $(ALL_MODULES.$(my_register_name).BUILT_INSTALLED) \
$(LOCAL_BUILT_MODULE):$(LOCAL_INSTALLED_MODULE) \