xref: /aosp_15_r20/build/make/tools/fs_config/Android.bp (revision 9e94795a3d4ef5c1d47486f9a02bb378756cea8a)
1*9e94795aSAndroid Build Coastguard Worker// Copyright (C) 2008 The Android Open Source Project
2*9e94795aSAndroid Build Coastguard Worker//
3*9e94795aSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*9e94795aSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*9e94795aSAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*9e94795aSAndroid Build Coastguard Worker//
7*9e94795aSAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*9e94795aSAndroid Build Coastguard Worker//
9*9e94795aSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*9e94795aSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*9e94795aSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*9e94795aSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*9e94795aSAndroid Build Coastguard Worker// limitations under the License.
14*9e94795aSAndroid Build Coastguard Worker
15*9e94795aSAndroid Build Coastguard Workerpackage {
16*9e94795aSAndroid Build Coastguard Worker    // See: http://go/android-license-faq
17*9e94795aSAndroid Build Coastguard Worker    default_applicable_licenses: ["Android-Apache-2.0"],
18*9e94795aSAndroid Build Coastguard Worker}
19*9e94795aSAndroid Build Coastguard Worker
20*9e94795aSAndroid Build Coastguard Workerbootstrap_go_package {
21*9e94795aSAndroid Build Coastguard Worker    name: "soong-fs_config",
22*9e94795aSAndroid Build Coastguard Worker    pkgPath: "android/soong/fs_config",
23*9e94795aSAndroid Build Coastguard Worker    deps: [
24*9e94795aSAndroid Build Coastguard Worker        "soong-android",
25*9e94795aSAndroid Build Coastguard Worker        "soong-genrule",
26*9e94795aSAndroid Build Coastguard Worker    ],
27*9e94795aSAndroid Build Coastguard Worker    srcs: [
28*9e94795aSAndroid Build Coastguard Worker        "fs_config.go",
29*9e94795aSAndroid Build Coastguard Worker    ],
30*9e94795aSAndroid Build Coastguard Worker    pluginFor: ["soong_build"],
31*9e94795aSAndroid Build Coastguard Worker}
32*9e94795aSAndroid Build Coastguard Worker
33*9e94795aSAndroid Build Coastguard Workercc_binary_host {
34*9e94795aSAndroid Build Coastguard Worker    name: "fs_config",
35*9e94795aSAndroid Build Coastguard Worker    srcs: ["fs_config.c"],
36*9e94795aSAndroid Build Coastguard Worker    shared_libs: [
37*9e94795aSAndroid Build Coastguard Worker        "libcutils",
38*9e94795aSAndroid Build Coastguard Worker    ],
39*9e94795aSAndroid Build Coastguard Worker    cflags: ["-Werror"],
40*9e94795aSAndroid Build Coastguard Worker}
41*9e94795aSAndroid Build Coastguard Worker
42*9e94795aSAndroid Build Coastguard Workerpython_binary_host {
43*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_generator",
44*9e94795aSAndroid Build Coastguard Worker    srcs: ["fs_config_generator.py"],
45*9e94795aSAndroid Build Coastguard Worker}
46*9e94795aSAndroid Build Coastguard Worker
47*9e94795aSAndroid Build Coastguard Workerpython_test_host {
48*9e94795aSAndroid Build Coastguard Worker    name: "test_fs_config_generator",
49*9e94795aSAndroid Build Coastguard Worker    main: "test_fs_config_generator.py",
50*9e94795aSAndroid Build Coastguard Worker    srcs: [
51*9e94795aSAndroid Build Coastguard Worker        "test_fs_config_generator.py",
52*9e94795aSAndroid Build Coastguard Worker        "fs_config_generator.py",
53*9e94795aSAndroid Build Coastguard Worker    ],
54*9e94795aSAndroid Build Coastguard Worker}
55*9e94795aSAndroid Build Coastguard Worker
56*9e94795aSAndroid Build Coastguard Workertarget_fs_config_gen_filegroup {
57*9e94795aSAndroid Build Coastguard Worker    name: "target_fs_config_gen",
58*9e94795aSAndroid Build Coastguard Worker}
59*9e94795aSAndroid Build Coastguard Worker
60*9e94795aSAndroid Build Coastguard Workergenrule {
61*9e94795aSAndroid Build Coastguard Worker    name: "oemaids_header_gen",
62*9e94795aSAndroid Build Coastguard Worker    tools: ["fs_config_generator"],
63*9e94795aSAndroid Build Coastguard Worker    cmd: "$(location fs_config_generator) oemaid --aid-header=$(location :android_filesystem_config_header) $(locations :target_fs_config_gen) >$(out)",
64*9e94795aSAndroid Build Coastguard Worker    srcs: [
65*9e94795aSAndroid Build Coastguard Worker        ":target_fs_config_gen",
66*9e94795aSAndroid Build Coastguard Worker        ":android_filesystem_config_header",
67*9e94795aSAndroid Build Coastguard Worker    ],
68*9e94795aSAndroid Build Coastguard Worker    out: ["generated_oem_aid.h"],
69*9e94795aSAndroid Build Coastguard Worker}
70*9e94795aSAndroid Build Coastguard Worker
71*9e94795aSAndroid Build Coastguard Workercc_library_headers {
72*9e94795aSAndroid Build Coastguard Worker    name: "oemaids_headers",
73*9e94795aSAndroid Build Coastguard Worker    vendor_available: true,
74*9e94795aSAndroid Build Coastguard Worker    generated_headers: ["oemaids_header_gen"],
75*9e94795aSAndroid Build Coastguard Worker    export_generated_headers: ["oemaids_header_gen"],
76*9e94795aSAndroid Build Coastguard Worker}
77*9e94795aSAndroid Build Coastguard Worker
78*9e94795aSAndroid Build Coastguard Worker// Generate the */etc/passwd text files for the target
79*9e94795aSAndroid Build Coastguard Worker// These files may be empty if no AIDs are defined in
80*9e94795aSAndroid Build Coastguard Worker// TARGET_FS_CONFIG_GEN files.
81*9e94795aSAndroid Build Coastguard Workergenrule {
82*9e94795aSAndroid Build Coastguard Worker    name: "passwd_gen_system",
83*9e94795aSAndroid Build Coastguard Worker    tools: ["fs_config_generator"],
84*9e94795aSAndroid Build Coastguard Worker    cmd: "$(location fs_config_generator) passwd --partition=system --aid-header=$(location :android_filesystem_config_header) $(locations :target_fs_config_gen) >$(out)",
85*9e94795aSAndroid Build Coastguard Worker    srcs: [
86*9e94795aSAndroid Build Coastguard Worker        ":target_fs_config_gen",
87*9e94795aSAndroid Build Coastguard Worker        ":android_filesystem_config_header",
88*9e94795aSAndroid Build Coastguard Worker    ],
89*9e94795aSAndroid Build Coastguard Worker    out: ["passwd"],
90*9e94795aSAndroid Build Coastguard Worker}
91*9e94795aSAndroid Build Coastguard Worker
92*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
93*9e94795aSAndroid Build Coastguard Worker    name: "passwd_system",
94*9e94795aSAndroid Build Coastguard Worker    filename: "passwd",
95*9e94795aSAndroid Build Coastguard Worker    src: ":passwd_gen_system",
96*9e94795aSAndroid Build Coastguard Worker}
97*9e94795aSAndroid Build Coastguard Worker
98*9e94795aSAndroid Build Coastguard Workergenrule {
99*9e94795aSAndroid Build Coastguard Worker    name: "passwd_gen_vendor",
100*9e94795aSAndroid Build Coastguard Worker    tools: ["fs_config_generator"],
101*9e94795aSAndroid Build Coastguard Worker    cmd: "$(location fs_config_generator) passwd --partition=vendor --aid-header=$(location :android_filesystem_config_header) $(locations :target_fs_config_gen) >$(out)",
102*9e94795aSAndroid Build Coastguard Worker    srcs: [
103*9e94795aSAndroid Build Coastguard Worker        ":target_fs_config_gen",
104*9e94795aSAndroid Build Coastguard Worker        ":android_filesystem_config_header",
105*9e94795aSAndroid Build Coastguard Worker    ],
106*9e94795aSAndroid Build Coastguard Worker    out: ["passwd"],
107*9e94795aSAndroid Build Coastguard Worker}
108*9e94795aSAndroid Build Coastguard Worker
109*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
110*9e94795aSAndroid Build Coastguard Worker    name: "passwd_vendor",
111*9e94795aSAndroid Build Coastguard Worker    filename: "passwd",
112*9e94795aSAndroid Build Coastguard Worker    vendor: true,
113*9e94795aSAndroid Build Coastguard Worker    src: ":passwd_gen_vendor",
114*9e94795aSAndroid Build Coastguard Worker}
115*9e94795aSAndroid Build Coastguard Worker
116*9e94795aSAndroid Build Coastguard Workergenrule {
117*9e94795aSAndroid Build Coastguard Worker    name: "passwd_gen_odm",
118*9e94795aSAndroid Build Coastguard Worker    tools: ["fs_config_generator"],
119*9e94795aSAndroid Build Coastguard Worker    cmd: "$(location fs_config_generator) passwd --partition=odm --aid-header=$(location :android_filesystem_config_header) $(locations :target_fs_config_gen) >$(out)",
120*9e94795aSAndroid Build Coastguard Worker    srcs: [
121*9e94795aSAndroid Build Coastguard Worker        ":target_fs_config_gen",
122*9e94795aSAndroid Build Coastguard Worker        ":android_filesystem_config_header",
123*9e94795aSAndroid Build Coastguard Worker    ],
124*9e94795aSAndroid Build Coastguard Worker    out: ["passwd"],
125*9e94795aSAndroid Build Coastguard Worker}
126*9e94795aSAndroid Build Coastguard Worker
127*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
128*9e94795aSAndroid Build Coastguard Worker    name: "passwd_odm",
129*9e94795aSAndroid Build Coastguard Worker    filename: "passwd",
130*9e94795aSAndroid Build Coastguard Worker    device_specific: true,
131*9e94795aSAndroid Build Coastguard Worker    src: ":passwd_gen_odm",
132*9e94795aSAndroid Build Coastguard Worker}
133*9e94795aSAndroid Build Coastguard Worker
134*9e94795aSAndroid Build Coastguard Workergenrule {
135*9e94795aSAndroid Build Coastguard Worker    name: "passwd_gen_product",
136*9e94795aSAndroid Build Coastguard Worker    tools: ["fs_config_generator"],
137*9e94795aSAndroid Build Coastguard Worker    cmd: "$(location fs_config_generator) passwd --partition=product --aid-header=$(location :android_filesystem_config_header) $(locations :target_fs_config_gen) >$(out)",
138*9e94795aSAndroid Build Coastguard Worker    srcs: [
139*9e94795aSAndroid Build Coastguard Worker        ":target_fs_config_gen",
140*9e94795aSAndroid Build Coastguard Worker        ":android_filesystem_config_header",
141*9e94795aSAndroid Build Coastguard Worker    ],
142*9e94795aSAndroid Build Coastguard Worker    out: ["passwd"],
143*9e94795aSAndroid Build Coastguard Worker}
144*9e94795aSAndroid Build Coastguard Worker
145*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
146*9e94795aSAndroid Build Coastguard Worker    name: "passwd_product",
147*9e94795aSAndroid Build Coastguard Worker    filename: "passwd",
148*9e94795aSAndroid Build Coastguard Worker    product_specific: true,
149*9e94795aSAndroid Build Coastguard Worker    src: ":passwd_gen_product",
150*9e94795aSAndroid Build Coastguard Worker}
151*9e94795aSAndroid Build Coastguard Worker
152*9e94795aSAndroid Build Coastguard Workergenrule {
153*9e94795aSAndroid Build Coastguard Worker    name: "passwd_gen_system_ext",
154*9e94795aSAndroid Build Coastguard Worker    tools: ["fs_config_generator"],
155*9e94795aSAndroid Build Coastguard Worker    cmd: "$(location fs_config_generator) passwd --partition=system_ext --aid-header=$(location :android_filesystem_config_header) $(locations :target_fs_config_gen) >$(out)",
156*9e94795aSAndroid Build Coastguard Worker    srcs: [
157*9e94795aSAndroid Build Coastguard Worker        ":target_fs_config_gen",
158*9e94795aSAndroid Build Coastguard Worker        ":android_filesystem_config_header",
159*9e94795aSAndroid Build Coastguard Worker    ],
160*9e94795aSAndroid Build Coastguard Worker    out: ["passwd"],
161*9e94795aSAndroid Build Coastguard Worker}
162*9e94795aSAndroid Build Coastguard Worker
163*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
164*9e94795aSAndroid Build Coastguard Worker    name: "passwd_system_ext",
165*9e94795aSAndroid Build Coastguard Worker    filename: "passwd",
166*9e94795aSAndroid Build Coastguard Worker    system_ext_specific: true,
167*9e94795aSAndroid Build Coastguard Worker    src: ":passwd_gen_system_ext",
168*9e94795aSAndroid Build Coastguard Worker}
169*9e94795aSAndroid Build Coastguard Worker
170*9e94795aSAndroid Build Coastguard Worker// Generate the */etc/group text files for the target
171*9e94795aSAndroid Build Coastguard Worker// These files may be empty if no AIDs are defined in
172*9e94795aSAndroid Build Coastguard Worker// TARGET_FS_CONFIG_GEN files.
173*9e94795aSAndroid Build Coastguard Workergenrule {
174*9e94795aSAndroid Build Coastguard Worker    name: "group_gen_system",
175*9e94795aSAndroid Build Coastguard Worker    tools: ["fs_config_generator"],
176*9e94795aSAndroid Build Coastguard Worker    cmd: "$(location fs_config_generator) group --partition=system --aid-header=$(location :android_filesystem_config_header) $(locations :target_fs_config_gen) >$(out)",
177*9e94795aSAndroid Build Coastguard Worker    srcs: [
178*9e94795aSAndroid Build Coastguard Worker        ":target_fs_config_gen",
179*9e94795aSAndroid Build Coastguard Worker        ":android_filesystem_config_header",
180*9e94795aSAndroid Build Coastguard Worker    ],
181*9e94795aSAndroid Build Coastguard Worker    out: ["group"],
182*9e94795aSAndroid Build Coastguard Worker}
183*9e94795aSAndroid Build Coastguard Worker
184*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
185*9e94795aSAndroid Build Coastguard Worker    name: "group_system",
186*9e94795aSAndroid Build Coastguard Worker    filename: "group",
187*9e94795aSAndroid Build Coastguard Worker    src: ":group_gen_system",
188*9e94795aSAndroid Build Coastguard Worker}
189*9e94795aSAndroid Build Coastguard Worker
190*9e94795aSAndroid Build Coastguard Workergenrule {
191*9e94795aSAndroid Build Coastguard Worker    name: "group_gen_vendor",
192*9e94795aSAndroid Build Coastguard Worker    tools: ["fs_config_generator"],
193*9e94795aSAndroid Build Coastguard Worker    cmd: "$(location fs_config_generator) group --partition=vendor --aid-header=$(location :android_filesystem_config_header) $(locations :target_fs_config_gen) >$(out)",
194*9e94795aSAndroid Build Coastguard Worker    srcs: [
195*9e94795aSAndroid Build Coastguard Worker        ":target_fs_config_gen",
196*9e94795aSAndroid Build Coastguard Worker        ":android_filesystem_config_header",
197*9e94795aSAndroid Build Coastguard Worker    ],
198*9e94795aSAndroid Build Coastguard Worker    out: ["group"],
199*9e94795aSAndroid Build Coastguard Worker}
200*9e94795aSAndroid Build Coastguard Worker
201*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
202*9e94795aSAndroid Build Coastguard Worker    name: "group_vendor",
203*9e94795aSAndroid Build Coastguard Worker    filename: "group",
204*9e94795aSAndroid Build Coastguard Worker    vendor: true,
205*9e94795aSAndroid Build Coastguard Worker    src: ":group_gen_vendor",
206*9e94795aSAndroid Build Coastguard Worker}
207*9e94795aSAndroid Build Coastguard Worker
208*9e94795aSAndroid Build Coastguard Workergenrule {
209*9e94795aSAndroid Build Coastguard Worker    name: "group_gen_odm",
210*9e94795aSAndroid Build Coastguard Worker    tools: ["fs_config_generator"],
211*9e94795aSAndroid Build Coastguard Worker    cmd: "$(location fs_config_generator) group --partition=odm --aid-header=$(location :android_filesystem_config_header) $(locations :target_fs_config_gen) >$(out)",
212*9e94795aSAndroid Build Coastguard Worker    srcs: [
213*9e94795aSAndroid Build Coastguard Worker        ":target_fs_config_gen",
214*9e94795aSAndroid Build Coastguard Worker        ":android_filesystem_config_header",
215*9e94795aSAndroid Build Coastguard Worker    ],
216*9e94795aSAndroid Build Coastguard Worker    out: ["group"],
217*9e94795aSAndroid Build Coastguard Worker}
218*9e94795aSAndroid Build Coastguard Worker
219*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
220*9e94795aSAndroid Build Coastguard Worker    name: "group_odm",
221*9e94795aSAndroid Build Coastguard Worker    filename: "group",
222*9e94795aSAndroid Build Coastguard Worker    device_specific: true,
223*9e94795aSAndroid Build Coastguard Worker    src: ":group_gen_odm",
224*9e94795aSAndroid Build Coastguard Worker}
225*9e94795aSAndroid Build Coastguard Worker
226*9e94795aSAndroid Build Coastguard Workergenrule {
227*9e94795aSAndroid Build Coastguard Worker    name: "group_gen_product",
228*9e94795aSAndroid Build Coastguard Worker    tools: ["fs_config_generator"],
229*9e94795aSAndroid Build Coastguard Worker    cmd: "$(location fs_config_generator) group --partition=product --aid-header=$(location :android_filesystem_config_header) $(locations :target_fs_config_gen) >$(out)",
230*9e94795aSAndroid Build Coastguard Worker    srcs: [
231*9e94795aSAndroid Build Coastguard Worker        ":target_fs_config_gen",
232*9e94795aSAndroid Build Coastguard Worker        ":android_filesystem_config_header",
233*9e94795aSAndroid Build Coastguard Worker    ],
234*9e94795aSAndroid Build Coastguard Worker    out: ["group"],
235*9e94795aSAndroid Build Coastguard Worker}
236*9e94795aSAndroid Build Coastguard Worker
237*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
238*9e94795aSAndroid Build Coastguard Worker    name: "group_product",
239*9e94795aSAndroid Build Coastguard Worker    filename: "group",
240*9e94795aSAndroid Build Coastguard Worker    product_specific: true,
241*9e94795aSAndroid Build Coastguard Worker    src: ":group_gen_product",
242*9e94795aSAndroid Build Coastguard Worker}
243*9e94795aSAndroid Build Coastguard Worker
244*9e94795aSAndroid Build Coastguard Workergenrule {
245*9e94795aSAndroid Build Coastguard Worker    name: "group_gen_system_ext",
246*9e94795aSAndroid Build Coastguard Worker    tools: ["fs_config_generator"],
247*9e94795aSAndroid Build Coastguard Worker    cmd: "$(location fs_config_generator) group --partition=system_ext --aid-header=$(location :android_filesystem_config_header) $(locations :target_fs_config_gen) >$(out)",
248*9e94795aSAndroid Build Coastguard Worker    srcs: [
249*9e94795aSAndroid Build Coastguard Worker        ":target_fs_config_gen",
250*9e94795aSAndroid Build Coastguard Worker        ":android_filesystem_config_header",
251*9e94795aSAndroid Build Coastguard Worker    ],
252*9e94795aSAndroid Build Coastguard Worker    out: ["group"],
253*9e94795aSAndroid Build Coastguard Worker}
254*9e94795aSAndroid Build Coastguard Worker
255*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
256*9e94795aSAndroid Build Coastguard Worker    name: "group_system_ext",
257*9e94795aSAndroid Build Coastguard Worker    filename: "group",
258*9e94795aSAndroid Build Coastguard Worker    system_ext_specific: true,
259*9e94795aSAndroid Build Coastguard Worker    src: ":group_gen_system_ext",
260*9e94795aSAndroid Build Coastguard Worker}
261*9e94795aSAndroid Build Coastguard Worker
262*9e94795aSAndroid Build Coastguard Workerfs_config_cmd = "$(location fs_config_generator) fsconfig " +
263*9e94795aSAndroid Build Coastguard Worker    "--aid-header $(location :android_filesystem_config_header) " +
264*9e94795aSAndroid Build Coastguard Worker    "--capability-header $(location :linux_capability_header) " +
265*9e94795aSAndroid Build Coastguard Worker    "--out_file $(out) "
266*9e94795aSAndroid Build Coastguard Workerfs_config_cmd_dirs = fs_config_cmd + "--dirs "
267*9e94795aSAndroid Build Coastguard Workerfs_config_cmd_files = fs_config_cmd + "--files "
268*9e94795aSAndroid Build Coastguard Worker
269*9e94795aSAndroid Build Coastguard Workergenrule_defaults {
270*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_defaults",
271*9e94795aSAndroid Build Coastguard Worker    tools: ["fs_config_generator"],
272*9e94795aSAndroid Build Coastguard Worker    srcs: [
273*9e94795aSAndroid Build Coastguard Worker        ":android_filesystem_config_header",
274*9e94795aSAndroid Build Coastguard Worker        ":linux_capability_header",
275*9e94795aSAndroid Build Coastguard Worker        ":target_fs_config_gen",
276*9e94795aSAndroid Build Coastguard Worker    ],
277*9e94795aSAndroid Build Coastguard Worker    out: ["out"],
278*9e94795aSAndroid Build Coastguard Worker}
279*9e94795aSAndroid Build Coastguard Worker
280*9e94795aSAndroid Build Coastguard Worker// system
281*9e94795aSAndroid Build Coastguard Workergenrule {
282*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_dirs_system_gen",
283*9e94795aSAndroid Build Coastguard Worker    defaults: ["fs_config_defaults"],
284*9e94795aSAndroid Build Coastguard Worker    cmd: fs_config_cmd_dirs +
285*9e94795aSAndroid Build Coastguard Worker        "--partition system " +
286*9e94795aSAndroid Build Coastguard Worker        "--all-partitions vendor,oem,odm,vendor_dlkm,odm_dlkm,system_dlkm " +
287*9e94795aSAndroid Build Coastguard Worker        "$(locations :target_fs_config_gen)",
288*9e94795aSAndroid Build Coastguard Worker}
289*9e94795aSAndroid Build Coastguard Worker
290*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
291*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_dirs_system",
292*9e94795aSAndroid Build Coastguard Worker    filename: "fs_config_dirs",
293*9e94795aSAndroid Build Coastguard Worker    src: ":fs_config_dirs_system_gen",
294*9e94795aSAndroid Build Coastguard Worker}
295*9e94795aSAndroid Build Coastguard Worker
296*9e94795aSAndroid Build Coastguard Workergenrule {
297*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_files_system_gen",
298*9e94795aSAndroid Build Coastguard Worker    defaults: ["fs_config_defaults"],
299*9e94795aSAndroid Build Coastguard Worker    cmd: fs_config_cmd_files +
300*9e94795aSAndroid Build Coastguard Worker        "--partition system " +
301*9e94795aSAndroid Build Coastguard Worker        "--all-partitions vendor,oem,odm,vendor_dlkm,odm_dlkm,system_dlkm " +
302*9e94795aSAndroid Build Coastguard Worker        "$(locations :target_fs_config_gen)",
303*9e94795aSAndroid Build Coastguard Worker}
304*9e94795aSAndroid Build Coastguard Worker
305*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
306*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_files_system",
307*9e94795aSAndroid Build Coastguard Worker    filename: "fs_config_files",
308*9e94795aSAndroid Build Coastguard Worker    src: ":fs_config_files_system_gen",
309*9e94795aSAndroid Build Coastguard Worker}
310*9e94795aSAndroid Build Coastguard Worker
311*9e94795aSAndroid Build Coastguard Worker// system_ext
312*9e94795aSAndroid Build Coastguard Workergenrule {
313*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_dirs_system_ext_gen",
314*9e94795aSAndroid Build Coastguard Worker    defaults: ["fs_config_defaults"],
315*9e94795aSAndroid Build Coastguard Worker    cmd: fs_config_cmd_dirs +
316*9e94795aSAndroid Build Coastguard Worker        "--partition system_ext " +
317*9e94795aSAndroid Build Coastguard Worker        "$(locations :target_fs_config_gen)",
318*9e94795aSAndroid Build Coastguard Worker}
319*9e94795aSAndroid Build Coastguard Worker
320*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
321*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_dirs_system_ext",
322*9e94795aSAndroid Build Coastguard Worker    filename: "fs_config_dirs",
323*9e94795aSAndroid Build Coastguard Worker    src: ":fs_config_dirs_system_ext_gen",
324*9e94795aSAndroid Build Coastguard Worker    system_ext_specific: true,
325*9e94795aSAndroid Build Coastguard Worker}
326*9e94795aSAndroid Build Coastguard Worker
327*9e94795aSAndroid Build Coastguard Workergenrule {
328*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_files_system_ext_gen",
329*9e94795aSAndroid Build Coastguard Worker    defaults: ["fs_config_defaults"],
330*9e94795aSAndroid Build Coastguard Worker    cmd: fs_config_cmd_files +
331*9e94795aSAndroid Build Coastguard Worker        "--partition system_ext " +
332*9e94795aSAndroid Build Coastguard Worker        "$(locations :target_fs_config_gen)",
333*9e94795aSAndroid Build Coastguard Worker}
334*9e94795aSAndroid Build Coastguard Worker
335*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
336*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_files_system_ext",
337*9e94795aSAndroid Build Coastguard Worker    filename: "fs_config_files",
338*9e94795aSAndroid Build Coastguard Worker    src: ":fs_config_files_system_ext_gen",
339*9e94795aSAndroid Build Coastguard Worker    system_ext_specific: true,
340*9e94795aSAndroid Build Coastguard Worker}
341*9e94795aSAndroid Build Coastguard Worker
342*9e94795aSAndroid Build Coastguard Worker// product
343*9e94795aSAndroid Build Coastguard Workergenrule {
344*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_dirs_product_gen",
345*9e94795aSAndroid Build Coastguard Worker    defaults: ["fs_config_defaults"],
346*9e94795aSAndroid Build Coastguard Worker    cmd: fs_config_cmd_dirs +
347*9e94795aSAndroid Build Coastguard Worker        "--partition product " +
348*9e94795aSAndroid Build Coastguard Worker        "$(locations :target_fs_config_gen)",
349*9e94795aSAndroid Build Coastguard Worker}
350*9e94795aSAndroid Build Coastguard Worker
351*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
352*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_dirs_product",
353*9e94795aSAndroid Build Coastguard Worker    filename: "fs_config_dirs",
354*9e94795aSAndroid Build Coastguard Worker    src: ":fs_config_dirs_product_gen",
355*9e94795aSAndroid Build Coastguard Worker    product_specific: true,
356*9e94795aSAndroid Build Coastguard Worker}
357*9e94795aSAndroid Build Coastguard Worker
358*9e94795aSAndroid Build Coastguard Workergenrule {
359*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_files_product_gen",
360*9e94795aSAndroid Build Coastguard Worker    defaults: ["fs_config_defaults"],
361*9e94795aSAndroid Build Coastguard Worker    cmd: fs_config_cmd_files +
362*9e94795aSAndroid Build Coastguard Worker        "--partition product " +
363*9e94795aSAndroid Build Coastguard Worker        "$(locations :target_fs_config_gen)",
364*9e94795aSAndroid Build Coastguard Worker}
365*9e94795aSAndroid Build Coastguard Worker
366*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
367*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_files_product",
368*9e94795aSAndroid Build Coastguard Worker    filename: "fs_config_files",
369*9e94795aSAndroid Build Coastguard Worker    src: ":fs_config_files_product_gen",
370*9e94795aSAndroid Build Coastguard Worker    product_specific: true,
371*9e94795aSAndroid Build Coastguard Worker}
372*9e94795aSAndroid Build Coastguard Worker
373*9e94795aSAndroid Build Coastguard Worker// vendor
374*9e94795aSAndroid Build Coastguard Workergenrule {
375*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_dirs_vendor_gen",
376*9e94795aSAndroid Build Coastguard Worker    defaults: ["fs_config_defaults"],
377*9e94795aSAndroid Build Coastguard Worker    cmd: fs_config_cmd_dirs +
378*9e94795aSAndroid Build Coastguard Worker        "--partition vendor " +
379*9e94795aSAndroid Build Coastguard Worker        "$(locations :target_fs_config_gen)",
380*9e94795aSAndroid Build Coastguard Worker}
381*9e94795aSAndroid Build Coastguard Worker
382*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
383*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_dirs_vendor",
384*9e94795aSAndroid Build Coastguard Worker    filename: "fs_config_dirs",
385*9e94795aSAndroid Build Coastguard Worker    src: ":fs_config_dirs_vendor_gen",
386*9e94795aSAndroid Build Coastguard Worker    vendor: true,
387*9e94795aSAndroid Build Coastguard Worker}
388*9e94795aSAndroid Build Coastguard Worker
389*9e94795aSAndroid Build Coastguard Workergenrule {
390*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_files_vendor_gen",
391*9e94795aSAndroid Build Coastguard Worker    defaults: ["fs_config_defaults"],
392*9e94795aSAndroid Build Coastguard Worker    cmd: fs_config_cmd_files +
393*9e94795aSAndroid Build Coastguard Worker        "--partition vendor " +
394*9e94795aSAndroid Build Coastguard Worker        "$(locations :target_fs_config_gen)",
395*9e94795aSAndroid Build Coastguard Worker}
396*9e94795aSAndroid Build Coastguard Worker
397*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
398*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_files_vendor",
399*9e94795aSAndroid Build Coastguard Worker    filename: "fs_config_files",
400*9e94795aSAndroid Build Coastguard Worker    src: ":fs_config_files_vendor_gen",
401*9e94795aSAndroid Build Coastguard Worker    vendor: true,
402*9e94795aSAndroid Build Coastguard Worker}
403*9e94795aSAndroid Build Coastguard Worker
404*9e94795aSAndroid Build Coastguard Worker// odm
405*9e94795aSAndroid Build Coastguard Workergenrule {
406*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_dirs_odm_gen",
407*9e94795aSAndroid Build Coastguard Worker    defaults: ["fs_config_defaults"],
408*9e94795aSAndroid Build Coastguard Worker    cmd: fs_config_cmd_dirs +
409*9e94795aSAndroid Build Coastguard Worker        "--partition odm " +
410*9e94795aSAndroid Build Coastguard Worker        "$(locations :target_fs_config_gen)",
411*9e94795aSAndroid Build Coastguard Worker}
412*9e94795aSAndroid Build Coastguard Worker
413*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
414*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_dirs_odm",
415*9e94795aSAndroid Build Coastguard Worker    filename: "fs_config_dirs",
416*9e94795aSAndroid Build Coastguard Worker    src: ":fs_config_dirs_odm_gen",
417*9e94795aSAndroid Build Coastguard Worker    device_specific: true,
418*9e94795aSAndroid Build Coastguard Worker}
419*9e94795aSAndroid Build Coastguard Worker
420*9e94795aSAndroid Build Coastguard Workergenrule {
421*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_files_odm_gen",
422*9e94795aSAndroid Build Coastguard Worker    defaults: ["fs_config_defaults"],
423*9e94795aSAndroid Build Coastguard Worker    cmd: fs_config_cmd_files +
424*9e94795aSAndroid Build Coastguard Worker        "--partition odm " +
425*9e94795aSAndroid Build Coastguard Worker        "$(locations :target_fs_config_gen)",
426*9e94795aSAndroid Build Coastguard Worker}
427*9e94795aSAndroid Build Coastguard Worker
428*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
429*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_files_odm",
430*9e94795aSAndroid Build Coastguard Worker    filename: "fs_config_files",
431*9e94795aSAndroid Build Coastguard Worker    src: ":fs_config_files_odm_gen",
432*9e94795aSAndroid Build Coastguard Worker    device_specific: true,
433*9e94795aSAndroid Build Coastguard Worker}
434*9e94795aSAndroid Build Coastguard Worker
435*9e94795aSAndroid Build Coastguard Worker// system_dlkm
436*9e94795aSAndroid Build Coastguard Workergenrule {
437*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_dirs_system_dlkm_gen",
438*9e94795aSAndroid Build Coastguard Worker    defaults: ["fs_config_defaults"],
439*9e94795aSAndroid Build Coastguard Worker    cmd: fs_config_cmd_dirs +
440*9e94795aSAndroid Build Coastguard Worker        "--partition system_dlkm " +
441*9e94795aSAndroid Build Coastguard Worker        "$(locations :target_fs_config_gen)",
442*9e94795aSAndroid Build Coastguard Worker}
443*9e94795aSAndroid Build Coastguard Worker
444*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
445*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_dirs_system_dlkm",
446*9e94795aSAndroid Build Coastguard Worker    filename: "fs_config_dirs",
447*9e94795aSAndroid Build Coastguard Worker    src: ":fs_config_dirs_system_dlkm_gen",
448*9e94795aSAndroid Build Coastguard Worker    system_dlkm_specific: true,
449*9e94795aSAndroid Build Coastguard Worker}
450*9e94795aSAndroid Build Coastguard Worker
451*9e94795aSAndroid Build Coastguard Workergenrule {
452*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_files_system_dlkm_gen",
453*9e94795aSAndroid Build Coastguard Worker    defaults: ["fs_config_defaults"],
454*9e94795aSAndroid Build Coastguard Worker    cmd: fs_config_cmd_files +
455*9e94795aSAndroid Build Coastguard Worker        "--partition system_dlkm " +
456*9e94795aSAndroid Build Coastguard Worker        "$(locations :target_fs_config_gen)",
457*9e94795aSAndroid Build Coastguard Worker}
458*9e94795aSAndroid Build Coastguard Worker
459*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
460*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_files_system_dlkm",
461*9e94795aSAndroid Build Coastguard Worker    filename: "fs_config_files",
462*9e94795aSAndroid Build Coastguard Worker    src: ":fs_config_files_system_dlkm_gen",
463*9e94795aSAndroid Build Coastguard Worker    system_dlkm_specific: true,
464*9e94795aSAndroid Build Coastguard Worker}
465*9e94795aSAndroid Build Coastguard Worker
466*9e94795aSAndroid Build Coastguard Worker// vendor_dlkm
467*9e94795aSAndroid Build Coastguard Workergenrule {
468*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_dirs_vendor_dlkm_gen",
469*9e94795aSAndroid Build Coastguard Worker    defaults: ["fs_config_defaults"],
470*9e94795aSAndroid Build Coastguard Worker    cmd: fs_config_cmd_dirs +
471*9e94795aSAndroid Build Coastguard Worker        "--partition vendor_dlkm " +
472*9e94795aSAndroid Build Coastguard Worker        "$(locations :target_fs_config_gen)",
473*9e94795aSAndroid Build Coastguard Worker}
474*9e94795aSAndroid Build Coastguard Worker
475*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
476*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_dirs_vendor_dlkm",
477*9e94795aSAndroid Build Coastguard Worker    filename: "fs_config_dirs",
478*9e94795aSAndroid Build Coastguard Worker    src: ":fs_config_dirs_vendor_dlkm_gen",
479*9e94795aSAndroid Build Coastguard Worker    vendor_dlkm_specific: true,
480*9e94795aSAndroid Build Coastguard Worker}
481*9e94795aSAndroid Build Coastguard Worker
482*9e94795aSAndroid Build Coastguard Workergenrule {
483*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_files_vendor_dlkm_gen",
484*9e94795aSAndroid Build Coastguard Worker    defaults: ["fs_config_defaults"],
485*9e94795aSAndroid Build Coastguard Worker    cmd: fs_config_cmd_files +
486*9e94795aSAndroid Build Coastguard Worker        "--partition vendor_dlkm " +
487*9e94795aSAndroid Build Coastguard Worker        "$(locations :target_fs_config_gen)",
488*9e94795aSAndroid Build Coastguard Worker}
489*9e94795aSAndroid Build Coastguard Worker
490*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
491*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_files_vendor_dlkm",
492*9e94795aSAndroid Build Coastguard Worker    filename: "fs_config_files",
493*9e94795aSAndroid Build Coastguard Worker    src: ":fs_config_files_vendor_dlkm_gen",
494*9e94795aSAndroid Build Coastguard Worker    vendor_dlkm_specific: true,
495*9e94795aSAndroid Build Coastguard Worker}
496*9e94795aSAndroid Build Coastguard Worker
497*9e94795aSAndroid Build Coastguard Worker// odm_dlkm
498*9e94795aSAndroid Build Coastguard Workergenrule {
499*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_dirs_odm_dlkm_gen",
500*9e94795aSAndroid Build Coastguard Worker    defaults: ["fs_config_defaults"],
501*9e94795aSAndroid Build Coastguard Worker    cmd: fs_config_cmd_dirs +
502*9e94795aSAndroid Build Coastguard Worker        "--partition odm_dlkm " +
503*9e94795aSAndroid Build Coastguard Worker        "$(locations :target_fs_config_gen)",
504*9e94795aSAndroid Build Coastguard Worker}
505*9e94795aSAndroid Build Coastguard Worker
506*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
507*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_dirs_odm_dlkm",
508*9e94795aSAndroid Build Coastguard Worker    filename: "fs_config_dirs",
509*9e94795aSAndroid Build Coastguard Worker    src: ":fs_config_dirs_odm_dlkm_gen",
510*9e94795aSAndroid Build Coastguard Worker    odm_dlkm_specific: true,
511*9e94795aSAndroid Build Coastguard Worker}
512*9e94795aSAndroid Build Coastguard Worker
513*9e94795aSAndroid Build Coastguard Workergenrule {
514*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_files_odm_dlkm_gen",
515*9e94795aSAndroid Build Coastguard Worker    defaults: ["fs_config_defaults"],
516*9e94795aSAndroid Build Coastguard Worker    cmd: fs_config_cmd_files +
517*9e94795aSAndroid Build Coastguard Worker        "--partition odm_dlkm " +
518*9e94795aSAndroid Build Coastguard Worker        "$(locations :target_fs_config_gen)",
519*9e94795aSAndroid Build Coastguard Worker}
520*9e94795aSAndroid Build Coastguard Worker
521*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
522*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_files_odm_dlkm",
523*9e94795aSAndroid Build Coastguard Worker    filename: "fs_config_files",
524*9e94795aSAndroid Build Coastguard Worker    src: ":fs_config_files_odm_dlkm_gen",
525*9e94795aSAndroid Build Coastguard Worker    odm_dlkm_specific: true,
526*9e94795aSAndroid Build Coastguard Worker}
527*9e94795aSAndroid Build Coastguard Worker
528*9e94795aSAndroid Build Coastguard Worker// oem
529*9e94795aSAndroid Build Coastguard Workergenrule {
530*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_dirs_oem_gen",
531*9e94795aSAndroid Build Coastguard Worker    defaults: ["fs_config_defaults"],
532*9e94795aSAndroid Build Coastguard Worker    cmd: fs_config_cmd_dirs +
533*9e94795aSAndroid Build Coastguard Worker        "--partition oem " +
534*9e94795aSAndroid Build Coastguard Worker        "$(locations :target_fs_config_gen)",
535*9e94795aSAndroid Build Coastguard Worker}
536*9e94795aSAndroid Build Coastguard Worker
537*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
538*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_dirs_oem",
539*9e94795aSAndroid Build Coastguard Worker    filename: "fs_config_dirs",
540*9e94795aSAndroid Build Coastguard Worker    src: ":fs_config_dirs_oem_gen",
541*9e94795aSAndroid Build Coastguard Worker    oem_specific: true,
542*9e94795aSAndroid Build Coastguard Worker}
543*9e94795aSAndroid Build Coastguard Worker
544*9e94795aSAndroid Build Coastguard Workergenrule {
545*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_files_oem_gen",
546*9e94795aSAndroid Build Coastguard Worker    defaults: ["fs_config_defaults"],
547*9e94795aSAndroid Build Coastguard Worker    cmd: fs_config_cmd_files +
548*9e94795aSAndroid Build Coastguard Worker        "--partition oem " +
549*9e94795aSAndroid Build Coastguard Worker        "$(locations :target_fs_config_gen)",
550*9e94795aSAndroid Build Coastguard Worker}
551*9e94795aSAndroid Build Coastguard Worker
552*9e94795aSAndroid Build Coastguard Workerprebuilt_etc {
553*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_files_oem",
554*9e94795aSAndroid Build Coastguard Worker    filename: "fs_config_files",
555*9e94795aSAndroid Build Coastguard Worker    src: ":fs_config_files_oem_gen",
556*9e94795aSAndroid Build Coastguard Worker    oem_specific: true,
557*9e94795aSAndroid Build Coastguard Worker}
558*9e94795aSAndroid Build Coastguard Worker
559*9e94795aSAndroid Build Coastguard Worker// Generate the <p>/etc/fs_config_dirs binary files for each partition.
560*9e94795aSAndroid Build Coastguard Worker// Add fs_config_dirs to PRODUCT_PACKAGES in the device make file to enable.
561*9e94795aSAndroid Build Coastguard Workerphony {
562*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_dirs",
563*9e94795aSAndroid Build Coastguard Worker    required: [
564*9e94795aSAndroid Build Coastguard Worker        "fs_config_dirs_system",
565*9e94795aSAndroid Build Coastguard Worker        "fs_config_dirs_system_ext",
566*9e94795aSAndroid Build Coastguard Worker        "fs_config_dirs_product",
567*9e94795aSAndroid Build Coastguard Worker        "fs_config_dirs_nonsystem",
568*9e94795aSAndroid Build Coastguard Worker    ],
569*9e94795aSAndroid Build Coastguard Worker}
570*9e94795aSAndroid Build Coastguard Worker
571*9e94795aSAndroid Build Coastguard Worker// Generate the <p>/etc/fs_config_files binary files for each partition.
572*9e94795aSAndroid Build Coastguard Worker// Add fs_config_files to PRODUCT_PACKAGES in the device make file to enable.
573*9e94795aSAndroid Build Coastguard Workerphony {
574*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_files",
575*9e94795aSAndroid Build Coastguard Worker    required: [
576*9e94795aSAndroid Build Coastguard Worker        "fs_config_files_system",
577*9e94795aSAndroid Build Coastguard Worker        "fs_config_files_system_ext",
578*9e94795aSAndroid Build Coastguard Worker        "fs_config_files_product",
579*9e94795aSAndroid Build Coastguard Worker        "fs_config_files_nonsystem",
580*9e94795aSAndroid Build Coastguard Worker    ],
581*9e94795aSAndroid Build Coastguard Worker}
582*9e94795aSAndroid Build Coastguard Worker
583*9e94795aSAndroid Build Coastguard Worker// Generate the <p>/etc/fs_config_dirs binary files for all enabled partitions
584*9e94795aSAndroid Build Coastguard Worker// excluding /system, /system_ext and /product. Add fs_config_dirs_nonsystem to
585*9e94795aSAndroid Build Coastguard Worker// PRODUCT_PACKAGES in the device make file to enable.
586*9e94795aSAndroid Build Coastguard Workerphony {
587*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_dirs_nonsystem",
588*9e94795aSAndroid Build Coastguard Worker    required: [] +
589*9e94795aSAndroid Build Coastguard Worker        select(soong_config_variable("fs_config", "vendor"), {
590*9e94795aSAndroid Build Coastguard Worker            true: ["fs_config_dirs_vendor"],
591*9e94795aSAndroid Build Coastguard Worker            default: [],
592*9e94795aSAndroid Build Coastguard Worker        }) +
593*9e94795aSAndroid Build Coastguard Worker        select(soong_config_variable("fs_config", "oem"), {
594*9e94795aSAndroid Build Coastguard Worker            true: ["fs_config_dirs_oem"],
595*9e94795aSAndroid Build Coastguard Worker            default: [],
596*9e94795aSAndroid Build Coastguard Worker        }) +
597*9e94795aSAndroid Build Coastguard Worker        select(soong_config_variable("fs_config", "odm"), {
598*9e94795aSAndroid Build Coastguard Worker            true: ["fs_config_dirs_odm"],
599*9e94795aSAndroid Build Coastguard Worker            default: [],
600*9e94795aSAndroid Build Coastguard Worker        }) +
601*9e94795aSAndroid Build Coastguard Worker        select(soong_config_variable("fs_config", "vendor_dlkm"), {
602*9e94795aSAndroid Build Coastguard Worker            true: ["fs_config_dirs_vendor_dlkm"],
603*9e94795aSAndroid Build Coastguard Worker            default: [],
604*9e94795aSAndroid Build Coastguard Worker        }) +
605*9e94795aSAndroid Build Coastguard Worker        select(soong_config_variable("fs_config", "odm_dlkm"), {
606*9e94795aSAndroid Build Coastguard Worker            true: ["fs_config_dirs_odm_dlkm"],
607*9e94795aSAndroid Build Coastguard Worker            default: [],
608*9e94795aSAndroid Build Coastguard Worker        }) +
609*9e94795aSAndroid Build Coastguard Worker        select(soong_config_variable("fs_config", "system_dlkm"), {
610*9e94795aSAndroid Build Coastguard Worker            true: ["fs_config_dirs_system_dlkm"],
611*9e94795aSAndroid Build Coastguard Worker            default: [],
612*9e94795aSAndroid Build Coastguard Worker        }),
613*9e94795aSAndroid Build Coastguard Worker}
614*9e94795aSAndroid Build Coastguard Worker
615*9e94795aSAndroid Build Coastguard Worker// Generate the <p>/etc/fs_config_files binary files for all enabled partitions
616*9e94795aSAndroid Build Coastguard Worker// excluding /system, /system_ext and /product. Add fs_config_files_nonsystem to
617*9e94795aSAndroid Build Coastguard Worker// PRODUCT_PACKAGES in the device make file to enable.
618*9e94795aSAndroid Build Coastguard Workerphony {
619*9e94795aSAndroid Build Coastguard Worker    name: "fs_config_files_nonsystem",
620*9e94795aSAndroid Build Coastguard Worker    required: [] +
621*9e94795aSAndroid Build Coastguard Worker        select(soong_config_variable("fs_config", "vendor"), {
622*9e94795aSAndroid Build Coastguard Worker            true: ["fs_config_files_vendor"],
623*9e94795aSAndroid Build Coastguard Worker            default: [],
624*9e94795aSAndroid Build Coastguard Worker        }) +
625*9e94795aSAndroid Build Coastguard Worker        select(soong_config_variable("fs_config", "oem"), {
626*9e94795aSAndroid Build Coastguard Worker            true: ["fs_config_files_oem"],
627*9e94795aSAndroid Build Coastguard Worker            default: [],
628*9e94795aSAndroid Build Coastguard Worker        }) +
629*9e94795aSAndroid Build Coastguard Worker        select(soong_config_variable("fs_config", "odm"), {
630*9e94795aSAndroid Build Coastguard Worker            true: ["fs_config_files_odm"],
631*9e94795aSAndroid Build Coastguard Worker            default: [],
632*9e94795aSAndroid Build Coastguard Worker        }) +
633*9e94795aSAndroid Build Coastguard Worker        select(soong_config_variable("fs_config", "vendor_dlkm"), {
634*9e94795aSAndroid Build Coastguard Worker            true: ["fs_config_files_vendor_dlkm"],
635*9e94795aSAndroid Build Coastguard Worker            default: [],
636*9e94795aSAndroid Build Coastguard Worker        }) +
637*9e94795aSAndroid Build Coastguard Worker        select(soong_config_variable("fs_config", "odm_dlkm"), {
638*9e94795aSAndroid Build Coastguard Worker            true: ["fs_config_files_odm_dlkm"],
639*9e94795aSAndroid Build Coastguard Worker            default: [],
640*9e94795aSAndroid Build Coastguard Worker        }) +
641*9e94795aSAndroid Build Coastguard Worker        select(soong_config_variable("fs_config", "system_dlkm"), {
642*9e94795aSAndroid Build Coastguard Worker            true: ["fs_config_files_system_dlkm"],
643*9e94795aSAndroid Build Coastguard Worker            default: [],
644*9e94795aSAndroid Build Coastguard Worker        }),
645*9e94795aSAndroid Build Coastguard Worker}
646