blob: b19a6303442846af5c037254789fee3c082bb4b2 [file] [log] [blame]
The Android Open Source Project88b60792009-03-03 19:28:42 -08001# 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)
Mark Salyzyn073a9eb2015-04-15 12:53:39 -070016
Tom Cherrye0f3ed52019-02-11 13:09:59 -080017# 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
William Robertsc950a352016-03-04 18:12:29 -080019# for generating the android_filesystem_config.h file.
20#
21# More information can be found in the README
Mark Salyzyn06b91b92015-04-01 14:41:29 -070022
Tom Cherry9d924f62019-02-13 14:02:30 -080023ifneq ($(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)
Tom Cherry1a9f8352019-02-13 16:17:39 -080025endif
26
Tom Cherry54752bf2020-09-17 09:42:55 -070027system_android_filesystem_config := system/core/libcutils/include/private/android_filesystem_config.h
Tom Cherry9d924f62019-02-13 14:02:30 -080028system_capability_header := bionic/libc/kernel/uapi/linux/capability.h
Tom Cherry53940fd2018-06-14 12:19:19 -070029
Justin Yun9d3356b2021-07-13 11:42:18 +090030# 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 and odm_dlkm Partitions
Mark Salyzyn1fd588c2017-03-22 15:53:12 -070046fs_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) \
Mark Salyzyncf343a62018-11-16 09:44:07 -080049 $(if $(BOARD_USES_ODMIMAGE)$(BOARD_ODMIMAGE_FILE_SYSTEM_TYPE),odm) \
Yifan Hongcfb917a2020-05-07 14:58:20 -070050 $(if $(BOARD_USES_VENDOR_DLKMIMAGE)$(BOARD_VENDOR_DLKMIMAGE_FILE_SYSTEM_TYPE),vendor_dlkm) \
Yifan Hongf496f1b2020-07-15 16:52:59 -070051 $(if $(BOARD_USES_ODM_DLKMIMAGE)$(BOARD_ODM_DLKMIMAGE_FILE_SYSTEM_TYPE),odm_dlkm) \
Mark Salyzyncf343a62018-11-16 09:44:07 -080052)
Mark Salyzyn06b91b92015-04-01 14:41:29 -070053
William Robertsc950a352016-03-04 18:12:29 -080054##################################
Anton Hanssone85ec842018-06-26 14:03:38 +010055# Generate the <p>/etc/fs_config_dirs binary files for each partition.
56# Add fs_config_dirs to PRODUCT_PACKAGES in the device make file to enable.
Mark Salyzyn06b91b92015-04-01 14:41:29 -070057include $(CLEAR_VARS)
58
59LOCAL_MODULE := fs_config_dirs
Bob Badourd2c7c082022-01-24 15:21:32 -080060LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
61LOCAL_LICENSE_CONDITIONS := notice
62LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Anton Hanssone85ec842018-06-26 14:03:38 +010063LOCAL_REQUIRED_MODULES := \
Justin Yun75f7cf92020-10-19 16:58:06 +090064 fs_config_dirs_system \
65 fs_config_dirs_system_ext \
66 fs_config_dirs_product \
67 fs_config_dirs_nonsystem
Anton Hanssone85ec842018-06-26 14:03:38 +010068include $(BUILD_PHONY_PACKAGE)
69
Anton Hanssone85ec842018-06-26 14:03:38 +010070##################################
71# Generate the <p>/etc/fs_config_files binary files for each partition.
72# Add fs_config_files to PRODUCT_PACKAGES in the device make file to enable.
73include $(CLEAR_VARS)
74
75LOCAL_MODULE := fs_config_files
Bob Badourd2c7c082022-01-24 15:21:32 -080076LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
77LOCAL_LICENSE_CONDITIONS := notice
78LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Anton Hanssone85ec842018-06-26 14:03:38 +010079LOCAL_REQUIRED_MODULES := \
80 fs_config_files_system \
Justin Yun75f7cf92020-10-19 16:58:06 +090081 fs_config_files_system_ext \
82 fs_config_files_product \
83 fs_config_files_nonsystem
84include $(BUILD_PHONY_PACKAGE)
85
86##################################
87# Generate the system_ext/etc/fs_config_dirs binary file for the target if the
88# system_ext partition is generated. Add fs_config_dirs or fs_config_dirs_system_ext
89# to PRODUCT_PACKAGES in the device make file to enable.
90include $(CLEAR_VARS)
91
92LOCAL_MODULE := fs_config_dirs_system_ext
Bob Badourd2c7c082022-01-24 15:21:32 -080093LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
94LOCAL_LICENSE_CONDITIONS := notice
95LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Justin Yun75f7cf92020-10-19 16:58:06 +090096LOCAL_REQUIRED_MODULES := $(if $(BOARD_USES_SYSTEM_EXTIMAGE)$(BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE),_fs_config_dirs_system_ext)
97include $(BUILD_PHONY_PACKAGE)
98
99##################################
100# Generate the system_ext/etc/fs_config_files binary file for the target if the
101# system_ext partition is generated. Add fs_config_files or fs_config_files_system_ext
102# to PRODUCT_PACKAGES in the device make file to enable.
103include $(CLEAR_VARS)
104
105LOCAL_MODULE := fs_config_files_system_ext
Bob Badourd2c7c082022-01-24 15:21:32 -0800106LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
107LOCAL_LICENSE_CONDITIONS := notice
108LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Justin Yun75f7cf92020-10-19 16:58:06 +0900109LOCAL_REQUIRED_MODULES := $(if $(BOARD_USES_SYSTEM_EXTIMAGE)$(BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE),_fs_config_files_system_ext)
110include $(BUILD_PHONY_PACKAGE)
111
112##################################
113# Generate the product/etc/fs_config_dirs binary file for the target if the
114# product partition is generated. Add fs_config_dirs or fs_config_dirs_product
115# to PRODUCT_PACKAGES in the device make file to enable.
116include $(CLEAR_VARS)
117
118LOCAL_MODULE := fs_config_dirs_product
Bob Badourd2c7c082022-01-24 15:21:32 -0800119LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
120LOCAL_LICENSE_CONDITIONS := notice
121LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Justin Yun75f7cf92020-10-19 16:58:06 +0900122LOCAL_REQUIRED_MODULES := $(if $(BOARD_USES_PRODUCTIMAGE)$(BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE),_fs_config_dirs_product)
123include $(BUILD_PHONY_PACKAGE)
124
125##################################
126# Generate the product/etc/fs_config_files binary file for the target if the
127# product partition is generated. Add fs_config_files or fs_config_files_product
128# to PRODUCT_PACKAGES in the device make file to enable.
129include $(CLEAR_VARS)
130
131LOCAL_MODULE := fs_config_files_product
Bob Badourd2c7c082022-01-24 15:21:32 -0800132LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
133LOCAL_LICENSE_CONDITIONS := notice
134LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Justin Yun75f7cf92020-10-19 16:58:06 +0900135LOCAL_REQUIRED_MODULES := $(if $(BOARD_USES_PRODUCTIMAGE)$(BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE),_fs_config_files_product)
Anton Hanssone85ec842018-06-26 14:03:38 +0100136include $(BUILD_PHONY_PACKAGE)
137
138##################################
139# Generate the <p>/etc/fs_config_dirs binary files for all enabled partitions
Justin Yun75f7cf92020-10-19 16:58:06 +0900140# excluding /system, /system_ext and /product. Add fs_config_dirs_nonsystem to
141# PRODUCT_PACKAGES in the device make file to enable.
Anton Hanssone85ec842018-06-26 14:03:38 +0100142include $(CLEAR_VARS)
143
144LOCAL_MODULE := fs_config_dirs_nonsystem
Bob Badourd2c7c082022-01-24 15:21:32 -0800145LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
146LOCAL_LICENSE_CONDITIONS := notice
147LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Justin Yun75f7cf92020-10-19 16:58:06 +0900148LOCAL_REQUIRED_MODULES := $(foreach t,$(fs_config_generate_extra_partition_list),_fs_config_dirs_$(t))
Anton Hanssone85ec842018-06-26 14:03:38 +0100149include $(BUILD_PHONY_PACKAGE)
150
151##################################
152# Generate the <p>/etc/fs_config_files binary files for all enabled partitions
Justin Yun75f7cf92020-10-19 16:58:06 +0900153# excluding /system, /system_ext and /product. Add fs_config_files_nonsystem to
154# PRODUCT_PACKAGES in the device make file to enable.
Anton Hanssone85ec842018-06-26 14:03:38 +0100155include $(CLEAR_VARS)
156
157LOCAL_MODULE := fs_config_files_nonsystem
Bob Badourd2c7c082022-01-24 15:21:32 -0800158LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
159LOCAL_LICENSE_CONDITIONS := notice
160LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Justin Yun75f7cf92020-10-19 16:58:06 +0900161LOCAL_REQUIRED_MODULES := $(foreach t,$(fs_config_generate_extra_partition_list),_fs_config_files_$(t))
Anton Hanssone85ec842018-06-26 14:03:38 +0100162include $(BUILD_PHONY_PACKAGE)
163
164##################################
165# Generate the system/etc/fs_config_dirs binary file for the target
166# Add fs_config_dirs or fs_config_dirs_system to PRODUCT_PACKAGES in
167# the device make file to enable
168include $(CLEAR_VARS)
169
170LOCAL_MODULE := fs_config_dirs_system
Bob Badourd2c7c082022-01-24 15:21:32 -0800171LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
172LOCAL_LICENSE_CONDITIONS := notice
173LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700174LOCAL_MODULE_CLASS := ETC
Anton Hanssone85ec842018-06-26 14:03:38 +0100175LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700176include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800177$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
178$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
Mark Salyzyn705b59e2018-11-16 13:30:37 -0800179$(LOCAL_BUILT_MODULE): PRIVATE_PARTITION_LIST := $(fs_config_generate_extra_partition_list)
Tom Cherry9d924f62019-02-13 14:02:30 -0800180$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
181$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(system_android_filesystem_config) $(system_capability_header)
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700182 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800183 $< fsconfig \
184 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
185 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
186 --partition system \
Felix8453f022019-05-26 12:09:50 +0200187 --all-partitions "$(subst $(space),$(comma),$(PRIVATE_PARTITION_LIST))" \
Tom Cherry9d924f62019-02-13 14:02:30 -0800188 --dirs \
189 --out_file $@ \
190 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700191
William Robertsc950a352016-03-04 18:12:29 -0800192##################################
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700193# Generate the system/etc/fs_config_files binary file for the target
Anton Hanssone85ec842018-06-26 14:03:38 +0100194# Add fs_config_files or fs_config_files_system to PRODUCT_PACKAGES in
195# the device make file to enable
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700196include $(CLEAR_VARS)
197
Anton Hanssone85ec842018-06-26 14:03:38 +0100198LOCAL_MODULE := fs_config_files_system
Bob Badourd2c7c082022-01-24 15:21:32 -0800199LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
200LOCAL_LICENSE_CONDITIONS := notice
201LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700202LOCAL_MODULE_CLASS := ETC
Anton Hanssone85ec842018-06-26 14:03:38 +0100203LOCAL_INSTALLED_MODULE_STEM := fs_config_files
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700204include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800205$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
206$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
Mark Salyzyn705b59e2018-11-16 13:30:37 -0800207$(LOCAL_BUILT_MODULE): PRIVATE_PARTITION_LIST := $(fs_config_generate_extra_partition_list)
Tom Cherry9d924f62019-02-13 14:02:30 -0800208$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
209$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(system_android_filesystem_config) $(system_capability_header)
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700210 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800211 $< fsconfig \
212 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
213 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
214 --partition system \
Felix8453f022019-05-26 12:09:50 +0200215 --all-partitions "$(subst $(space),$(comma),$(PRIVATE_PARTITION_LIST))" \
Tom Cherry9d924f62019-02-13 14:02:30 -0800216 --files \
217 --out_file $@ \
218 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700219
220ifneq ($(filter vendor,$(fs_config_generate_extra_partition_list)),)
221##################################
222# Generate the vendor/etc/fs_config_dirs binary file for the target
Justin Yun75f7cf92020-10-19 16:58:06 +0900223# Add fs_config_dirs or fs_config_dirs_nonsystem to PRODUCT_PACKAGES
224# in the device make file to enable
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700225include $(CLEAR_VARS)
226
Justin Yun75f7cf92020-10-19 16:58:06 +0900227LOCAL_MODULE := _fs_config_dirs_vendor
Bob Badourd2c7c082022-01-24 15:21:32 -0800228LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
229LOCAL_LICENSE_CONDITIONS := notice
230LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700231LOCAL_MODULE_CLASS := ETC
232LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
233LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/etc
234include $(BUILD_SYSTEM)/base_rules.mk
Justin Yun9d3356b2021-07-13 11:42:18 +0900235$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config)
236$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header)
Tom Cherry9d924f62019-02-13 14:02:30 -0800237$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
Justin Yun9d3356b2021-07-13 11:42:18 +0900238$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(vendor_android_filesystem_config) $(vendor_capability_header)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700239 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800240 $< fsconfig \
241 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
242 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
243 --partition vendor \
244 --dirs \
245 --out_file $@ \
246 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700247
248##################################
249# Generate the vendor/etc/fs_config_files binary file for the target
Justin Yun75f7cf92020-10-19 16:58:06 +0900250# Add fs_config_files or fs_config_files_nonsystem to PRODUCT_PACKAGES
251# in the device make file to enable
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700252include $(CLEAR_VARS)
253
Justin Yun75f7cf92020-10-19 16:58:06 +0900254LOCAL_MODULE := _fs_config_files_vendor
Bob Badourd2c7c082022-01-24 15:21:32 -0800255LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
256LOCAL_LICENSE_CONDITIONS := notice
257LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700258LOCAL_MODULE_CLASS := ETC
259LOCAL_INSTALLED_MODULE_STEM := fs_config_files
260LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/etc
261include $(BUILD_SYSTEM)/base_rules.mk
Justin Yun9d3356b2021-07-13 11:42:18 +0900262$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config)
263$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header)
Tom Cherry9d924f62019-02-13 14:02:30 -0800264$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
Justin Yun9d3356b2021-07-13 11:42:18 +0900265$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(vendor_android_filesystem_config) $(vendor_capability_header)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700266 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800267 $< fsconfig \
268 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
269 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
270 --partition vendor \
271 --files \
272 --out_file $@ \
273 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700274
275endif
276
277ifneq ($(filter oem,$(fs_config_generate_extra_partition_list)),)
278##################################
279# Generate the oem/etc/fs_config_dirs binary file for the target
Justin Yun75f7cf92020-10-19 16:58:06 +0900280# Add fs_config_dirs or fs_config_dirs_nonsystem to PRODUCT_PACKAGES
281# in the device make file to enable
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700282include $(CLEAR_VARS)
283
Justin Yun75f7cf92020-10-19 16:58:06 +0900284LOCAL_MODULE := _fs_config_dirs_oem
Bob Badourd2c7c082022-01-24 15:21:32 -0800285LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
286LOCAL_LICENSE_CONDITIONS := notice
287LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700288LOCAL_MODULE_CLASS := ETC
289LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
290LOCAL_MODULE_PATH := $(TARGET_OUT_OEM)/etc
291include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800292$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
293$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
294$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
295$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(system_android_filesystem_config) $(system_capability_header)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700296 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800297 $< fsconfig \
298 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
299 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
300 --partition oem \
301 --dirs \
302 --out_file $@ \
303 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700304
305##################################
306# Generate the oem/etc/fs_config_files binary file for the target
Justin Yun75f7cf92020-10-19 16:58:06 +0900307# Add fs_config_files or fs_config_files_nonsystem to PRODUCT_PACKAGES
308# in the device make file to enable
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700309include $(CLEAR_VARS)
310
Justin Yun75f7cf92020-10-19 16:58:06 +0900311LOCAL_MODULE := _fs_config_files_oem
Bob Badourd2c7c082022-01-24 15:21:32 -0800312LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
313LOCAL_LICENSE_CONDITIONS := notice
314LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700315LOCAL_MODULE_CLASS := ETC
316LOCAL_INSTALLED_MODULE_STEM := fs_config_files
317LOCAL_MODULE_PATH := $(TARGET_OUT_OEM)/etc
318include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800319$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
320$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
321$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
322$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(system_android_filesystem_config) $(system_capability_header)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700323 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800324 $< fsconfig \
325 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
326 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
327 --partition oem \
328 --files \
329 --out_file $@ \
330 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700331
332endif
333
334ifneq ($(filter odm,$(fs_config_generate_extra_partition_list)),)
335##################################
336# Generate the odm/etc/fs_config_dirs binary file for the target
Justin Yun75f7cf92020-10-19 16:58:06 +0900337# Add fs_config_dirs or fs_config_dirs_nonsystem to PRODUCT_PACKAGES
338# in the device make file to enable
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700339include $(CLEAR_VARS)
340
Justin Yun75f7cf92020-10-19 16:58:06 +0900341LOCAL_MODULE := _fs_config_dirs_odm
Bob Badourd2c7c082022-01-24 15:21:32 -0800342LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
343LOCAL_LICENSE_CONDITIONS := notice
344LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700345LOCAL_MODULE_CLASS := ETC
346LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
347LOCAL_MODULE_PATH := $(TARGET_OUT_ODM)/etc
348include $(BUILD_SYSTEM)/base_rules.mk
Justin Yun9d3356b2021-07-13 11:42:18 +0900349$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config)
350$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header)
Tom Cherry9d924f62019-02-13 14:02:30 -0800351$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
Justin Yun9d3356b2021-07-13 11:42:18 +0900352$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(vendor_android_filesystem_config) $(vendor_capability_header)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700353 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800354 $< fsconfig \
355 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
356 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
357 --partition odm \
358 --dirs \
359 --out_file $@ \
360 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700361
362##################################
363# Generate the odm/etc/fs_config_files binary file for the target
Justin Yun75f7cf92020-10-19 16:58:06 +0900364# Add fs_config_files or fs_config_files_nonsystem to PRODUCT_PACKAGES
365# in the device make file to enable
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700366include $(CLEAR_VARS)
367
Justin Yun75f7cf92020-10-19 16:58:06 +0900368LOCAL_MODULE := _fs_config_files_odm
Bob Badourd2c7c082022-01-24 15:21:32 -0800369LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
370LOCAL_LICENSE_CONDITIONS := notice
371LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700372LOCAL_MODULE_CLASS := ETC
373LOCAL_INSTALLED_MODULE_STEM := fs_config_files
374LOCAL_MODULE_PATH := $(TARGET_OUT_ODM)/etc
375include $(BUILD_SYSTEM)/base_rules.mk
Justin Yun9d3356b2021-07-13 11:42:18 +0900376$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config)
377$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header)
Tom Cherry9d924f62019-02-13 14:02:30 -0800378$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
Justin Yun9d3356b2021-07-13 11:42:18 +0900379$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(vendor_android_filesystem_config) $(vendor_capability_header)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700380 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800381 $< fsconfig \
382 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
383 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
384 --partition odm \
385 --files \
386 --out_file $@ \
387 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700388
389endif
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700390
Yifan Hongcfb917a2020-05-07 14:58:20 -0700391ifneq ($(filter vendor_dlkm,$(fs_config_generate_extra_partition_list)),)
392##################################
393# Generate the vendor_dlkm/etc/fs_config_dirs binary file for the target
Justin Yun75f7cf92020-10-19 16:58:06 +0900394# Add fs_config_dirs or fs_config_dirs_nonsystem to PRODUCT_PACKAGES in
Yifan Hongcfb917a2020-05-07 14:58:20 -0700395# the device make file to enable
396include $(CLEAR_VARS)
397
Justin Yun75f7cf92020-10-19 16:58:06 +0900398LOCAL_MODULE := _fs_config_dirs_vendor_dlkm
Bob Badourd2c7c082022-01-24 15:21:32 -0800399LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
400LOCAL_LICENSE_CONDITIONS := notice
401LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Yifan Hongcfb917a2020-05-07 14:58:20 -0700402LOCAL_MODULE_CLASS := ETC
403LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
404LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_DLKM)/etc
405include $(BUILD_SYSTEM)/base_rules.mk
Justin Yun9d3356b2021-07-13 11:42:18 +0900406$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config)
407$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header)
Yifan Hongcfb917a2020-05-07 14:58:20 -0700408$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
Justin Yun9d3356b2021-07-13 11:42:18 +0900409$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(vendor_android_filesystem_config) $(vendor_capability_header)
Yifan Hongcfb917a2020-05-07 14:58:20 -0700410 @mkdir -p $(dir $@)
411 $< fsconfig \
412 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
413 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
414 --partition vendor_dlkm \
415 --dirs \
416 --out_file $@ \
417 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
418
419##################################
420# Generate the vendor_dlkm/etc/fs_config_files binary file for the target
Justin Yun75f7cf92020-10-19 16:58:06 +0900421# Add fs_config_files or fs_config_files_nonsystem to PRODUCT_PACKAGES in
Yifan Hongcfb917a2020-05-07 14:58:20 -0700422# the device make file to enable
423include $(CLEAR_VARS)
424
Justin Yun75f7cf92020-10-19 16:58:06 +0900425LOCAL_MODULE := _fs_config_files_vendor_dlkm
Bob Badourd2c7c082022-01-24 15:21:32 -0800426LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
427LOCAL_LICENSE_CONDITIONS := notice
428LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Yifan Hongcfb917a2020-05-07 14:58:20 -0700429LOCAL_MODULE_CLASS := ETC
430LOCAL_INSTALLED_MODULE_STEM := fs_config_files
431LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_DLKM)/etc
432include $(BUILD_SYSTEM)/base_rules.mk
Justin Yun9d3356b2021-07-13 11:42:18 +0900433$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config)
434$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header)
Yifan Hongcfb917a2020-05-07 14:58:20 -0700435$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
Justin Yun9d3356b2021-07-13 11:42:18 +0900436$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(vendor_android_filesystem_config) $(vendor_capability_header)
Yifan Hongcfb917a2020-05-07 14:58:20 -0700437 @mkdir -p $(dir $@)
438 $< fsconfig \
439 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
440 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
441 --partition vendor_dlkm \
442 --files \
443 --out_file $@ \
444 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
445
446endif
447
Yifan Hongf496f1b2020-07-15 16:52:59 -0700448ifneq ($(filter odm_dlkm,$(fs_config_generate_extra_partition_list)),)
449##################################
450# Generate the odm_dlkm/etc/fs_config_dirs binary file for the target
Justin Yun75f7cf92020-10-19 16:58:06 +0900451# Add fs_config_dirs or fs_config_dirs_nonsystem to PRODUCT_PACKAGES
452# in the device make file to enable
Yifan Hongf496f1b2020-07-15 16:52:59 -0700453include $(CLEAR_VARS)
454
Justin Yun75f7cf92020-10-19 16:58:06 +0900455LOCAL_MODULE := _fs_config_dirs_odm_dlkm
Bob Badourd2c7c082022-01-24 15:21:32 -0800456LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
457LOCAL_LICENSE_CONDITIONS := notice
458LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Yifan Hongf496f1b2020-07-15 16:52:59 -0700459LOCAL_MODULE_CLASS := ETC
460LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
461LOCAL_MODULE_PATH := $(TARGET_OUT_ODM_DLKM)/etc
462include $(BUILD_SYSTEM)/base_rules.mk
Justin Yun9d3356b2021-07-13 11:42:18 +0900463$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config)
464$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header)
Yifan Hongf496f1b2020-07-15 16:52:59 -0700465$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
Justin Yun9d3356b2021-07-13 11:42:18 +0900466$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(vendor_android_filesystem_config) $(vendor_capability_header)
Yifan Hongf496f1b2020-07-15 16:52:59 -0700467 @mkdir -p $(dir $@)
468 $< fsconfig \
469 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
470 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
471 --partition odm_dlkm \
472 --dirs \
473 --out_file $@ \
474 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
475
476##################################
477# Generate the odm_dlkm/etc/fs_config_files binary file for the target
Justin Yun75f7cf92020-10-19 16:58:06 +0900478# Add fs_config_files or fs_config_files_nonsystem to PRODUCT_PACKAGES
479# in the device make file to enable
Yifan Hongf496f1b2020-07-15 16:52:59 -0700480include $(CLEAR_VARS)
481
Justin Yun75f7cf92020-10-19 16:58:06 +0900482LOCAL_MODULE := _fs_config_files_odm_dlkm
Bob Badourd2c7c082022-01-24 15:21:32 -0800483LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
484LOCAL_LICENSE_CONDITIONS := notice
485LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Yifan Hongf496f1b2020-07-15 16:52:59 -0700486LOCAL_MODULE_CLASS := ETC
487LOCAL_INSTALLED_MODULE_STEM := fs_config_files
488LOCAL_MODULE_PATH := $(TARGET_OUT_ODM_DLKM)/etc
489include $(BUILD_SYSTEM)/base_rules.mk
Justin Yun9d3356b2021-07-13 11:42:18 +0900490$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config)
491$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header)
Yifan Hongf496f1b2020-07-15 16:52:59 -0700492$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
Justin Yun9d3356b2021-07-13 11:42:18 +0900493$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(vendor_android_filesystem_config) $(vendor_capability_header)
Yifan Hongf496f1b2020-07-15 16:52:59 -0700494 @mkdir -p $(dir $@)
495 $< fsconfig \
496 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
497 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
498 --partition odm_dlkm \
499 --files \
500 --out_file $@ \
501 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
502
503endif
504
Justin Yun75f7cf92020-10-19 16:58:06 +0900505ifneq ($(BOARD_USES_PRODUCTIMAGE)$(BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE),)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800506##################################
507# Generate the product/etc/fs_config_dirs binary file for the target
508# Add fs_config_dirs or fs_config_dirs_product to PRODUCT_PACKAGES in
509# the device make file to enable
510include $(CLEAR_VARS)
511
Justin Yun75f7cf92020-10-19 16:58:06 +0900512LOCAL_MODULE := _fs_config_dirs_product
Bob Badourd2c7c082022-01-24 15:21:32 -0800513LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
514LOCAL_LICENSE_CONDITIONS := notice
515LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyncf343a62018-11-16 09:44:07 -0800516LOCAL_MODULE_CLASS := ETC
517LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
518LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/etc
519include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800520$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
521$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
522$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
523$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(system_android_filesystem_config) $(system_capability_header)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800524 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800525 $< fsconfig \
526 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
527 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
528 --partition product \
529 --dirs \
530 --out_file $@ \
531 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800532
533##################################
534# Generate the product/etc/fs_config_files binary file for the target
Justin Yun75f7cf92020-10-19 16:58:06 +0900535# Add fs_config_files or fs_config_files_product to PRODUCT_PACKAGES in
Mark Salyzyncf343a62018-11-16 09:44:07 -0800536# the device make file to enable
537include $(CLEAR_VARS)
538
Justin Yun75f7cf92020-10-19 16:58:06 +0900539LOCAL_MODULE := _fs_config_files_product
Bob Badourd2c7c082022-01-24 15:21:32 -0800540LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
541LOCAL_LICENSE_CONDITIONS := notice
542LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyncf343a62018-11-16 09:44:07 -0800543LOCAL_MODULE_CLASS := ETC
544LOCAL_INSTALLED_MODULE_STEM := fs_config_files
545LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/etc
546include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800547$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
548$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
549$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
550$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(system_android_filesystem_config) $(system_capability_header)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800551 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800552 $< fsconfig \
553 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
554 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
555 --partition product \
556 --files \
557 --out_file $@ \
558 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800559endif
560
Justin Yun75f7cf92020-10-19 16:58:06 +0900561ifneq ($(BOARD_USES_SYSTEM_EXTIMAGE)$(BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE),)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800562##################################
Justin Yun6151e3f2019-06-25 15:58:13 +0900563# Generate the system_ext/etc/fs_config_dirs binary file for the target
564# Add fs_config_dirs or fs_config_dirs_system_ext to PRODUCT_PACKAGES in
Mark Salyzyncf343a62018-11-16 09:44:07 -0800565# the device make file to enable
566include $(CLEAR_VARS)
567
Justin Yun75f7cf92020-10-19 16:58:06 +0900568LOCAL_MODULE := _fs_config_dirs_system_ext
Bob Badourd2c7c082022-01-24 15:21:32 -0800569LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
570LOCAL_LICENSE_CONDITIONS := notice
571LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyncf343a62018-11-16 09:44:07 -0800572LOCAL_MODULE_CLASS := ETC
573LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
Justin Yun6151e3f2019-06-25 15:58:13 +0900574LOCAL_MODULE_PATH := $(TARGET_OUT_SYSTEM_EXT)/etc
Mark Salyzyncf343a62018-11-16 09:44:07 -0800575include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800576$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
577$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
578$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
579$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(system_android_filesystem_config) $(system_capability_header)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800580 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800581 $< fsconfig \
582 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
583 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
Justin Yun6151e3f2019-06-25 15:58:13 +0900584 --partition system_ext \
Tom Cherry9d924f62019-02-13 14:02:30 -0800585 --dirs \
586 --out_file $@ \
587 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800588
589##################################
Justin Yun6151e3f2019-06-25 15:58:13 +0900590# Generate the system_ext/etc/fs_config_files binary file for the target
Justin Yun75f7cf92020-10-19 16:58:06 +0900591# Add fs_config_files or fs_config_files_system_ext to PRODUCT_PACKAGES in
Mark Salyzyncf343a62018-11-16 09:44:07 -0800592# the device make file to enable
593include $(CLEAR_VARS)
594
Justin Yun75f7cf92020-10-19 16:58:06 +0900595LOCAL_MODULE := _fs_config_files_system_ext
Bob Badourd2c7c082022-01-24 15:21:32 -0800596LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
597LOCAL_LICENSE_CONDITIONS := notice
598LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyncf343a62018-11-16 09:44:07 -0800599LOCAL_MODULE_CLASS := ETC
600LOCAL_INSTALLED_MODULE_STEM := fs_config_files
Justin Yun6151e3f2019-06-25 15:58:13 +0900601LOCAL_MODULE_PATH := $(TARGET_OUT_SYSTEM_EXT)/etc
Mark Salyzyncf343a62018-11-16 09:44:07 -0800602include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800603$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
604$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
605$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
606$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(system_android_filesystem_config) $(system_capability_header)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800607 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800608 $< fsconfig \
609 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
610 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
Justin Yun6151e3f2019-06-25 15:58:13 +0900611 --partition system_ext \
Tom Cherry9d924f62019-02-13 14:02:30 -0800612 --files \
613 --out_file $@ \
614 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800615endif
616
Elliott Hughes2d7c86d2016-12-13 23:37:07 +0000617system_android_filesystem_config :=
Tom Cherry9d924f62019-02-13 14:02:30 -0800618system_capability_header :=
William Roberts6b19e492017-05-15 11:02:53 -0700619fs_config_generate_extra_partition_list :=