blob: c36c3aa6a2a0a55e4beb30249198bf6a1f1bd2cc [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
Ramji Jiyani13a41372022-01-27 07:05:08 +000045# List of supported vendor, oem, odm, vendor_dlkm, odm_dlkm, and system_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) \
Ramji Jiyani13a41372022-01-27 07:05:08 +000052 $(if $(BOARD_USES_SYSTEM_DLKMIMAGE)$(BOARD_SYSTEM_DLKMIMAGE_FILE_SYSTEM_TYPE),system_dlkm) \
Mark Salyzyncf343a62018-11-16 09:44:07 -080053)
Mark Salyzyn06b91b92015-04-01 14:41:29 -070054
William Robertsc950a352016-03-04 18:12:29 -080055##################################
Anton Hanssone85ec842018-06-26 14:03:38 +010056# 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.
Mark Salyzyn06b91b92015-04-01 14:41:29 -070058include $(CLEAR_VARS)
59
60LOCAL_MODULE := fs_config_dirs
Bob Badourd2c7c082022-01-24 15:21:32 -080061LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
62LOCAL_LICENSE_CONDITIONS := notice
63LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Anton Hanssone85ec842018-06-26 14:03:38 +010064LOCAL_REQUIRED_MODULES := \
Justin Yun75f7cf92020-10-19 16:58:06 +090065 fs_config_dirs_system \
66 fs_config_dirs_system_ext \
67 fs_config_dirs_product \
68 fs_config_dirs_nonsystem
Anton Hanssone85ec842018-06-26 14:03:38 +010069include $(BUILD_PHONY_PACKAGE)
70
Anton Hanssone85ec842018-06-26 14:03:38 +010071##################################
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
Bob Badourd2c7c082022-01-24 15:21:32 -080077LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
78LOCAL_LICENSE_CONDITIONS := notice
79LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Anton Hanssone85ec842018-06-26 14:03:38 +010080LOCAL_REQUIRED_MODULES := \
81 fs_config_files_system \
Justin Yun75f7cf92020-10-19 16:58:06 +090082 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
Bob Badourd2c7c082022-01-24 15:21:32 -080094LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
95LOCAL_LICENSE_CONDITIONS := notice
96LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Justin Yun75f7cf92020-10-19 16:58:06 +090097LOCAL_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
Bob Badourd2c7c082022-01-24 15:21:32 -0800107LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
108LOCAL_LICENSE_CONDITIONS := notice
109LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Justin Yun75f7cf92020-10-19 16:58:06 +0900110LOCAL_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
Bob Badourd2c7c082022-01-24 15:21:32 -0800120LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
121LOCAL_LICENSE_CONDITIONS := notice
122LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Justin Yun75f7cf92020-10-19 16:58:06 +0900123LOCAL_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
Bob Badourd2c7c082022-01-24 15:21:32 -0800133LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
134LOCAL_LICENSE_CONDITIONS := notice
135LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Justin Yun75f7cf92020-10-19 16:58:06 +0900136LOCAL_REQUIRED_MODULES := $(if $(BOARD_USES_PRODUCTIMAGE)$(BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE),_fs_config_files_product)
Anton Hanssone85ec842018-06-26 14:03:38 +0100137include $(BUILD_PHONY_PACKAGE)
138
139##################################
140# Generate the <p>/etc/fs_config_dirs binary files for all enabled partitions
Justin Yun75f7cf92020-10-19 16:58:06 +0900141# excluding /system, /system_ext and /product. Add fs_config_dirs_nonsystem to
142# PRODUCT_PACKAGES in the device make file to enable.
Anton Hanssone85ec842018-06-26 14:03:38 +0100143include $(CLEAR_VARS)
144
145LOCAL_MODULE := fs_config_dirs_nonsystem
Bob Badourd2c7c082022-01-24 15:21:32 -0800146LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
147LOCAL_LICENSE_CONDITIONS := notice
148LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Justin Yun75f7cf92020-10-19 16:58:06 +0900149LOCAL_REQUIRED_MODULES := $(foreach t,$(fs_config_generate_extra_partition_list),_fs_config_dirs_$(t))
Anton Hanssone85ec842018-06-26 14:03:38 +0100150include $(BUILD_PHONY_PACKAGE)
151
152##################################
153# Generate the <p>/etc/fs_config_files binary files for all enabled partitions
Justin Yun75f7cf92020-10-19 16:58:06 +0900154# excluding /system, /system_ext and /product. Add fs_config_files_nonsystem to
155# PRODUCT_PACKAGES in the device make file to enable.
Anton Hanssone85ec842018-06-26 14:03:38 +0100156include $(CLEAR_VARS)
157
158LOCAL_MODULE := fs_config_files_nonsystem
Bob Badourd2c7c082022-01-24 15:21:32 -0800159LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
160LOCAL_LICENSE_CONDITIONS := notice
161LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Justin Yun75f7cf92020-10-19 16:58:06 +0900162LOCAL_REQUIRED_MODULES := $(foreach t,$(fs_config_generate_extra_partition_list),_fs_config_files_$(t))
Anton Hanssone85ec842018-06-26 14:03:38 +0100163include $(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
Bob Badourd2c7c082022-01-24 15:21:32 -0800172LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
173LOCAL_LICENSE_CONDITIONS := notice
174LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700175LOCAL_MODULE_CLASS := ETC
Anton Hanssone85ec842018-06-26 14:03:38 +0100176LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700177include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800178$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
179$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
Mark Salyzyn705b59e2018-11-16 13:30:37 -0800180$(LOCAL_BUILT_MODULE): PRIVATE_PARTITION_LIST := $(fs_config_generate_extra_partition_list)
Tom Cherry9d924f62019-02-13 14:02:30 -0800181$(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)
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700183 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800184 $< fsconfig \
185 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
186 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
187 --partition system \
Felix8453f022019-05-26 12:09:50 +0200188 --all-partitions "$(subst $(space),$(comma),$(PRIVATE_PARTITION_LIST))" \
Tom Cherry9d924f62019-02-13 14:02:30 -0800189 --dirs \
190 --out_file $@ \
191 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700192
William Robertsc950a352016-03-04 18:12:29 -0800193##################################
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700194# Generate the system/etc/fs_config_files binary file for the target
Anton Hanssone85ec842018-06-26 14:03:38 +0100195# Add fs_config_files or fs_config_files_system to PRODUCT_PACKAGES in
196# the device make file to enable
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700197include $(CLEAR_VARS)
198
Anton Hanssone85ec842018-06-26 14:03:38 +0100199LOCAL_MODULE := fs_config_files_system
Bob Badourd2c7c082022-01-24 15:21:32 -0800200LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
201LOCAL_LICENSE_CONDITIONS := notice
202LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700203LOCAL_MODULE_CLASS := ETC
Anton Hanssone85ec842018-06-26 14:03:38 +0100204LOCAL_INSTALLED_MODULE_STEM := fs_config_files
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700205include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800206$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
207$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
Mark Salyzyn705b59e2018-11-16 13:30:37 -0800208$(LOCAL_BUILT_MODULE): PRIVATE_PARTITION_LIST := $(fs_config_generate_extra_partition_list)
Tom Cherry9d924f62019-02-13 14:02:30 -0800209$(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)
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700211 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800212 $< fsconfig \
213 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
214 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
215 --partition system \
Felix8453f022019-05-26 12:09:50 +0200216 --all-partitions "$(subst $(space),$(comma),$(PRIVATE_PARTITION_LIST))" \
Tom Cherry9d924f62019-02-13 14:02:30 -0800217 --files \
218 --out_file $@ \
219 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700220
221ifneq ($(filter vendor,$(fs_config_generate_extra_partition_list)),)
222##################################
223# Generate the vendor/etc/fs_config_dirs binary file for the target
Justin Yun75f7cf92020-10-19 16:58:06 +0900224# Add fs_config_dirs or fs_config_dirs_nonsystem to PRODUCT_PACKAGES
225# in the device make file to enable
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700226include $(CLEAR_VARS)
227
Justin Yun75f7cf92020-10-19 16:58:06 +0900228LOCAL_MODULE := _fs_config_dirs_vendor
Bob Badourd2c7c082022-01-24 15:21:32 -0800229LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
230LOCAL_LICENSE_CONDITIONS := notice
231LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700232LOCAL_MODULE_CLASS := ETC
233LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
234LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/etc
235include $(BUILD_SYSTEM)/base_rules.mk
Justin Yun9d3356b2021-07-13 11:42:18 +0900236$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config)
237$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header)
Tom Cherry9d924f62019-02-13 14:02:30 -0800238$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
Justin Yun9d3356b2021-07-13 11:42:18 +0900239$(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 -0700240 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800241 $< 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)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700248
249##################################
250# Generate the vendor/etc/fs_config_files binary file for the target
Justin Yun75f7cf92020-10-19 16:58:06 +0900251# Add fs_config_files or fs_config_files_nonsystem to PRODUCT_PACKAGES
252# in the device make file to enable
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700253include $(CLEAR_VARS)
254
Justin Yun75f7cf92020-10-19 16:58:06 +0900255LOCAL_MODULE := _fs_config_files_vendor
Bob Badourd2c7c082022-01-24 15:21:32 -0800256LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
257LOCAL_LICENSE_CONDITIONS := notice
258LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700259LOCAL_MODULE_CLASS := ETC
260LOCAL_INSTALLED_MODULE_STEM := fs_config_files
261LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/etc
262include $(BUILD_SYSTEM)/base_rules.mk
Justin Yun9d3356b2021-07-13 11:42:18 +0900263$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config)
264$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header)
Tom Cherry9d924f62019-02-13 14:02:30 -0800265$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
Justin Yun9d3356b2021-07-13 11:42:18 +0900266$(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 -0700267 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800268 $< 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)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700275
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
Justin Yun75f7cf92020-10-19 16:58:06 +0900281# Add fs_config_dirs or fs_config_dirs_nonsystem to PRODUCT_PACKAGES
282# in the device make file to enable
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700283include $(CLEAR_VARS)
284
Justin Yun75f7cf92020-10-19 16:58:06 +0900285LOCAL_MODULE := _fs_config_dirs_oem
Bob Badourd2c7c082022-01-24 15:21:32 -0800286LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
287LOCAL_LICENSE_CONDITIONS := notice
288LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700289LOCAL_MODULE_CLASS := ETC
290LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
291LOCAL_MODULE_PATH := $(TARGET_OUT_OEM)/etc
292include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800293$(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)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700297 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800298 $< 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)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700305
306##################################
307# Generate the oem/etc/fs_config_files binary file for the target
Justin Yun75f7cf92020-10-19 16:58:06 +0900308# Add fs_config_files or fs_config_files_nonsystem to PRODUCT_PACKAGES
309# in the device make file to enable
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700310include $(CLEAR_VARS)
311
Justin Yun75f7cf92020-10-19 16:58:06 +0900312LOCAL_MODULE := _fs_config_files_oem
Bob Badourd2c7c082022-01-24 15:21:32 -0800313LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
314LOCAL_LICENSE_CONDITIONS := notice
315LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700316LOCAL_MODULE_CLASS := ETC
317LOCAL_INSTALLED_MODULE_STEM := fs_config_files
318LOCAL_MODULE_PATH := $(TARGET_OUT_OEM)/etc
319include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800320$(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)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700324 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800325 $< 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)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700332
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
Justin Yun75f7cf92020-10-19 16:58:06 +0900338# Add fs_config_dirs or fs_config_dirs_nonsystem to PRODUCT_PACKAGES
339# in the device make file to enable
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700340include $(CLEAR_VARS)
341
Justin Yun75f7cf92020-10-19 16:58:06 +0900342LOCAL_MODULE := _fs_config_dirs_odm
Bob Badourd2c7c082022-01-24 15:21:32 -0800343LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
344LOCAL_LICENSE_CONDITIONS := notice
345LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700346LOCAL_MODULE_CLASS := ETC
347LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
348LOCAL_MODULE_PATH := $(TARGET_OUT_ODM)/etc
349include $(BUILD_SYSTEM)/base_rules.mk
Justin Yun9d3356b2021-07-13 11:42:18 +0900350$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config)
351$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header)
Tom Cherry9d924f62019-02-13 14:02:30 -0800352$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
Justin Yun9d3356b2021-07-13 11:42:18 +0900353$(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 -0700354 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800355 $< 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)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700362
363##################################
364# Generate the odm/etc/fs_config_files binary file for the target
Justin Yun75f7cf92020-10-19 16:58:06 +0900365# Add fs_config_files or fs_config_files_nonsystem to PRODUCT_PACKAGES
366# in the device make file to enable
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700367include $(CLEAR_VARS)
368
Justin Yun75f7cf92020-10-19 16:58:06 +0900369LOCAL_MODULE := _fs_config_files_odm
Bob Badourd2c7c082022-01-24 15:21:32 -0800370LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
371LOCAL_LICENSE_CONDITIONS := notice
372LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700373LOCAL_MODULE_CLASS := ETC
374LOCAL_INSTALLED_MODULE_STEM := fs_config_files
375LOCAL_MODULE_PATH := $(TARGET_OUT_ODM)/etc
376include $(BUILD_SYSTEM)/base_rules.mk
Justin Yun9d3356b2021-07-13 11:42:18 +0900377$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config)
378$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header)
Tom Cherry9d924f62019-02-13 14:02:30 -0800379$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
Justin Yun9d3356b2021-07-13 11:42:18 +0900380$(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 -0700381 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800382 $< 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)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700389
390endif
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700391
Yifan Hongcfb917a2020-05-07 14:58:20 -0700392ifneq ($(filter vendor_dlkm,$(fs_config_generate_extra_partition_list)),)
393##################################
394# Generate the vendor_dlkm/etc/fs_config_dirs binary file for the target
Justin Yun75f7cf92020-10-19 16:58:06 +0900395# Add fs_config_dirs or fs_config_dirs_nonsystem to PRODUCT_PACKAGES in
Yifan Hongcfb917a2020-05-07 14:58:20 -0700396# the device make file to enable
397include $(CLEAR_VARS)
398
Justin Yun75f7cf92020-10-19 16:58:06 +0900399LOCAL_MODULE := _fs_config_dirs_vendor_dlkm
Bob Badourd2c7c082022-01-24 15:21:32 -0800400LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
401LOCAL_LICENSE_CONDITIONS := notice
402LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Yifan Hongcfb917a2020-05-07 14:58:20 -0700403LOCAL_MODULE_CLASS := ETC
404LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
405LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_DLKM)/etc
406include $(BUILD_SYSTEM)/base_rules.mk
Justin Yun9d3356b2021-07-13 11:42:18 +0900407$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config)
408$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header)
Yifan Hongcfb917a2020-05-07 14:58:20 -0700409$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
Justin Yun9d3356b2021-07-13 11:42:18 +0900410$(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 -0700411 @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
Justin Yun75f7cf92020-10-19 16:58:06 +0900422# Add fs_config_files or fs_config_files_nonsystem to PRODUCT_PACKAGES in
Yifan Hongcfb917a2020-05-07 14:58:20 -0700423# the device make file to enable
424include $(CLEAR_VARS)
425
Justin Yun75f7cf92020-10-19 16:58:06 +0900426LOCAL_MODULE := _fs_config_files_vendor_dlkm
Bob Badourd2c7c082022-01-24 15:21:32 -0800427LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
428LOCAL_LICENSE_CONDITIONS := notice
429LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Yifan Hongcfb917a2020-05-07 14:58:20 -0700430LOCAL_MODULE_CLASS := ETC
431LOCAL_INSTALLED_MODULE_STEM := fs_config_files
432LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_DLKM)/etc
433include $(BUILD_SYSTEM)/base_rules.mk
Justin Yun9d3356b2021-07-13 11:42:18 +0900434$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config)
435$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header)
Yifan Hongcfb917a2020-05-07 14:58:20 -0700436$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
Justin Yun9d3356b2021-07-13 11:42:18 +0900437$(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 -0700438 @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
Yifan Hongf496f1b2020-07-15 16:52:59 -0700449ifneq ($(filter odm_dlkm,$(fs_config_generate_extra_partition_list)),)
450##################################
451# Generate the odm_dlkm/etc/fs_config_dirs binary file for the target
Justin Yun75f7cf92020-10-19 16:58:06 +0900452# Add fs_config_dirs or fs_config_dirs_nonsystem to PRODUCT_PACKAGES
453# in the device make file to enable
Yifan Hongf496f1b2020-07-15 16:52:59 -0700454include $(CLEAR_VARS)
455
Justin Yun75f7cf92020-10-19 16:58:06 +0900456LOCAL_MODULE := _fs_config_dirs_odm_dlkm
Bob Badourd2c7c082022-01-24 15:21:32 -0800457LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
458LOCAL_LICENSE_CONDITIONS := notice
459LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Yifan Hongf496f1b2020-07-15 16:52:59 -0700460LOCAL_MODULE_CLASS := ETC
461LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
462LOCAL_MODULE_PATH := $(TARGET_OUT_ODM_DLKM)/etc
463include $(BUILD_SYSTEM)/base_rules.mk
Justin Yun9d3356b2021-07-13 11:42:18 +0900464$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config)
465$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header)
Yifan Hongf496f1b2020-07-15 16:52:59 -0700466$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
Justin Yun9d3356b2021-07-13 11:42:18 +0900467$(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 -0700468 @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
Justin Yun75f7cf92020-10-19 16:58:06 +0900479# Add fs_config_files or fs_config_files_nonsystem to PRODUCT_PACKAGES
480# in the device make file to enable
Yifan Hongf496f1b2020-07-15 16:52:59 -0700481include $(CLEAR_VARS)
482
Justin Yun75f7cf92020-10-19 16:58:06 +0900483LOCAL_MODULE := _fs_config_files_odm_dlkm
Bob Badourd2c7c082022-01-24 15:21:32 -0800484LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
485LOCAL_LICENSE_CONDITIONS := notice
486LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Yifan Hongf496f1b2020-07-15 16:52:59 -0700487LOCAL_MODULE_CLASS := ETC
488LOCAL_INSTALLED_MODULE_STEM := fs_config_files
489LOCAL_MODULE_PATH := $(TARGET_OUT_ODM_DLKM)/etc
490include $(BUILD_SYSTEM)/base_rules.mk
Justin Yun9d3356b2021-07-13 11:42:18 +0900491$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(vendor_android_filesystem_config)
492$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(vendor_capability_header)
Yifan Hongf496f1b2020-07-15 16:52:59 -0700493$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
Justin Yun9d3356b2021-07-13 11:42:18 +0900494$(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 -0700495 @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
Ramji Jiyani13a41372022-01-27 07:05:08 +0000506ifneq ($(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
Justin Yun75f7cf92020-10-19 16:58:06 +0900563ifneq ($(BOARD_USES_PRODUCTIMAGE)$(BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE),)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800564##################################
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
Justin Yun75f7cf92020-10-19 16:58:06 +0900570LOCAL_MODULE := _fs_config_dirs_product
Bob Badourd2c7c082022-01-24 15:21:32 -0800571LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
572LOCAL_LICENSE_CONDITIONS := notice
573LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyncf343a62018-11-16 09:44:07 -0800574LOCAL_MODULE_CLASS := ETC
575LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
576LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/etc
577include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800578$(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)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800582 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800583 $< 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)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800590
591##################################
592# Generate the product/etc/fs_config_files binary file for the target
Justin Yun75f7cf92020-10-19 16:58:06 +0900593# Add fs_config_files or fs_config_files_product to PRODUCT_PACKAGES in
Mark Salyzyncf343a62018-11-16 09:44:07 -0800594# the device make file to enable
595include $(CLEAR_VARS)
596
Justin Yun75f7cf92020-10-19 16:58:06 +0900597LOCAL_MODULE := _fs_config_files_product
Bob Badourd2c7c082022-01-24 15:21:32 -0800598LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
599LOCAL_LICENSE_CONDITIONS := notice
600LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyncf343a62018-11-16 09:44:07 -0800601LOCAL_MODULE_CLASS := ETC
602LOCAL_INSTALLED_MODULE_STEM := fs_config_files
603LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/etc
604include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800605$(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)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800609 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800610 $< 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)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800617endif
618
Justin Yun75f7cf92020-10-19 16:58:06 +0900619ifneq ($(BOARD_USES_SYSTEM_EXTIMAGE)$(BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE),)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800620##################################
Justin Yun6151e3f2019-06-25 15:58:13 +0900621# 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
Mark Salyzyncf343a62018-11-16 09:44:07 -0800623# the device make file to enable
624include $(CLEAR_VARS)
625
Justin Yun75f7cf92020-10-19 16:58:06 +0900626LOCAL_MODULE := _fs_config_dirs_system_ext
Bob Badourd2c7c082022-01-24 15:21:32 -0800627LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
628LOCAL_LICENSE_CONDITIONS := notice
629LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyncf343a62018-11-16 09:44:07 -0800630LOCAL_MODULE_CLASS := ETC
631LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
Justin Yun6151e3f2019-06-25 15:58:13 +0900632LOCAL_MODULE_PATH := $(TARGET_OUT_SYSTEM_EXT)/etc
Mark Salyzyncf343a62018-11-16 09:44:07 -0800633include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800634$(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)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800638 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800639 $< fsconfig \
640 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
641 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
Justin Yun6151e3f2019-06-25 15:58:13 +0900642 --partition system_ext \
Tom Cherry9d924f62019-02-13 14:02:30 -0800643 --dirs \
644 --out_file $@ \
645 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800646
647##################################
Justin Yun6151e3f2019-06-25 15:58:13 +0900648# Generate the system_ext/etc/fs_config_files binary file for the target
Justin Yun75f7cf92020-10-19 16:58:06 +0900649# Add fs_config_files or fs_config_files_system_ext to PRODUCT_PACKAGES in
Mark Salyzyncf343a62018-11-16 09:44:07 -0800650# the device make file to enable
651include $(CLEAR_VARS)
652
Justin Yun75f7cf92020-10-19 16:58:06 +0900653LOCAL_MODULE := _fs_config_files_system_ext
Bob Badourd2c7c082022-01-24 15:21:32 -0800654LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
655LOCAL_LICENSE_CONDITIONS := notice
656LOCAL_NOTICE_FILE := build/soong/licenses/LICENSE
Mark Salyzyncf343a62018-11-16 09:44:07 -0800657LOCAL_MODULE_CLASS := ETC
658LOCAL_INSTALLED_MODULE_STEM := fs_config_files
Justin Yun6151e3f2019-06-25 15:58:13 +0900659LOCAL_MODULE_PATH := $(TARGET_OUT_SYSTEM_EXT)/etc
Mark Salyzyncf343a62018-11-16 09:44:07 -0800660include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800661$(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)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800665 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800666 $< fsconfig \
667 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
668 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
Justin Yun6151e3f2019-06-25 15:58:13 +0900669 --partition system_ext \
Tom Cherry9d924f62019-02-13 14:02:30 -0800670 --files \
671 --out_file $@ \
672 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800673endif
674
Elliott Hughes2d7c86d2016-12-13 23:37:07 +0000675system_android_filesystem_config :=
Tom Cherry9d924f62019-02-13 14:02:30 -0800676system_capability_header :=
William Roberts6b19e492017-05-15 11:02:53 -0700677fs_config_generate_extra_partition_list :=