blob: 0fd636441543b116d0387f332e8fc95402a75a06 [file] [log] [blame]
# Copyright (c) 2020 Project CHIP Authors
# Copyright 2023 NXP
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import("//build_overrides/nxp_sdk.gni")
#allows to get common NXP SDK gn options
import("${nxp_sdk_build_root}/nxp_sdk.gni")
# Allows to get various RT gn options
import("${nxp_sdk_build_root}/${nxp_sdk_name}/rt_sdk.gni")
import(
"${nxp_sdk_build_root}/${nxp_sdk_name}/${rt_platform}/${rt_platform}.gni")
import("${nxp_sdk_build_root}/${nxp_sdk_name}/bt_ble/bt_ble.gni")
import("${nxp_sdk_build_root}/${nxp_sdk_name}/lwip/lwip.gni")
import("//build_overrides/openthread.gni")
import("${chip_root}/src/platform/device.gni")
import("${chip_root}/src/platform/nxp/${nxp_platform}/args.gni")
group("nxp_sdk") {
public_deps = [
":nxp_transceiver",
"${nxp_sdk_build_root}/${nxp_sdk_name}/${rt_platform}:nxp_sdk",
nxp_sdk_driver_target,
nxp_sdk_target,
]
if (chip_enable_ble) {
public_deps += [ ":nxp_bt_ble" ]
}
if (chip_enable_wifi) {
public_deps += [ ":nxp_wifi" ]
}
if (chip_enable_openthread) {
public_deps += [ "${openthread_root}/src/core:libopenthread_core_headers" ]
}
}
group("nxp_mbedtls") {
public_deps =
[ "${nxp_sdk_build_root}/${nxp_sdk_name}/${rt_platform}:nxp_mbedtls" ]
}
config("lwip_rt_config") {
include_dirs = [
"${rt_sdk_root}/middleware/lwip/src/include",
"${rt_sdk_root}/middleware/lwip/port",
"lwip/common",
]
if (chip_enable_ethernet) {
include_dirs += [ "lwip/ethernet" ]
} else if (chip_enable_openthread && chip_enable_wifi) {
include_dirs += [ "lwip/wifi_openthread" ]
} else if (chip_enable_openthread) {
include_dirs += [ "lwip/openthread" ]
} else if (chip_enable_wifi) {
include_dirs += [
"lwip/wifi",
"${rt_sdk_root}/middleware/wifi_nxp/port/lwip",
]
}
}
lwip_target("nxp_lwip") {
public = []
sources = [
#lwip port file
"${rt_sdk_root}/middleware/lwip/port/sys_arch.c",
]
if (chip_enable_ethernet) {
sources += [
"${rt_sdk_root}/middleware/lwip/port/enet_ethernetif.c",
"${rt_sdk_root}/middleware/lwip/port/enet_ethernetif_kinetis.c",
]
}
if (chip_enable_wifi) {
sources += [
"${rt_sdk_root}/middleware/wifi_nxp/port/lwip/net.c",
"${rt_sdk_root}/middleware/wifi_nxp/port/lwip/wifi_netif.c",
]
}
public_configs = [ ":lwip_rt_config" ]
public_deps = [ ":nxp_sdk" ]
rt_sdk_root = rt_sdk_root
}
bt_ble_target("nxp_bt_ble") {
public_deps = [ nxp_sdk_target ]
rt_sdk_root = rt_sdk_root
}
rt_transceiver("nxp_transceiver") {
public_deps = [ nxp_sdk_target ]
}
rt_wifi("nxp_wifi") {
public_deps = [ nxp_sdk_target ]
}