15f9996aaSopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd.
25f9996aaSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
35f9996aaSopenharmony_ci# you may not use this file except in compliance with the License.
45f9996aaSopenharmony_ci# You may obtain a copy of the License at
55f9996aaSopenharmony_ci#
65f9996aaSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
75f9996aaSopenharmony_ci#
85f9996aaSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
95f9996aaSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
105f9996aaSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
115f9996aaSopenharmony_ci# See the License for the specific language governing permissions and
125f9996aaSopenharmony_ci# limitations under the License.
135f9996aaSopenharmony_ci
145f9996aaSopenharmony_ciimport("//build/ohos/kernel/kernel.gni")
155f9996aaSopenharmony_ci
165f9996aaSopenharmony_citemplate("ohos_build_ko") {
175f9996aaSopenharmony_ci  _device_name = invoker.device_name
185f9996aaSopenharmony_ci  _arch = invoker.device_arch
195f9996aaSopenharmony_ci  _target_ko_name = invoker.target_ko_name
205f9996aaSopenharmony_ci  action("${target_name}") {
215f9996aaSopenharmony_ci    sources = invoker.sources
225f9996aaSopenharmony_ci    sources_name = get_path_info(sources, "name")
235f9996aaSopenharmony_ci    source_path_info = get_path_info(sources[0], "dir")
245f9996aaSopenharmony_ci    ko_out_dir = "$root_out_dir/packages/phone/chip_ckm"
255f9996aaSopenharmony_ci    script = "//build/templates/kernel/${linux_kernel_version}/make_ko.sh"
265f9996aaSopenharmony_ci    args = [
275f9996aaSopenharmony_ci      rebase_path(source_path_info, root_out_dir),
285f9996aaSopenharmony_ci      _target_ko_name,
295f9996aaSopenharmony_ci      rebase_path(ko_out_dir),
305f9996aaSopenharmony_ci      rebase_path("//"),
315f9996aaSopenharmony_ci      _device_name,
325f9996aaSopenharmony_ci      _arch,
335f9996aaSopenharmony_ci    ]
345f9996aaSopenharmony_ci    args += sources_name
355f9996aaSopenharmony_ci    if (is_standard_system && _device_name == "rk3568") {
365f9996aaSopenharmony_ci      deps = [ "//device/board/hihope/rk3568/kernel:kernel" ]
375f9996aaSopenharmony_ci    }
385f9996aaSopenharmony_ci    outputs = [ "$ko_out_dir/${_target_ko_name}.ko" ]
395f9996aaSopenharmony_ci  }
405f9996aaSopenharmony_ci}
41