blob: 41e8ca56649e92674bdc442773da8888a0a42b3f [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 Hongf496f1b2020-07-15 16:52:59 -070030# List of supported vendor, oem, odm, vendor_dlkm, odm_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) \
Yifan Hongf496f1b2020-07-15 16:52:59 -070036 $(if $(BOARD_USES_ODM_DLKMIMAGE)$(BOARD_ODM_DLKMIMAGE_FILE_SYSTEM_TYPE),odm_dlkm) \
Mark Salyzyncf343a62018-11-16 09:44:07 -080037 $(if $(BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE),product) \
Justin Yun6151e3f2019-06-25 15:58:13 +090038 $(if $(BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE),system_ext) \
Mark Salyzyncf343a62018-11-16 09:44:07 -080039)
Mark Salyzyn06b91b92015-04-01 14:41:29 -070040
William Robertsc950a352016-03-04 18:12:29 -080041##################################
Anton Hanssone85ec842018-06-26 14:03:38 +010042# Generate the <p>/etc/fs_config_dirs binary files for each partition.
43# Add fs_config_dirs to PRODUCT_PACKAGES in the device make file to enable.
Mark Salyzyn06b91b92015-04-01 14:41:29 -070044include $(CLEAR_VARS)
45
46LOCAL_MODULE := fs_config_dirs
Anton Hanssone85ec842018-06-26 14:03:38 +010047LOCAL_REQUIRED_MODULES := \
48 fs_config_dirs_system \
49 $(foreach t,$(fs_config_generate_extra_partition_list),$(LOCAL_MODULE)_$(t))
50include $(BUILD_PHONY_PACKAGE)
51
52
53##################################
54# Generate the <p>/etc/fs_config_files binary files for each partition.
55# Add fs_config_files to PRODUCT_PACKAGES in the device make file to enable.
56include $(CLEAR_VARS)
57
58LOCAL_MODULE := fs_config_files
59LOCAL_REQUIRED_MODULES := \
60 fs_config_files_system \
61 $(foreach t,$(fs_config_generate_extra_partition_list),$(LOCAL_MODULE)_$(t))
62include $(BUILD_PHONY_PACKAGE)
63
64##################################
65# Generate the <p>/etc/fs_config_dirs binary files for all enabled partitions
66# excluding /system. Add fs_config_dirs_nonsystem to PRODUCT_PACKAGES in the
67# device make file to enable.
68include $(CLEAR_VARS)
69
70LOCAL_MODULE := fs_config_dirs_nonsystem
71LOCAL_REQUIRED_MODULES := $(foreach t,$(fs_config_generate_extra_partition_list),fs_config_dirs_$(t))
72include $(BUILD_PHONY_PACKAGE)
73
74##################################
75# Generate the <p>/etc/fs_config_files binary files for all enabled partitions
76# excluding /system. Add fs_config_files_nonsystem to PRODUCT_PACKAGES in the
77# device make file to enable.
78include $(CLEAR_VARS)
79
80LOCAL_MODULE := fs_config_files_nonsystem
81LOCAL_REQUIRED_MODULES := $(foreach t,$(fs_config_generate_extra_partition_list),fs_config_files_$(t))
82include $(BUILD_PHONY_PACKAGE)
83
84##################################
85# Generate the system/etc/fs_config_dirs binary file for the target
86# Add fs_config_dirs or fs_config_dirs_system to PRODUCT_PACKAGES in
87# the device make file to enable
88include $(CLEAR_VARS)
89
90LOCAL_MODULE := fs_config_dirs_system
Mark Salyzyn06b91b92015-04-01 14:41:29 -070091LOCAL_MODULE_CLASS := ETC
Anton Hanssone85ec842018-06-26 14:03:38 +010092LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
Mark Salyzyn06b91b92015-04-01 14:41:29 -070093include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -080094$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
95$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
Mark Salyzyn705b59e2018-11-16 13:30:37 -080096$(LOCAL_BUILT_MODULE): PRIVATE_PARTITION_LIST := $(fs_config_generate_extra_partition_list)
Tom Cherry9d924f62019-02-13 14:02:30 -080097$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
98$(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 -070099 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800100 $< fsconfig \
101 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
102 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
103 --partition system \
Felix8453f022019-05-26 12:09:50 +0200104 --all-partitions "$(subst $(space),$(comma),$(PRIVATE_PARTITION_LIST))" \
Tom Cherry9d924f62019-02-13 14:02:30 -0800105 --dirs \
106 --out_file $@ \
107 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700108
William Robertsc950a352016-03-04 18:12:29 -0800109##################################
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700110# Generate the system/etc/fs_config_files binary file for the target
Anton Hanssone85ec842018-06-26 14:03:38 +0100111# Add fs_config_files or fs_config_files_system to PRODUCT_PACKAGES in
112# the device make file to enable
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700113include $(CLEAR_VARS)
114
Anton Hanssone85ec842018-06-26 14:03:38 +0100115LOCAL_MODULE := fs_config_files_system
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700116LOCAL_MODULE_CLASS := ETC
Anton Hanssone85ec842018-06-26 14:03:38 +0100117LOCAL_INSTALLED_MODULE_STEM := fs_config_files
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700118include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800119$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
120$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
Mark Salyzyn705b59e2018-11-16 13:30:37 -0800121$(LOCAL_BUILT_MODULE): PRIVATE_PARTITION_LIST := $(fs_config_generate_extra_partition_list)
Tom Cherry9d924f62019-02-13 14:02:30 -0800122$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
123$(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 -0700124 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800125 $< fsconfig \
126 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
127 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
128 --partition system \
Felix8453f022019-05-26 12:09:50 +0200129 --all-partitions "$(subst $(space),$(comma),$(PRIVATE_PARTITION_LIST))" \
Tom Cherry9d924f62019-02-13 14:02:30 -0800130 --files \
131 --out_file $@ \
132 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700133
134ifneq ($(filter vendor,$(fs_config_generate_extra_partition_list)),)
135##################################
136# Generate the vendor/etc/fs_config_dirs binary file for the target
137# Add fs_config_dirs or fs_config_dirs_vendor to PRODUCT_PACKAGES in
138# the device make file to enable.
139include $(CLEAR_VARS)
140
141LOCAL_MODULE := fs_config_dirs_vendor
142LOCAL_MODULE_CLASS := ETC
143LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
144LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/etc
145include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800146$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
147$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
148$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
149$(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 -0700150 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800151 $< fsconfig \
152 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
153 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
154 --partition vendor \
155 --dirs \
156 --out_file $@ \
157 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700158
159##################################
160# Generate the vendor/etc/fs_config_files binary file for the target
161# Add fs_config_files or fs_config_files_vendor to PRODUCT_PACKAGES in
162# the device make file to enable
163include $(CLEAR_VARS)
164
165LOCAL_MODULE := fs_config_files_vendor
166LOCAL_MODULE_CLASS := ETC
167LOCAL_INSTALLED_MODULE_STEM := fs_config_files
168LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/etc
169include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800170$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
171$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
172$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
173$(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 -0700174 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800175 $< fsconfig \
176 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
177 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
178 --partition vendor \
179 --files \
180 --out_file $@ \
181 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700182
183endif
184
185ifneq ($(filter oem,$(fs_config_generate_extra_partition_list)),)
186##################################
187# Generate the oem/etc/fs_config_dirs binary file for the target
188# Add fs_config_dirs or fs_config_dirs_oem to PRODUCT_PACKAGES in
189# the device make file to enable
190include $(CLEAR_VARS)
191
192LOCAL_MODULE := fs_config_dirs_oem
193LOCAL_MODULE_CLASS := ETC
194LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
195LOCAL_MODULE_PATH := $(TARGET_OUT_OEM)/etc
196include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800197$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
198$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
199$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
200$(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 -0700201 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800202 $< fsconfig \
203 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
204 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
205 --partition oem \
206 --dirs \
207 --out_file $@ \
208 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700209
210##################################
211# Generate the oem/etc/fs_config_files binary file for the target
212# Add fs_config_files or fs_config_files_oem to PRODUCT_PACKAGES in
213# the device make file to enable
214include $(CLEAR_VARS)
215
216LOCAL_MODULE := fs_config_files_oem
217LOCAL_MODULE_CLASS := ETC
218LOCAL_INSTALLED_MODULE_STEM := fs_config_files
219LOCAL_MODULE_PATH := $(TARGET_OUT_OEM)/etc
220include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800221$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
222$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
223$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
224$(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 -0700225 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800226 $< fsconfig \
227 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
228 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
229 --partition oem \
230 --files \
231 --out_file $@ \
232 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700233
234endif
235
236ifneq ($(filter odm,$(fs_config_generate_extra_partition_list)),)
237##################################
238# Generate the odm/etc/fs_config_dirs binary file for the target
239# Add fs_config_dirs or fs_config_dirs_odm to PRODUCT_PACKAGES in
240# the device make file to enable
241include $(CLEAR_VARS)
242
243LOCAL_MODULE := fs_config_dirs_odm
244LOCAL_MODULE_CLASS := ETC
245LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
246LOCAL_MODULE_PATH := $(TARGET_OUT_ODM)/etc
247include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800248$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
249$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
250$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
251$(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 -0700252 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800253 $< fsconfig \
254 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
255 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
256 --partition odm \
257 --dirs \
258 --out_file $@ \
259 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700260
261##################################
262# Generate the odm/etc/fs_config_files binary file for the target
263# Add fs_config_files of fs_config_files_odm to PRODUCT_PACKAGES in
264# the device make file to enable
265include $(CLEAR_VARS)
266
267LOCAL_MODULE := fs_config_files_odm
268LOCAL_MODULE_CLASS := ETC
269LOCAL_INSTALLED_MODULE_STEM := fs_config_files
270LOCAL_MODULE_PATH := $(TARGET_OUT_ODM)/etc
271include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800272$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
273$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
274$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
275$(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 -0700276 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800277 $< fsconfig \
278 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
279 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
280 --partition odm \
281 --files \
282 --out_file $@ \
283 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyn1fd588c2017-03-22 15:53:12 -0700284
285endif
Mark Salyzyn06b91b92015-04-01 14:41:29 -0700286
Yifan Hongcfb917a2020-05-07 14:58:20 -0700287ifneq ($(filter vendor_dlkm,$(fs_config_generate_extra_partition_list)),)
288##################################
289# Generate the vendor_dlkm/etc/fs_config_dirs binary file for the target
290# Add fs_config_dirs or fs_config_dirs_vendor_dlkm to PRODUCT_PACKAGES in
291# the device make file to enable
292include $(CLEAR_VARS)
293
294LOCAL_MODULE := fs_config_dirs_vendor_dlkm
295LOCAL_MODULE_CLASS := ETC
296LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
297LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_DLKM)/etc
298include $(BUILD_SYSTEM)/base_rules.mk
299$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
300$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
301$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
302$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(system_android_filesystem_config) $(system_capability_header)
303 @mkdir -p $(dir $@)
304 $< fsconfig \
305 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
306 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
307 --partition vendor_dlkm \
308 --dirs \
309 --out_file $@ \
310 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
311
312##################################
313# Generate the vendor_dlkm/etc/fs_config_files binary file for the target
314# Add fs_config_files of fs_config_files_vendor_dlkm to PRODUCT_PACKAGES in
315# the device make file to enable
316include $(CLEAR_VARS)
317
318LOCAL_MODULE := fs_config_files_vendor_dlkm
319LOCAL_MODULE_CLASS := ETC
320LOCAL_INSTALLED_MODULE_STEM := fs_config_files
321LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_DLKM)/etc
322include $(BUILD_SYSTEM)/base_rules.mk
323$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
324$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
325$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
326$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(system_android_filesystem_config) $(system_capability_header)
327 @mkdir -p $(dir $@)
328 $< fsconfig \
329 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
330 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
331 --partition vendor_dlkm \
332 --files \
333 --out_file $@ \
334 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
335
336endif
337
Yifan Hongf496f1b2020-07-15 16:52:59 -0700338ifneq ($(filter odm_dlkm,$(fs_config_generate_extra_partition_list)),)
339##################################
340# Generate the odm_dlkm/etc/fs_config_dirs binary file for the target
341# Add fs_config_dirs or fs_config_dirs_odm_dlkm to PRODUCT_PACKAGES in
342# the device make file to enable
343include $(CLEAR_VARS)
344
345LOCAL_MODULE := fs_config_dirs_odm_dlkm
346LOCAL_MODULE_CLASS := ETC
347LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
348LOCAL_MODULE_PATH := $(TARGET_OUT_ODM_DLKM)/etc
349include $(BUILD_SYSTEM)/base_rules.mk
350$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
351$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
352$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
353$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(system_android_filesystem_config) $(system_capability_header)
354 @mkdir -p $(dir $@)
355 $< fsconfig \
356 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
357 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
358 --partition odm_dlkm \
359 --dirs \
360 --out_file $@ \
361 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
362
363##################################
364# Generate the odm_dlkm/etc/fs_config_files binary file for the target
365# Add fs_config_files of fs_config_files_odm_dlkm to PRODUCT_PACKAGES in
366# the device make file to enable
367include $(CLEAR_VARS)
368
369LOCAL_MODULE := fs_config_files_odm_dlkm
370LOCAL_MODULE_CLASS := ETC
371LOCAL_INSTALLED_MODULE_STEM := fs_config_files
372LOCAL_MODULE_PATH := $(TARGET_OUT_ODM_DLKM)/etc
373include $(BUILD_SYSTEM)/base_rules.mk
374$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
375$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
376$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
377$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/fs_config_generator.py $(TARGET_FS_CONFIG_GEN) $(system_android_filesystem_config) $(system_capability_header)
378 @mkdir -p $(dir $@)
379 $< fsconfig \
380 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
381 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
382 --partition odm_dlkm \
383 --files \
384 --out_file $@ \
385 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
386
387endif
388
Mark Salyzyncf343a62018-11-16 09:44:07 -0800389ifneq ($(filter product,$(fs_config_generate_extra_partition_list)),)
390##################################
391# Generate the product/etc/fs_config_dirs binary file for the target
392# Add fs_config_dirs or fs_config_dirs_product to PRODUCT_PACKAGES in
393# the device make file to enable
394include $(CLEAR_VARS)
395
396LOCAL_MODULE := fs_config_dirs_product
397LOCAL_MODULE_CLASS := ETC
398LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
399LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/etc
400include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800401$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
402$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
403$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
404$(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 -0800405 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800406 $< fsconfig \
407 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
408 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
409 --partition product \
410 --dirs \
411 --out_file $@ \
412 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800413
414##################################
415# Generate the product/etc/fs_config_files binary file for the target
416# Add fs_config_files of fs_config_files_product to PRODUCT_PACKAGES in
417# the device make file to enable
418include $(CLEAR_VARS)
419
420LOCAL_MODULE := fs_config_files_product
421LOCAL_MODULE_CLASS := ETC
422LOCAL_INSTALLED_MODULE_STEM := fs_config_files
423LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/etc
424include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800425$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
426$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
427$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
428$(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 -0800429 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800430 $< fsconfig \
431 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
432 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
433 --partition product \
434 --files \
435 --out_file $@ \
436 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800437endif
438
Justin Yun6151e3f2019-06-25 15:58:13 +0900439ifneq ($(filter system_ext,$(fs_config_generate_extra_partition_list)),)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800440##################################
Justin Yun6151e3f2019-06-25 15:58:13 +0900441# Generate the system_ext/etc/fs_config_dirs binary file for the target
442# Add fs_config_dirs or fs_config_dirs_system_ext to PRODUCT_PACKAGES in
Mark Salyzyncf343a62018-11-16 09:44:07 -0800443# the device make file to enable
444include $(CLEAR_VARS)
445
Justin Yun6151e3f2019-06-25 15:58:13 +0900446LOCAL_MODULE := fs_config_dirs_system_ext
Mark Salyzyncf343a62018-11-16 09:44:07 -0800447LOCAL_MODULE_CLASS := ETC
448LOCAL_INSTALLED_MODULE_STEM := fs_config_dirs
Justin Yun6151e3f2019-06-25 15:58:13 +0900449LOCAL_MODULE_PATH := $(TARGET_OUT_SYSTEM_EXT)/etc
Mark Salyzyncf343a62018-11-16 09:44:07 -0800450include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800451$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
452$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
453$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
454$(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 -0800455 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800456 $< fsconfig \
457 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
458 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
Justin Yun6151e3f2019-06-25 15:58:13 +0900459 --partition system_ext \
Tom Cherry9d924f62019-02-13 14:02:30 -0800460 --dirs \
461 --out_file $@ \
462 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800463
464##################################
Justin Yun6151e3f2019-06-25 15:58:13 +0900465# Generate the system_ext/etc/fs_config_files binary file for the target
466# Add fs_config_files of fs_config_files_system_ext to PRODUCT_PACKAGES in
Mark Salyzyncf343a62018-11-16 09:44:07 -0800467# the device make file to enable
468include $(CLEAR_VARS)
469
Justin Yun6151e3f2019-06-25 15:58:13 +0900470LOCAL_MODULE := fs_config_files_system_ext
Mark Salyzyncf343a62018-11-16 09:44:07 -0800471LOCAL_MODULE_CLASS := ETC
472LOCAL_INSTALLED_MODULE_STEM := fs_config_files
Justin Yun6151e3f2019-06-25 15:58:13 +0900473LOCAL_MODULE_PATH := $(TARGET_OUT_SYSTEM_EXT)/etc
Mark Salyzyncf343a62018-11-16 09:44:07 -0800474include $(BUILD_SYSTEM)/base_rules.mk
Tom Cherry9d924f62019-02-13 14:02:30 -0800475$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_FS_HDR := $(system_android_filesystem_config)
476$(LOCAL_BUILT_MODULE): PRIVATE_ANDROID_CAP_HDR := $(system_capability_header)
477$(LOCAL_BUILT_MODULE): PRIVATE_TARGET_FS_CONFIG_GEN := $(TARGET_FS_CONFIG_GEN)
478$(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 -0800479 @mkdir -p $(dir $@)
Tom Cherry9d924f62019-02-13 14:02:30 -0800480 $< fsconfig \
481 --aid-header $(PRIVATE_ANDROID_FS_HDR) \
482 --capability-header $(PRIVATE_ANDROID_CAP_HDR) \
Justin Yun6151e3f2019-06-25 15:58:13 +0900483 --partition system_ext \
Tom Cherry9d924f62019-02-13 14:02:30 -0800484 --files \
485 --out_file $@ \
486 $(or $(PRIVATE_TARGET_FS_CONFIG_GEN),/dev/null)
Mark Salyzyncf343a62018-11-16 09:44:07 -0800487endif
488
Elliott Hughes2d7c86d2016-12-13 23:37:07 +0000489system_android_filesystem_config :=
Tom Cherry9d924f62019-02-13 14:02:30 -0800490system_capability_header :=
William Roberts6b19e492017-05-15 11:02:53 -0700491fs_config_generate_extra_partition_list :=