1c1d0c72aSopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd.
2c1d0c72aSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3c1d0c72aSopenharmony_ci# you may not use this file except in compliance with the License.
4c1d0c72aSopenharmony_ci# You may obtain a copy of the License at
5c1d0c72aSopenharmony_ci#
6c1d0c72aSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7c1d0c72aSopenharmony_ci#
8c1d0c72aSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9c1d0c72aSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10c1d0c72aSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11c1d0c72aSopenharmony_ci# See the License for the specific language governing permissions and
12c1d0c72aSopenharmony_ci# limitations under the License.
13c1d0c72aSopenharmony_ci
14c1d0c72aSopenharmony_ciimport("//build/ohos.gni")
15c1d0c72aSopenharmony_ciimport("./../../../framework/tools/hc-gen/hc_gen.gni")
16c1d0c72aSopenharmony_ci
17c1d0c72aSopenharmony_citemplate("hdf_hcb") {
18c1d0c72aSopenharmony_ci  assert(defined(invoker.source), "the source must to be set")
19c1d0c72aSopenharmony_ci  assert(defined(invoker.part_name), "the part_name must to be set")
20c1d0c72aSopenharmony_ci
21c1d0c72aSopenharmony_ci  hc_gen("build_hcs") {
22c1d0c72aSopenharmony_ci    sources = [ rebase_path(invoker.source) ]
23c1d0c72aSopenharmony_ci    outputs = [ "$target_gen_dir/hdf_default.hcb" ]
24c1d0c72aSopenharmony_ci  }
25c1d0c72aSopenharmony_ci
26c1d0c72aSopenharmony_ci  ohos_prebuilt_etc("$target_name") {
27c1d0c72aSopenharmony_ci    deps = [ ":build_hcs" ]
28c1d0c72aSopenharmony_ci    hcs_outputs = get_target_outputs(":build_hcs")
29c1d0c72aSopenharmony_ci    source = hcs_outputs[0]
30c1d0c72aSopenharmony_ci
31c1d0c72aSopenharmony_ci    relative_install_dir = "hdfconfig"
32c1d0c72aSopenharmony_ci    install_images = [ chipset_base_dir ]
33c1d0c72aSopenharmony_ci
34c1d0c72aSopenharmony_ci    if (defined(invoker.subsystem_name)) {
35c1d0c72aSopenharmony_ci      subsystem_name = invoker.subsystem_name
36c1d0c72aSopenharmony_ci    }
37c1d0c72aSopenharmony_ci    part_name = invoker.part_name
38c1d0c72aSopenharmony_ci  }
39c1d0c72aSopenharmony_ci}
40c1d0c72aSopenharmony_ci
41c1d0c72aSopenharmony_citemplate("hdf_cfg") {
42c1d0c72aSopenharmony_ci  assert(defined(invoker.source), "the source must to be set")
43c1d0c72aSopenharmony_ci  assert(defined(invoker.part_name), "the part_name must to be set")
44c1d0c72aSopenharmony_ci
45c1d0c72aSopenharmony_ci  hc_gen_start_cfg("gen_start_cfg") {
46c1d0c72aSopenharmony_ci    sources = [ rebase_path(invoker.source) ]
47c1d0c72aSopenharmony_ci    outputs = [ "$target_gen_dir/hdf_devhost.cfg" ]
48c1d0c72aSopenharmony_ci  }
49c1d0c72aSopenharmony_ci
50c1d0c72aSopenharmony_ci  ohos_prebuilt_etc("$target_name") {
51c1d0c72aSopenharmony_ci    deps = [ ":gen_start_cfg" ]
52c1d0c72aSopenharmony_ci    outputs = get_target_outputs(":gen_start_cfg")
53c1d0c72aSopenharmony_ci    source = outputs[0]
54c1d0c72aSopenharmony_ci    relative_install_dir = "init"
55c1d0c72aSopenharmony_ci    install_images = [ chipset_base_dir ]
56c1d0c72aSopenharmony_ci    if (defined(invoker.subsystem_name)) {
57c1d0c72aSopenharmony_ci      subsystem_name = invoker.subsystem_name
58c1d0c72aSopenharmony_ci    }
59c1d0c72aSopenharmony_ci    part_name = invoker.part_name
60c1d0c72aSopenharmony_ci  }
61c1d0c72aSopenharmony_ci}
62