summaryrefslogtreecommitdiffstats
path: root/rootdir
diff options
context:
space:
mode:
authorDaniel Rosenberg <drosen@google.com>2015-10-28 13:13:37 -0700
committerDaniel Rosenberg <drosen@google.com>2015-11-02 12:47:46 -0800
commit52b59159458a574e11f03940840d63feeb648883 (patch)
treeb48161461171158760c780ad66ddc948836ae953 /rootdir
parent46776e7423c9a4a7ed5f52def545feee4c31297c (diff)
downloadcore-52b59159458a574e11f03940840d63feeb648883.tar.gz
core-52b59159458a574e11f03940840d63feeb648883.tar.bz2
core-52b59159458a574e11f03940840d63feeb648883.zip
rootdir: Allow board specific folders and symlinks in root directory
Building without ramdisk requires a way to specify board specific directoryies and symlinks in the root directory at build time. Change-Id: I11301e98228bc4761f3aee177a546146651b9f25 (cherry picked from commit d7549c9a65cad886f672af41f5fca6f0bd0c12fa)
Diffstat (limited to 'rootdir')
-rw-r--r--rootdir/Android.mk16
1 files changed, 10 insertions, 6 deletions
diff --git a/rootdir/Android.mk b/rootdir/Android.mk
index 8b1699634..b134f9353 100644
--- a/rootdir/Android.mk
+++ b/rootdir/Android.mk
@@ -41,17 +41,21 @@ endif
# because init.rc is conditionally included.
#
# create some directories (some are mount points) and symlinks
-local_post_install_cmd_base := mkdir -p $(addprefix $(TARGET_ROOT_OUT)/, \
- sbin dev proc sys system data oem acct cache config storage mnt root); \
+LOCAL_POST_INSTALL_CMD := mkdir -p $(addprefix $(TARGET_ROOT_OUT)/, \
+ sbin dev proc sys system data oem acct cache config storage mnt root $(BOARD_ROOT_EXTRA_FOLDERS)); \
ln -sf /system/etc $(TARGET_ROOT_OUT)/etc; \
ln -sf /sys/kernel/debug $(TARGET_ROOT_OUT)/d; \
ln -sf /storage/self/primary $(TARGET_ROOT_OUT)/sdcard
ifdef BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE
- LOCAL_POST_INSTALL_CMD := $(local_post_install_cmd_base); mkdir -p $(TARGET_ROOT_OUT)/vendor
-else
- LOCAL_POST_INSTALL_CMD := $(local_post_install_cmd_base)
+ LOCAL_POST_INSTALL_CMD += ; mkdir -p $(TARGET_ROOT_OUT)/vendor
+endif
+ifdef BOARD_ROOT_EXTRA_SYMLINKS
+# BOARD_ROOT_EXTRA_SYMLINKS is a list of <target>:<link_name>.
+ LOCAL_POST_INSTALL_CMD += $(foreach s, $(BOARD_ROOT_EXTRA_SYMLINKS),\
+ $(eval p := $(subst :,$(space),$(s)))\
+ ; mkdir -p $(dir $(TARGET_ROOT_OUT)/$(word 2,$(p))) \
+ ; ln -sf $(word 1,$(p)) $(TARGET_ROOT_OUT)/$(word 2,$(p)))
endif
-local_post_install_cmd_base :=
include $(BUILD_SYSTEM)/base_rules.mk