1# Copyright (C) 2008 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15LOCAL_PATH := $(call my-dir) 16 17# One can override the default android_filesystem_config.h file by using TARGET_FS_CONFIG_GEN. 18# Set TARGET_FS_CONFIG_GEN to contain a list of intermediate format files 19# for generating the android_filesystem_config.h file. 20# 21# More information can be found in the README 22 23ifneq ($(wildcard $(TARGET_DEVICE_DIR)/android_filesystem_config.h),) 24$(error Using $(TARGET_DEVICE_DIR)/android_filesystem_config.h is deprecated, please use TARGET_FS_CONFIG_GEN instead) 25endif 26 27system_android_filesystem_config := system/core/libcutils/include/private/android_filesystem_config.h 28system_capability_header := bionic/libc/kernel/uapi/linux/capability.h 29 30# Use snapshots if exist 31vendor_android_filesystem_config := $(strip \ 32 $(if $(filter-out current,$(BOARD_VNDK_VERSION)), \ 33 $(SOONG_VENDOR_$(BOARD_VNDK_VERSION)_SNAPSHOT_DIR)/include/$(system_android_filesystem_config))) 34ifeq (,$(wildcard $(vendor_android_filesystem_config))) 35vendor_android_filesystem_config := $(system_android_filesystem_config) 36endif 37 38vendor_capability_header := $(strip \ 39 $(if $(filter-out current,$(BOARD_VNDK_VERSION)), \ 40 $(SOONG_VENDOR_$(BOARD_VNDK_VERSION)_SNAPSHOT_DIR)/include/$(system_capability_header))) 41ifeq (,$(wildcard $(vendor_capability_header))) 42vendor_capability_header := $(system_capability_header) 43endif 44 45# List of supported vendor, oem, odm, vendor_dlkm, odm_dlkm, and system_dlkm Partitions 46fs_config_generate_extra_partition_list := $(strip \ 47 $(if $(BOARD_USES_VENDORIMAGE)$(BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE),vendor) \ 48 $(if $(BOARD_USES_OEMIMAGE)$(BOARD_OEMIMAGE_FILE_SYSTEM_TYPE),oem) \ 49 $(if $(BOARD_USES_ODMIMAGE)$(BOARD_ODMIMAGE_FILE_SYSTEM_TYPE),odm) \ 50 $(if $(BOARD_USES_VENDOR_DLKMIMAGE)$(BOARD_VENDOR_DLKMIMAGE_FILE_SYSTEM_TYPE),vendor_dlkm) \ 51 $(if $(BOARD_USES_ODM_DLKMIMAGE)$(BOARD_ODM_DLKMIMAGE_FILE_SYSTEM_TYPE),odm_dlkm) \ 52 $(if $(BOARD_USES_SYSTEM_DLKMIMAGE)$(BOARD_SYSTEM_DLKMIMAGE_FILE_SYSTEM_TYPE),system_dlkm) \ 53) 54 55################################## 56# Generate the <p>/etc/fs_config_dirs binary files for each partition. 57# Add fs_config_dirs to PRODUCT_PACKAGES in the device make file to enable. 58include $(CLEAR_VARS) 59 60LOCAL_MODULE := fs_config_dirs 61LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 62LOCAL_LICENSE_CONDITIONS := notice 63LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 64LOCAL_REQUIRED_MODULES := \ 65 fs_config_dirs_system \ 66 fs_config_dirs_system_ext \ 67 fs_config_dirs_product \ 68 fs_config_dirs_nonsystem 69include $(BUILD_PHONY_PACKAGE) 70 71################################## 72# Generate the <p>/etc/fs_config_files binary files for each partition. 73# Add fs_config_files to PRODUCT_PACKAGES in the device make file to enable. 74include $(CLEAR_VARS) 75 76LOCAL_MODULE := fs_config_files 77LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 78LOCAL_LICENSE_CONDITIONS := notice 79LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 80LOCAL_REQUIRED_MODULES := \ 81 fs_config_files_system \ 82 fs_config_files_system_ext \ 83 fs_config_files_product \ 84 fs_config_files_nonsystem 85include $(BUILD_PHONY_PACKAGE) 86 87################################## 88# Generate the system_ext/etc/fs_config_dirs binary file for the target if the 89# system_ext partition is generated. Add fs_config_dirs or fs_config_dirs_system_ext 90# to PRODUCT_PACKAGES in the device make file to enable. 91include $(CLEAR_VARS) 92 93LOCAL_MODULE := fs_config_dirs_system_ext 94LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 95LOCAL_LICENSE_CONDITIONS := notice 96LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 97LOCAL_REQUIRED_MODULES := $(if $(BOARD_USES_SYSTEM_EXTIMAGE)$(BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE),_fs_config_dirs_system_ext) 98include $(BUILD_PHONY_PACKAGE) 99 100################################## 101# Generate the system_ext/etc/fs_config_files binary file for the target if the 102# system_ext partition is generated. Add fs_config_files or fs_config_files_system_ext 103# to PRODUCT_PACKAGES in the device make file to enable. 104include $(CLEAR_VARS) 105 106LOCAL_MODULE := fs_config_files_system_ext 107LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 108LOCAL_LICENSE_CONDITIONS := notice 109LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 110LOCAL_REQUIRED_MODULES := $(if $(BOARD_USES_SYSTEM_EXTIMAGE)$(BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE),_fs_config_files_system_ext) 111include $(BUILD_PHONY_PACKAGE) 112 113################################## 114# Generate the product/etc/fs_config_dirs binary file for the target if the 115# product partition is generated. Add fs_config_dirs or fs_config_dirs_product 116# to PRODUCT_PACKAGES in the device make file to enable. 117include $(CLEAR_VARS) 118 119LOCAL_MODULE := fs_config_dirs_product 120LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 121LOCAL_LICENSE_CONDITIONS := notice 122LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 123LOCAL_REQUIRED_MODULES := $(if $(BOARD_USES_PRODUCTIMAGE)$(BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE),_fs_config_dirs_product) 124include $(BUILD_PHONY_PACKAGE) 125 126################################## 127# Generate the product/etc/fs_config_files binary file for the target if the 128# product partition is generated. Add fs_config_files or fs_config_files_product 129# to PRODUCT_PACKAGES in the device make file to enable. 130include $(CLEAR_VARS) 131 132LOCAL_MODULE := fs_config_files_product 133LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 134LOCAL_LICENSE_CONDITIONS := notice 135LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 136LOCAL_REQUIRED_MODULES := $(if $(BOARD_USES_PRODUCTIMAGE)$(BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE),_fs_config_files_product) 137include $(BUILD_PHONY_PACKAGE) 138 139################################## 140# Generate the <p>/etc/fs_config_dirs binary files for all enabled partitions 141# excluding /system, /system_ext and /product. Add fs_config_dirs_nonsystem to 142# PRODUCT_PACKAGES in the device make file to enable. 143include $(CLEAR_VARS) 144 145LOCAL_MODULE := fs_config_dirs_nonsystem 146LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 147LOCAL_LICENSE_CONDITIONS := notice 148LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 149LOCAL_REQUIRED_MODULES := $(foreach t,$(fs_config_generate_extra_partition_list),_fs_config_dirs_$(t)) 150include $(BUILD_PHONY_PACKAGE) 151 152################################## 153# Generate the <p>/etc/fs_config_files binary files for all enabled partitions 154# excluding /system, /system_ext and /product. Add fs_config_files_nonsystem to 155# PRODUCT_PACKAGES in the device make file to enable. 156include $(CLEAR_VARS) 157 158LOCAL_MODULE := fs_config_files_nonsystem 159LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 160LOCAL_LICENSE_CONDITIONS := notice 161LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 162LOCAL_REQUIRED_MODULES := $(foreach t,$(fs_config_generate_extra_partition_list),_fs_config_files_$(t)) 163include $(BUILD_PHONY_PACKAGE) 164 165################################## 166# Generate the system/etc/fs_config_dirs binary file for the target 167# Add fs_config_dirs or fs_config_dirs_system to PRODUCT_PACKAGES in 168# the device make file to enable 169include $(CLEAR_VARS) 170 171LOCAL_MODULE := fs_config_dirs_system 172LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 173LOCAL_LICENSE_CONDITIONS := notice 174LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 175LOCAL_MODULE_CLASS := ETC 176LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs 177include $(BUILD_SYSTEM)/base_rules.mk 178$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config) 179$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header) 180$(LOCAL_BUILT_MODULE): PRIVATE_PARTITION_LIST := $(fs_config_generate_extra_partition_list) 181$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN) 182$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(system_android_filesystem_config) $(system_capability_header) 183 @mkdir -p $(dir $@) 184 $< fsconfig \ 185 --aid-header $(PRIVATE_ANDROID_FS_HDR) \ 186 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \ 187 --partition system \ 188 --all-partitions "$(subst $(space),$(comma),$(PRIVATE_PARTITION_LIST))" \ 189 --dirs \ 190 --out_file $@ \ 191 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null) 192 193################################## 194# Generate the system/etc/fs_config_files binary file for the target 195# Add fs_config_files or fs_config_files_system to PRODUCT_PACKAGES in 196# the device make file to enable 197include $(CLEAR_VARS) 198 199LOCAL_MODULE := fs_config_files_system 200LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 201LOCAL_LICENSE_CONDITIONS := notice 202LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 203LOCAL_MODULE_CLASS := ETC 204LOCAL_INSTALLED_MODULE_STEM := fs_config_files 205include $(BUILD_SYSTEM)/base_rules.mk 206$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config) 207$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header) 208$(LOCAL_BUILT_MODULE): PRIVATE_PARTITION_LIST := $(fs_config_generate_extra_partition_list) 209$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN) 210$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(system_android_filesystem_config) $(system_capability_header) 211 @mkdir -p $(dir $@) 212 $< fsconfig \ 213 --aid-header $(PRIVATE_ANDROID_FS_HDR) \ 214 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \ 215 --partition system \ 216 --all-partitions "$(subst $(space),$(comma),$(PRIVATE_PARTITION_LIST))" \ 217 --files \ 218 --out_file $@ \ 219 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null) 220 221ifneq ($(filter vendor,$(fs_config_generate_extra_partition_list)),) 222################################## 223# Generate the vendor/etc/fs_config_dirs binary file for the target 224# Add fs_config_dirs or fs_config_dirs_nonsystem to PRODUCT_PACKAGES 225# in the device make file to enable 226include $(CLEAR_VARS) 227 228LOCAL_MODULE := _fs_config_dirs_vendor 229LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 230LOCAL_LICENSE_CONDITIONS := notice 231LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 232LOCAL_MODULE_CLASS := ETC 233LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs 234LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/etc 235include $(BUILD_SYSTEM)/base_rules.mk 236$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config) 237$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header) 238$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN) 239$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(vendor_android_filesystem_config) $(vendor_capability_header) 240 @mkdir -p $(dir $@) 241 $< fsconfig \ 242 --aid-header $(PRIVATE_ANDROID_FS_HDR) \ 243 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \ 244 --partition vendor \ 245 --dirs \ 246 --out_file $@ \ 247 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null) 248 249################################## 250# Generate the vendor/etc/fs_config_files binary file for the target 251# Add fs_config_files or fs_config_files_nonsystem to PRODUCT_PACKAGES 252# in the device make file to enable 253include $(CLEAR_VARS) 254 255LOCAL_MODULE := _fs_config_files_vendor 256LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 257LOCAL_LICENSE_CONDITIONS := notice 258LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 259LOCAL_MODULE_CLASS := ETC 260LOCAL_INSTALLED_MODULE_STEM := fs_config_files 261LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/etc 262include $(BUILD_SYSTEM)/base_rules.mk 263$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config) 264$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header) 265$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN) 266$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(vendor_android_filesystem_config) $(vendor_capability_header) 267 @mkdir -p $(dir $@) 268 $< fsconfig \ 269 --aid-header $(PRIVATE_ANDROID_FS_HDR) \ 270 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \ 271 --partition vendor \ 272 --files \ 273 --out_file $@ \ 274 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null) 275 276endif 277 278ifneq ($(filter oem,$(fs_config_generate_extra_partition_list)),) 279################################## 280# Generate the oem/etc/fs_config_dirs binary file for the target 281# Add fs_config_dirs or fs_config_dirs_nonsystem to PRODUCT_PACKAGES 282# in the device make file to enable 283include $(CLEAR_VARS) 284 285LOCAL_MODULE := _fs_config_dirs_oem 286LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 287LOCAL_LICENSE_CONDITIONS := notice 288LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 289LOCAL_MODULE_CLASS := ETC 290LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs 291LOCAL_MODULE_PATH := $(TARGET_OUT_OEM)/etc 292include $(BUILD_SYSTEM)/base_rules.mk 293$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config) 294$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header) 295$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN) 296$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(system_android_filesystem_config) $(system_capability_header) 297 @mkdir -p $(dir $@) 298 $< fsconfig \ 299 --aid-header $(PRIVATE_ANDROID_FS_HDR) \ 300 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \ 301 --partition oem \ 302 --dirs \ 303 --out_file $@ \ 304 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null) 305 306################################## 307# Generate the oem/etc/fs_config_files binary file for the target 308# Add fs_config_files or fs_config_files_nonsystem to PRODUCT_PACKAGES 309# in the device make file to enable 310include $(CLEAR_VARS) 311 312LOCAL_MODULE := _fs_config_files_oem 313LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 314LOCAL_LICENSE_CONDITIONS := notice 315LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 316LOCAL_MODULE_CLASS := ETC 317LOCAL_INSTALLED_MODULE_STEM := fs_config_files 318LOCAL_MODULE_PATH := $(TARGET_OUT_OEM)/etc 319include $(BUILD_SYSTEM)/base_rules.mk 320$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config) 321$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header) 322$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN) 323$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(system_android_filesystem_config) $(system_capability_header) 324 @mkdir -p $(dir $@) 325 $< fsconfig \ 326 --aid-header $(PRIVATE_ANDROID_FS_HDR) \ 327 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \ 328 --partition oem \ 329 --files \ 330 --out_file $@ \ 331 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null) 332 333endif 334 335ifneq ($(filter odm,$(fs_config_generate_extra_partition_list)),) 336################################## 337# Generate the odm/etc/fs_config_dirs binary file for the target 338# Add fs_config_dirs or fs_config_dirs_nonsystem to PRODUCT_PACKAGES 339# in the device make file to enable 340include $(CLEAR_VARS) 341 342LOCAL_MODULE := _fs_config_dirs_odm 343LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 344LOCAL_LICENSE_CONDITIONS := notice 345LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 346LOCAL_MODULE_CLASS := ETC 347LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs 348LOCAL_MODULE_PATH := $(TARGET_OUT_ODM)/etc 349include $(BUILD_SYSTEM)/base_rules.mk 350$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config) 351$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header) 352$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN) 353$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(vendor_android_filesystem_config) $(vendor_capability_header) 354 @mkdir -p $(dir $@) 355 $< fsconfig \ 356 --aid-header $(PRIVATE_ANDROID_FS_HDR) \ 357 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \ 358 --partition odm \ 359 --dirs \ 360 --out_file $@ \ 361 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null) 362 363################################## 364# Generate the odm/etc/fs_config_files binary file for the target 365# Add fs_config_files or fs_config_files_nonsystem to PRODUCT_PACKAGES 366# in the device make file to enable 367include $(CLEAR_VARS) 368 369LOCAL_MODULE := _fs_config_files_odm 370LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 371LOCAL_LICENSE_CONDITIONS := notice 372LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 373LOCAL_MODULE_CLASS := ETC 374LOCAL_INSTALLED_MODULE_STEM := fs_config_files 375LOCAL_MODULE_PATH := $(TARGET_OUT_ODM)/etc 376include $(BUILD_SYSTEM)/base_rules.mk 377$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config) 378$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header) 379$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN) 380$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(vendor_android_filesystem_config) $(vendor_capability_header) 381 @mkdir -p $(dir $@) 382 $< fsconfig \ 383 --aid-header $(PRIVATE_ANDROID_FS_HDR) \ 384 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \ 385 --partition odm \ 386 --files \ 387 --out_file $@ \ 388 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null) 389 390endif 391 392ifneq ($(filter vendor_dlkm,$(fs_config_generate_extra_partition_list)),) 393################################## 394# Generate the vendor_dlkm/etc/fs_config_dirs binary file for the target 395# Add fs_config_dirs or fs_config_dirs_nonsystem to PRODUCT_PACKAGES in 396# the device make file to enable 397include $(CLEAR_VARS) 398 399LOCAL_MODULE := _fs_config_dirs_vendor_dlkm 400LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 401LOCAL_LICENSE_CONDITIONS := notice 402LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 403LOCAL_MODULE_CLASS := ETC 404LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs 405LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_DLKM)/etc 406include $(BUILD_SYSTEM)/base_rules.mk 407$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config) 408$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header) 409$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN) 410$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(vendor_android_filesystem_config) $(vendor_capability_header) 411 @mkdir -p $(dir $@) 412 $< fsconfig \ 413 --aid-header $(PRIVATE_ANDROID_FS_HDR) \ 414 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \ 415 --partition vendor_dlkm \ 416 --dirs \ 417 --out_file $@ \ 418 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null) 419 420################################## 421# Generate the vendor_dlkm/etc/fs_config_files binary file for the target 422# Add fs_config_files or fs_config_files_nonsystem to PRODUCT_PACKAGES in 423# the device make file to enable 424include $(CLEAR_VARS) 425 426LOCAL_MODULE := _fs_config_files_vendor_dlkm 427LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 428LOCAL_LICENSE_CONDITIONS := notice 429LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 430LOCAL_MODULE_CLASS := ETC 431LOCAL_INSTALLED_MODULE_STEM := fs_config_files 432LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_DLKM)/etc 433include $(BUILD_SYSTEM)/base_rules.mk 434$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config) 435$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header) 436$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN) 437$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(vendor_android_filesystem_config) $(vendor_capability_header) 438 @mkdir -p $(dir $@) 439 $< fsconfig \ 440 --aid-header $(PRIVATE_ANDROID_FS_HDR) \ 441 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \ 442 --partition vendor_dlkm \ 443 --files \ 444 --out_file $@ \ 445 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null) 446 447endif 448 449ifneq ($(filter odm_dlkm,$(fs_config_generate_extra_partition_list)),) 450################################## 451# Generate the odm_dlkm/etc/fs_config_dirs binary file for the target 452# Add fs_config_dirs or fs_config_dirs_nonsystem to PRODUCT_PACKAGES 453# in the device make file to enable 454include $(CLEAR_VARS) 455 456LOCAL_MODULE := _fs_config_dirs_odm_dlkm 457LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 458LOCAL_LICENSE_CONDITIONS := notice 459LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 460LOCAL_MODULE_CLASS := ETC 461LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs 462LOCAL_MODULE_PATH := $(TARGET_OUT_ODM_DLKM)/etc 463include $(BUILD_SYSTEM)/base_rules.mk 464$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config) 465$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header) 466$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN) 467$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(vendor_android_filesystem_config) $(vendor_capability_header) 468 @mkdir -p $(dir $@) 469 $< fsconfig \ 470 --aid-header $(PRIVATE_ANDROID_FS_HDR) \ 471 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \ 472 --partition odm_dlkm \ 473 --dirs \ 474 --out_file $@ \ 475 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null) 476 477################################## 478# Generate the odm_dlkm/etc/fs_config_files binary file for the target 479# Add fs_config_files or fs_config_files_nonsystem to PRODUCT_PACKAGES 480# in the device make file to enable 481include $(CLEAR_VARS) 482 483LOCAL_MODULE := _fs_config_files_odm_dlkm 484LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 485LOCAL_LICENSE_CONDITIONS := notice 486LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 487LOCAL_MODULE_CLASS := ETC 488LOCAL_INSTALLED_MODULE_STEM := fs_config_files 489LOCAL_MODULE_PATH := $(TARGET_OUT_ODM_DLKM)/etc 490include $(BUILD_SYSTEM)/base_rules.mk 491$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config) 492$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header) 493$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN) 494$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(vendor_android_filesystem_config) $(vendor_capability_header) 495 @mkdir -p $(dir $@) 496 $< fsconfig \ 497 --aid-header $(PRIVATE_ANDROID_FS_HDR) \ 498 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \ 499 --partition odm_dlkm \ 500 --files \ 501 --out_file $@ \ 502 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null) 503 504endif 505 506ifneq ($(filter system_dlkm,$(fs_config_generate_extra_partition_list)),) 507################################## 508# Generate the system_dlkm/etc/fs_config_dirs binary file for the target 509# Add fs_config_dirs or fs_config_dirs_nonsystem to PRODUCT_PACKAGES 510# in the device make file to enable 511include $(CLEAR_VARS) 512 513LOCAL_MODULE := _fs_config_dirs_system_dlkm 514LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 515LOCAL_LICENSE_CONDITIONS := notice 516LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 517LOCAL_MODULE_CLASS := ETC 518LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs 519LOCAL_MODULE_PATH := $(TARGET_OUT_SYSTEM_DLKM)/etc 520include $(BUILD_SYSTEM)/base_rules.mk 521$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config) 522$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header) 523$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN) 524$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(vendor_android_filesystem_config) $(vendor_capability_header) 525 @mkdir -p $(dir $@) 526 $< fsconfig \ 527 --aid-header $(PRIVATE_ANDROID_FS_HDR) \ 528 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \ 529 --partition system_dlkm \ 530 --dirs \ 531 --out_file $@ \ 532 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null) 533 534################################## 535# Generate the system_dlkm/etc/fs_config_files binary file for the target 536# Add fs_config_files or fs_config_files_nonsystem to PRODUCT_PACKAGES 537# in the device make file to enable 538include $(CLEAR_VARS) 539 540LOCAL_MODULE := _fs_config_files_system_dlkm 541LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 542LOCAL_LICENSE_CONDITIONS := notice 543LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 544LOCAL_MODULE_CLASS := ETC 545LOCAL_INSTALLED_MODULE_STEM := fs_config_files 546LOCAL_MODULE_PATH := $(TARGET_OUT_SYSTEM_DLKM)/etc 547include $(BUILD_SYSTEM)/base_rules.mk 548$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config) 549$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header) 550$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN) 551$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(vendor_android_filesystem_config) $(vendor_capability_header) 552 @mkdir -p $(dir $@) 553 $< fsconfig \ 554 --aid-header $(PRIVATE_ANDROID_FS_HDR) \ 555 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \ 556 --partition system_dlkm \ 557 --files \ 558 --out_file $@ \ 559 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null) 560 561endif 562 563ifneq ($(BOARD_USES_PRODUCTIMAGE)$(BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE),) 564################################## 565# Generate the product/etc/fs_config_dirs binary file for the target 566# Add fs_config_dirs or fs_config_dirs_product to PRODUCT_PACKAGES in 567# the device make file to enable 568include $(CLEAR_VARS) 569 570LOCAL_MODULE := _fs_config_dirs_product 571LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 572LOCAL_LICENSE_CONDITIONS := notice 573LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 574LOCAL_MODULE_CLASS := ETC 575LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs 576LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/etc 577include $(BUILD_SYSTEM)/base_rules.mk 578$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config) 579$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header) 580$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN) 581$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(system_android_filesystem_config) $(system_capability_header) 582 @mkdir -p $(dir $@) 583 $< fsconfig \ 584 --aid-header $(PRIVATE_ANDROID_FS_HDR) \ 585 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \ 586 --partition product \ 587 --dirs \ 588 --out_file $@ \ 589 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null) 590 591################################## 592# Generate the product/etc/fs_config_files binary file for the target 593# Add fs_config_files or fs_config_files_product to PRODUCT_PACKAGES in 594# the device make file to enable 595include $(CLEAR_VARS) 596 597LOCAL_MODULE := _fs_config_files_product 598LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 599LOCAL_LICENSE_CONDITIONS := notice 600LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 601LOCAL_MODULE_CLASS := ETC 602LOCAL_INSTALLED_MODULE_STEM := fs_config_files 603LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/etc 604include $(BUILD_SYSTEM)/base_rules.mk 605$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config) 606$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header) 607$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN) 608$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(system_android_filesystem_config) $(system_capability_header) 609 @mkdir -p $(dir $@) 610 $< fsconfig \ 611 --aid-header $(PRIVATE_ANDROID_FS_HDR) \ 612 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \ 613 --partition product \ 614 --files \ 615 --out_file $@ \ 616 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null) 617endif 618 619ifneq ($(BOARD_USES_SYSTEM_EXTIMAGE)$(BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE),) 620################################## 621# Generate the system_ext/etc/fs_config_dirs binary file for the target 622# Add fs_config_dirs or fs_config_dirs_system_ext to PRODUCT_PACKAGES in 623# the device make file to enable 624include $(CLEAR_VARS) 625 626LOCAL_MODULE := _fs_config_dirs_system_ext 627LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 628LOCAL_LICENSE_CONDITIONS := notice 629LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 630LOCAL_MODULE_CLASS := ETC 631LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs 632LOCAL_MODULE_PATH := $(TARGET_OUT_SYSTEM_EXT)/etc 633include $(BUILD_SYSTEM)/base_rules.mk 634$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config) 635$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header) 636$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN) 637$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(system_android_filesystem_config) $(system_capability_header) 638 @mkdir -p $(dir $@) 639 $< fsconfig \ 640 --aid-header $(PRIVATE_ANDROID_FS_HDR) \ 641 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \ 642 --partition system_ext \ 643 --dirs \ 644 --out_file $@ \ 645 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null) 646 647################################## 648# Generate the system_ext/etc/fs_config_files binary file for the target 649# Add fs_config_files or fs_config_files_system_ext to PRODUCT_PACKAGES in 650# the device make file to enable 651include $(CLEAR_VARS) 652 653LOCAL_MODULE := _fs_config_files_system_ext 654LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 655LOCAL_LICENSE_CONDITIONS := notice 656LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE 657LOCAL_MODULE_CLASS := ETC 658LOCAL_INSTALLED_MODULE_STEM := fs_config_files 659LOCAL_MODULE_PATH := $(TARGET_OUT_SYSTEM_EXT)/etc 660include $(BUILD_SYSTEM)/base_rules.mk 661$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config) 662$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header) 663$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN) 664$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(system_android_filesystem_config) $(system_capability_header) 665 @mkdir -p $(dir $@) 666 $< fsconfig \ 667 --aid-header $(PRIVATE_ANDROID_FS_HDR) \ 668 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \ 669 --partition system_ext \ 670 --files \ 671 --out_file $@ \ 672 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null) 673endif 674 675system_android_filesystem_config := 676system_capability_header := 677fs_config_generate_extra_partition_list := 678