blob: 60b51b61331883766b499ccb4281bc05c8b1fb0c [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 Cherry53940fd2018-06-14 12:19:19 -070027system_android_filesystem_config := system/core/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
Yifan Hongcfb917a2020-05-07 14:58:20 -070030# List of supported vendor, oem, odm, vendor_dlkm, product and system_ext Partitions
Mark Salyzyn1fd588c2017-03-22 15:53:12 -070031fs_config_generate_extra_partition_list := $(strip \
32 $(if $(BOARD_USES_VENDORIMAGE)$(BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE),vendor) \
33 $(if $(BOARD_USES_OEMIMAGE)$(BOARD_OEMIMAGE_FILE_SYSTEM_TYPE),oem) \
Mark Salyzyncf343a62018-11-16 09:44:07 -080034 $(if $(BOARD_USES_ODMIMAGE)$(BOARD_ODMIMAGE_FILE_SYSTEM_TYPE),odm) \
Yifan Hongcfb917a2020-05-07 14:58:20 -070035 $(if $(BOARD_USES_VENDOR_DLKMIMAGE)$(BOARD_VENDOR_DLKMIMAGE_FILE_SYSTEM_TYPE),vendor_dlkm) \
Mark Salyzyncf343a62018-11-16 09:44:07 -080036 $(if $(BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE),product) \
Justin Yun6151e3f2019-06-25 15:58:13 +090037 $(if $(BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE),system_ext) \
Mark Salyzyncf343a62018-11-16 09:44:07 -080038)
Mark Salyzyn06b91b92015-04-01 14:41:29 -070039
William Robertsc950a352016-03-04 18:12:29 -080040##################################
Anton Hanssone85ec842018-06-26 14:03:38 +010041# Generate the <p>/etc/fs_config_dirs binary files for each partition.
42# Add fs_config_dirs to PRODUCT_PACKAGES in the device make file to enable.
Mark Salyzyn06b91b92015-04-01 14:41:29 -070043include $(CLEAR_VARS)
44
45LOCAL_MODULE := fs_config_dirs
Anton Hanssone85ec842018-06-26 14:03:38 +010046LOCAL_REQUIRED_MODULES := \
47 fs_config_dirs_system \
48 $(foreach t,$(fs_config_generate_extra_partition_list),$(LOCAL_MODULE)_$(t))
49include $(BUILD_PHONY_PACKAGE)
50
51
52##################################
53# Generate the <p>/etc/fs_config_files binary files for each partition.
54# Add fs_config_files to PRODUCT_PACKAGES in the device make file to enable.
55include $(CLEAR_VARS)
56
57LOCAL_MODULE := fs_config_files
58LOCAL_REQUIRED_MODULES := \
59 fs_config_files_system \
60 $(foreach t,$(fs_config_generate_extra_partition_list),$(LOCAL_MODULE)_$(t))
61include $(BUILD_PHONY_PACKAGE)
62
63##################################
64# Generate the <p>/etc/fs_config_dirs binary files for all enabled partitions
65# excluding /system. Add fs_config_dirs_nonsystem to PRODUCT_PACKAGES in the
66# device make file to enable.
67include $(CLEAR_VARS)
68
69LOCAL_MODULE := fs_config_dirs_nonsystem
70LOCAL_REQUIRED_MODULES := $(foreach t,$(fs_config_generate_extra_partition_list),fs_config_dirs_$(t))
71include $(BUILD_PHONY_PACKAGE)
72
73##################################
74# Generate the <p>/etc/fs_config_files binary files for all enabled partitions
75# excluding /system. Add fs_config_files_nonsystem to PRODUCT_PACKAGES in the
76# device make file to enable.
77include $(CLEAR_VARS)
78
79LOCAL_MODULE := fs_config_files_nonsystem
80LOCAL_REQUIRED_MODULES := $(foreach t,$(fs_config_generate_extra_partition_list),fs_config_files_$(t))
81include $(BUILD_PHONY_PACKAGE)
82
83##################################
84# Generate the system/etc/fs_config_dirs binary file for the target
85# Add fs_config_dirs or fs_config_dirs_system to PRODUCT_PACKAGES in
86# the device make file to enable
87include $(CLEAR_VARS)
88
89LOCAL_MODULE := fs_config_dirs_system
Mark Salyzyn06b91b92015-04-01 14:41:29 -070090LOCAL_MODULE_CLASS := ETC
Anton Hanssone85ec842018-06-26 14:03:38 +010091LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
Mark Salyzyn06b91b92015-04-01 14:41:29 -070092include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -080093$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
94$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
Mark Salyzyn705b59e2018-11-16 13:30:37 -080095$(LOCAL_BUILT_MODULE): PRIVATE_PARTITION_LIST := $(fs_config_generate_extra_partition_list)
Tom Cherry9d924f62019-02-13 14:02:30 -080096$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
97$(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 -070098 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -080099 $< fsconfig \
100 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
101 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
102 --partition system \
Felix8453f022019-05-26 12:09:50 +0200103 --all-partitions "$(subst $(space),$(comma),$(PRIVATE_PARTITION_LIST))" \
Tom Cherry9d924f62019-02-13 14:02:30 -0800104 --dirs \
105 --out_file $@ \
106 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700107
William Robertsc950a352016-03-04 18:12:29 -0800108##################################
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700109# Generate the system/etc/fs_config_files binary file for the target
Anton Hanssone85ec842018-06-26 14:03:38 +0100110# Add fs_config_files or fs_config_files_system to PRODUCT_PACKAGES in
111# the device make file to enable
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700112include $(CLEAR_VARS)
113
Anton Hanssone85ec842018-06-26 14:03:38 +0100114LOCAL_MODULE := fs_config_files_system
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700115LOCAL_MODULE_CLASS := ETC
Anton Hanssone85ec842018-06-26 14:03:38 +0100116LOCAL_INSTALLED_MODULE_STEM := fs_config_files
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700117include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800118$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
119$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
Mark Salyzyn705b59e2018-11-16 13:30:37 -0800120$(LOCAL_BUILT_MODULE): PRIVATE_PARTITION_LIST := $(fs_config_generate_extra_partition_list)
Tom Cherry9d924f62019-02-13 14:02:30 -0800121$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
122$(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 -0700123 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800124 $< fsconfig \
125 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
126 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
127 --partition system \
Felix8453f022019-05-26 12:09:50 +0200128 --all-partitions "$(subst $(space),$(comma),$(PRIVATE_PARTITION_LIST))" \
Tom Cherry9d924f62019-02-13 14:02:30 -0800129 --files \
130 --out_file $@ \
131 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700132
133ifneq ($(filter vendor,$(fs_config_generate_extra_partition_list)),)
134##################################
135# Generate the vendor/etc/fs_config_dirs binary file for the target
136# Add fs_config_dirs or fs_config_dirs_vendor to PRODUCT_PACKAGES in
137# the device make file to enable.
138include $(CLEAR_VARS)
139
140LOCAL_MODULE := fs_config_dirs_vendor
141LOCAL_MODULE_CLASS := ETC
142LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
143LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/etc
144include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800145$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
146$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
147$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
148$(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 -0700149 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800150 $< fsconfig \
151 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
152 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
153 --partition vendor \
154 --dirs \
155 --out_file $@ \
156 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700157
158##################################
159# Generate the vendor/etc/fs_config_files binary file for the target
160# Add fs_config_files or fs_config_files_vendor to PRODUCT_PACKAGES in
161# the device make file to enable
162include $(CLEAR_VARS)
163
164LOCAL_MODULE := fs_config_files_vendor
165LOCAL_MODULE_CLASS := ETC
166LOCAL_INSTALLED_MODULE_STEM := fs_config_files
167LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/etc
168include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800169$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
170$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
171$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
172$(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 -0700173 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800174 $< fsconfig \
175 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
176 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
177 --partition vendor \
178 --files \
179 --out_file $@ \
180 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700181
182endif
183
184ifneq ($(filter oem,$(fs_config_generate_extra_partition_list)),)
185##################################
186# Generate the oem/etc/fs_config_dirs binary file for the target
187# Add fs_config_dirs or fs_config_dirs_oem to PRODUCT_PACKAGES in
188# the device make file to enable
189include $(CLEAR_VARS)
190
191LOCAL_MODULE := fs_config_dirs_oem
192LOCAL_MODULE_CLASS := ETC
193LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
194LOCAL_MODULE_PATH := $(TARGET_OUT_OEM)/etc
195include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800196$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
197$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
198$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
199$(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 -0700200 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800201 $< fsconfig \
202 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
203 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
204 --partition oem \
205 --dirs \
206 --out_file $@ \
207 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700208
209##################################
210# Generate the oem/etc/fs_config_files binary file for the target
211# Add fs_config_files or fs_config_files_oem to PRODUCT_PACKAGES in
212# the device make file to enable
213include $(CLEAR_VARS)
214
215LOCAL_MODULE := fs_config_files_oem
216LOCAL_MODULE_CLASS := ETC
217LOCAL_INSTALLED_MODULE_STEM := fs_config_files
218LOCAL_MODULE_PATH := $(TARGET_OUT_OEM)/etc
219include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800220$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
221$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
222$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
223$(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 -0700224 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800225 $< fsconfig \
226 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
227 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
228 --partition oem \
229 --files \
230 --out_file $@ \
231 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700232
233endif
234
235ifneq ($(filter odm,$(fs_config_generate_extra_partition_list)),)
236##################################
237# Generate the odm/etc/fs_config_dirs binary file for the target
238# Add fs_config_dirs or fs_config_dirs_odm to PRODUCT_PACKAGES in
239# the device make file to enable
240include $(CLEAR_VARS)
241
242LOCAL_MODULE := fs_config_dirs_odm
243LOCAL_MODULE_CLASS := ETC
244LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
245LOCAL_MODULE_PATH := $(TARGET_OUT_ODM)/etc
246include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800247$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
248$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
249$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
250$(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 -0700251 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800252 $< fsconfig \
253 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
254 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
255 --partition odm \
256 --dirs \
257 --out_file $@ \
258 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700259
260##################################
261# Generate the odm/etc/fs_config_files binary file for the target
262# Add fs_config_files of fs_config_files_odm to PRODUCT_PACKAGES in
263# the device make file to enable
264include $(CLEAR_VARS)
265
266LOCAL_MODULE := fs_config_files_odm
267LOCAL_MODULE_CLASS := ETC
268LOCAL_INSTALLED_MODULE_STEM := fs_config_files
269LOCAL_MODULE_PATH := $(TARGET_OUT_ODM)/etc
270include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800271$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
272$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
273$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
274$(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 -0700275 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800276 $< fsconfig \
277 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
278 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
279 --partition odm \
280 --files \
281 --out_file $@ \
282 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700283
284endif
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700285
Yifan Hongcfb917a2020-05-07 14:58:20 -0700286ifneq ($(filter vendor_dlkm,$(fs_config_generate_extra_partition_list)),)
287##################################
288# Generate the vendor_dlkm/etc/fs_config_dirs binary file for the target
289# Add fs_config_dirs or fs_config_dirs_vendor_dlkm to PRODUCT_PACKAGES in
290# the device make file to enable
291include $(CLEAR_VARS)
292
293LOCAL_MODULE := fs_config_dirs_vendor_dlkm
294LOCAL_MODULE_CLASS := ETC
295LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
296LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_DLKM)/etc
297include $(BUILD_SYSTEM)/base_rules.mk
298$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
299$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
300$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
301$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(system_android_filesystem_config) $(system_capability_header)
302 @mkdir -p $(dir $@)
303 $< fsconfig \
304 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
305 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
306 --partition vendor_dlkm \
307 --dirs \
308 --out_file $@ \
309 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
310
311##################################
312# Generate the vendor_dlkm/etc/fs_config_files binary file for the target
313# Add fs_config_files of fs_config_files_vendor_dlkm to PRODUCT_PACKAGES in
314# the device make file to enable
315include $(CLEAR_VARS)
316
317LOCAL_MODULE := fs_config_files_vendor_dlkm
318LOCAL_MODULE_CLASS := ETC
319LOCAL_INSTALLED_MODULE_STEM := fs_config_files
320LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_DLKM)/etc
321include $(BUILD_SYSTEM)/base_rules.mk
322$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
323$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
324$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
325$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(system_android_filesystem_config) $(system_capability_header)
326 @mkdir -p $(dir $@)
327 $< fsconfig \
328 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
329 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
330 --partition vendor_dlkm \
331 --files \
332 --out_file $@ \
333 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
334
335endif
336
Mark Salyzyncf343a62018-11-16 09:44:07 -0800337ifneq ($(filter product,$(fs_config_generate_extra_partition_list)),)
338##################################
339# Generate the product/etc/fs_config_dirs binary file for the target
340# Add fs_config_dirs or fs_config_dirs_product to PRODUCT_PACKAGES in
341# the device make file to enable
342include $(CLEAR_VARS)
343
344LOCAL_MODULE := fs_config_dirs_product
345LOCAL_MODULE_CLASS := ETC
346LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
347LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/etc
348include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800349$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
350$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
351$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
352$(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 -0800353 @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 product \
358 --dirs \
359 --out_file $@ \
360 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800361
362##################################
363# Generate the product/etc/fs_config_files binary file for the target
364# Add fs_config_files of fs_config_files_product to PRODUCT_PACKAGES in
365# the device make file to enable
366include $(CLEAR_VARS)
367
368LOCAL_MODULE := fs_config_files_product
369LOCAL_MODULE_CLASS := ETC
370LOCAL_INSTALLED_MODULE_STEM := fs_config_files
371LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/etc
372include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800373$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
374$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
375$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
376$(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 -0800377 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800378 $< fsconfig \
379 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
380 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
381 --partition product \
382 --files \
383 --out_file $@ \
384 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800385endif
386
Justin Yun6151e3f2019-06-25 15:58:13 +0900387ifneq ($(filter system_ext,$(fs_config_generate_extra_partition_list)),)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800388##################################
Justin Yun6151e3f2019-06-25 15:58:13 +0900389# Generate the system_ext/etc/fs_config_dirs binary file for the target
390# Add fs_config_dirs or fs_config_dirs_system_ext to PRODUCT_PACKAGES in
Mark Salyzyncf343a62018-11-16 09:44:07 -0800391# the device make file to enable
392include $(CLEAR_VARS)
393
Justin Yun6151e3f2019-06-25 15:58:13 +0900394LOCAL_MODULE := fs_config_dirs_system_ext
Mark Salyzyncf343a62018-11-16 09:44:07 -0800395LOCAL_MODULE_CLASS := ETC
396LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
Justin Yun6151e3f2019-06-25 15:58:13 +0900397LOCAL_MODULE_PATH := $(TARGET_OUT_SYSTEM_EXT)/etc
Mark Salyzyncf343a62018-11-16 09:44:07 -0800398include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800399$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
400$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
401$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
402$(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 -0800403 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800404 $< fsconfig \
405 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
406 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
Justin Yun6151e3f2019-06-25 15:58:13 +0900407 --partition system_ext \
Tom Cherry9d924f62019-02-13 14:02:30 -0800408 --dirs \
409 --out_file $@ \
410 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800411
412##################################
Justin Yun6151e3f2019-06-25 15:58:13 +0900413# Generate the system_ext/etc/fs_config_files binary file for the target
414# Add fs_config_files of fs_config_files_system_ext to PRODUCT_PACKAGES in
Mark Salyzyncf343a62018-11-16 09:44:07 -0800415# the device make file to enable
416include $(CLEAR_VARS)
417
Justin Yun6151e3f2019-06-25 15:58:13 +0900418LOCAL_MODULE := fs_config_files_system_ext
Mark Salyzyncf343a62018-11-16 09:44:07 -0800419LOCAL_MODULE_CLASS := ETC
420LOCAL_INSTALLED_MODULE_STEM := fs_config_files
Justin Yun6151e3f2019-06-25 15:58:13 +0900421LOCAL_MODULE_PATH := $(TARGET_OUT_SYSTEM_EXT)/etc
Mark Salyzyncf343a62018-11-16 09:44:07 -0800422include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800423$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
424$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
425$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
426$(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 -0800427 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800428 $< fsconfig \
429 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
430 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
Justin Yun6151e3f2019-06-25 15:58:13 +0900431 --partition system_ext \
Tom Cherry9d924f62019-02-13 14:02:30 -0800432 --files \
433 --out_file $@ \
434 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800435endif
436
Elliott Hughes2d7c86d2016-12-13 23:37:07 +0000437system_android_filesystem_config :=
Tom Cherry9d924f62019-02-13 14:02:30 -0800438system_capability_header :=
William Roberts6b19e492017-05-15 11:02:53 -0700439fs_config_generate_extra_partition_list :=