fs_config_generator: Add fs_config_(dirs|files)_(vendor|oem|odm)
Add build targets to generate the vendor, oem and odm slices of the fs_config_dirs and fs_config_files targets for each of the respective filesystems, and automatically trigger the individual and enabled partition build objects based as dependents of fs_config_dirs and fs_config_files. Sensitive to the following board definition pairs: BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE BOARD_USES_VENDORIMAGE BOARD_OEMIMAGE_FILE_SYSTEM_TYPE BOARD_USES_OEMIMAGE BOARD_ODMIMAGE_FILE_SYSTEM_TYPE BOARD_USES_ODMIMAGE Which when defined and set means the images are generated for vendor, oem or odm respectively. Test: manually build w/ m 'fs_config_(dirs|files)_(vendor|oem|odm)' and check the expected products, or fails if not pertinent. Test: build for product that produces split to system and vendor and subsequently boots with vendor products correctly configured. Bug: 36071012 Change-Id: I44289a3dd50b7657367c826ad813c671a3de6afc
This commit is contained in:
parent
256d339413
commit
1fd588cfb2
|
@ -113,6 +113,11 @@ LOCAL_C_INCLUDES := $(dir $(my_fs_config_h)) $(dir $(my_gen_oem_aid))
|
|||
|
||||
include $(BUILD_HOST_EXECUTABLE)
|
||||
fs_config_generate_bin := $(LOCAL_INSTALLED_MODULE)
|
||||
# List of all supported vendor, oem and odm Partitions
|
||||
fs_config_generate_extra_partition_list := $(strip \
|
||||
$(if $(BOARD_USES_VENDORIMAGE)$(BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE),vendor) \
|
||||
$(if $(BOARD_USES_OEMIMAGE)$(BOARD_OEMIMAGE_FILE_SYSTEM_TYPE),oem) \
|
||||
$(if $(BOARD_USES_ODMIMAGE)$(BOARD_ODMIMAGE_FILE_SYSTEM_TYPE),odm))
|
||||
|
||||
##################################
|
||||
# Generate the system/etc/fs_config_dirs binary file for the target
|
||||
|
@ -121,10 +126,13 @@ include $(CLEAR_VARS)
|
|||
|
||||
LOCAL_MODULE := fs_config_dirs
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_REQUIRED_MODULES := $(foreach t,$(fs_config_generate_extra_partion_list),$(LOCAL_MODULE)_$(t))
|
||||
include $(BUILD_SYSTEM)/base_rules.mk
|
||||
$(LOCAL_BUILT_MODULE): $(fs_config_generate_bin)
|
||||
@mkdir -p $(dir $@)
|
||||
$< -D -o $@
|
||||
$< -D $(if $(fs_config_generate_extra_partition_list), \
|
||||
-P '$(subst $(space),$(comma),$(addprefix -,$(fs_config_generate_extra_partition_list)))') \
|
||||
-o $@
|
||||
|
||||
##################################
|
||||
# Generate the system/etc/fs_config_files binary file for the target
|
||||
|
@ -133,10 +141,112 @@ include $(CLEAR_VARS)
|
|||
|
||||
LOCAL_MODULE := fs_config_files
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_REQUIRED_MODULES := $(foreach t,$(fs_config_generate_extra_partion_list),$(LOCAL_MODULE)_$(t))
|
||||
include $(BUILD_SYSTEM)/base_rules.mk
|
||||
$(LOCAL_BUILT_MODULE): $(fs_config_generate_bin)
|
||||
@mkdir -p $(dir $@)
|
||||
$< -F -o $@
|
||||
$< -F $(if $(fs_config_generate_extra_partition_list), \
|
||||
-P '$(subst $(space),$(comma),$(addprefix -,$(fs_config_generate_extra_partition_list)))') \
|
||||
-o $@
|
||||
|
||||
ifneq ($(filter vendor,$(fs_config_generate_extra_partition_list)),)
|
||||
##################################
|
||||
# Generate the vendor/etc/fs_config_dirs binary file for the target
|
||||
# Add fs_config_dirs or fs_config_dirs_vendor to PRODUCT_PACKAGES in
|
||||
# the device make file to enable.
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := fs_config_dirs_vendor
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/etc
|
||||
include $(BUILD_SYSTEM)/base_rules.mk
|
||||
$(LOCAL_BUILT_MODULE): $(fs_config_generate_bin)
|
||||
@mkdir -p $(dir $@)
|
||||
$< -D -P vendor -o $@
|
||||
|
||||
##################################
|
||||
# Generate the vendor/etc/fs_config_files binary file for the target
|
||||
# Add fs_config_files or fs_config_files_vendor to PRODUCT_PACKAGES in
|
||||
# the device make file to enable
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := fs_config_files_vendor
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_INSTALLED_MODULE_STEM := fs_config_files
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/etc
|
||||
include $(BUILD_SYSTEM)/base_rules.mk
|
||||
$(LOCAL_BUILT_MODULE): $(fs_config_generate_bin)
|
||||
@mkdir -p $(dir $@)
|
||||
$< -F -P vendor -o $@
|
||||
|
||||
endif
|
||||
|
||||
ifneq ($(filter oem,$(fs_config_generate_extra_partition_list)),)
|
||||
##################################
|
||||
# Generate the oem/etc/fs_config_dirs binary file for the target
|
||||
# Add fs_config_dirs or fs_config_dirs_oem to PRODUCT_PACKAGES in
|
||||
# the device make file to enable
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := fs_config_dirs_oem
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_OEM)/etc
|
||||
include $(BUILD_SYSTEM)/base_rules.mk
|
||||
$(LOCAL_BUILT_MODULE): $(fs_config_generate_bin)
|
||||
@mkdir -p $(dir $@)
|
||||
$< -D -P oem -o $@
|
||||
|
||||
##################################
|
||||
# Generate the oem/etc/fs_config_files binary file for the target
|
||||
# Add fs_config_files or fs_config_files_oem to PRODUCT_PACKAGES in
|
||||
# the device make file to enable
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := fs_config_files_oem
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_INSTALLED_MODULE_STEM := fs_config_files
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_OEM)/etc
|
||||
include $(BUILD_SYSTEM)/base_rules.mk
|
||||
$(LOCAL_BUILT_MODULE): $(fs_config_generate_bin)
|
||||
@mkdir -p $(dir $@)
|
||||
$< -F -P oem -o $@
|
||||
|
||||
endif
|
||||
|
||||
ifneq ($(filter odm,$(fs_config_generate_extra_partition_list)),)
|
||||
##################################
|
||||
# Generate the odm/etc/fs_config_dirs binary file for the target
|
||||
# Add fs_config_dirs or fs_config_dirs_odm to PRODUCT_PACKAGES in
|
||||
# the device make file to enable
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := fs_config_dirs_odm
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_ODM)/etc
|
||||
include $(BUILD_SYSTEM)/base_rules.mk
|
||||
$(LOCAL_BUILT_MODULE): $(fs_config_generate_bin)
|
||||
@mkdir -p $(dir $@)
|
||||
$< -D -P odm -o $@
|
||||
|
||||
##################################
|
||||
# Generate the odm/etc/fs_config_files binary file for the target
|
||||
# Add fs_config_files of fs_config_files_odm to PRODUCT_PACKAGES in
|
||||
# the device make file to enable
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := fs_config_files_odm
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_INSTALLED_MODULE_STEM := fs_config_files
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_ODM)/etc
|
||||
include $(BUILD_SYSTEM)/base_rules.mk
|
||||
$(LOCAL_BUILT_MODULE): $(fs_config_generate_bin)
|
||||
@mkdir -p $(dir $@)
|
||||
$< -F -P odm -o $@
|
||||
|
||||
endif
|
||||
|
||||
# The newer passwd/group targets are only generated if you
|
||||
# use the new TARGET_FS_CONFIG_GEN method.
|
||||
|
|
Loading…
Reference in New Issue