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