set(incs include include/bk_private)
set(srcs)

list(APPEND incs
	.
	)

if (CONFIG_CLI_USER_CONFIG)
list(APPEND incs ${CONFIG_CLI_USER_CONFIG_DIR})
endif()

if (CONFIG_CLI)
list(APPEND srcs
	cli_event.c
	cli_gpio.c
	cli_common.c
	cli_main.c
	cli_misc.c
	cli_mico.c
	cli_mem.c
	cli_os.c
	cli_rpc.c
	cli_reg.c
	cli_timer.c
	cli_uart.c

	cli_exception.c
	)

if (CONFIG_SOC_BK7236XX)
	list(APPEND srcs
    	cli_fpb.c
    	cli_dwt.c
	)
endif()


if (CONFIG_INT_WDT)
	list(APPEND srcs
		cli_wdt.c
	)
endif()

if (CONFIG_STA_PS)
	list(APPEND srcs
		cli_pwr.c
	)
endif()


if (CONFIG_WIFI_CLI_ENABLE)
	list(APPEND srcs
		cli_wifi.c
	)
endif()

if (CONFIG_AIRKISS_TEST)
	list(APPEND srcs
		cli_airkiss.c
	)
endif()

if (CONFIG_IPERF_TEST)
	list(APPEND srcs
		cli_iperf.c
	)
endif()

if (CONFIG_GENERAL_DMA)
	list(APPEND srcs
		cli_dma.c
	)
endif()

if (CONFIG_FLASH)
	list(APPEND srcs
		cli_flash.c
	)
endif()

if (CONFIG_FLASH)
	list(APPEND srcs
		cli_flash_test.c
	)
endif()

if (CONFIG_TRNG_SUPPORT)
	list(APPEND srcs
		cli_trng.c
	)
endif()

if (CONFIG_EFUSE)
	list(APPEND srcs
		cli_efuse.c
	)
endif()

if (CONFIG_LWIP)
	list(APPEND srcs
		cli_lwip.c
	)
endif()

if (CONFIG_BK_NETIF)
	list(APPEND srcs
		cli_netif.c
	)
endif()

if ((CONFIG_CPU_CNT GREATER 1))
	list(APPEND srcs
		rpc_client_gpio.c
	)
endif()

if (CONFIG_SOC_BK7236XX)
	if (CONFIG_OTP_V1 AND CONFIG_OTP_TEST)
		list(APPEND srcs "cli_otp.c")
	endif()
endif()


if (CONFIG_AON_RTC)
	list(APPEND srcs
		"cli_aon_rtc.c"
	)
endif()


if (CONFIG_AT_CMD)
	list(APPEND srcs "cli_at.c")
endif()

if (CONFIG_EASY_FLASH)
	list(APPEND srcs
		"cli_easyflash.c"
	)
endif()

if (CONFIG_TOUCH_TEST)
	list(APPEND srcs "cli_touch.c")
endif()

if (CONFIG_CALENDAR)
	list(APPEND srcs "cli_calendar.c")
endif()

elseif (CONFIG_SHELL_ASYNCLOG)
	list(APPEND srcs "cli_main.c")
endif() #if(CONFIG_CLI)

if (CONFIG_SHELL_ASYNCLOG)
	list(APPEND srcs
		shell_task.c
		shell_uart.c
	)
	if ((CONFIG_MAILBOX))
		list(APPEND srcs
			shell_mailbox_ipc.c
		)
	endif()
endif()

if (CONFIG_PSRAM_TEST)
	list(APPEND srcs cli_psram.c)
endif()

if (CONFIG_GET_UID_TEST)
	list(APPEND srcs cli_uid.c)
endif()

if (CONFIG_QSPI)
	list(APPEND srcs cli_qspi.c)
endif()

if (CONFIG_MPC_TEST)
	list(APPEND srcs cli_mpc.c)
endif()

if (CONFIG_PRRO_TEST)
	list(APPEND srcs cli_prro.c)
endif()

if (CONFIG_INTERRUPT_TEST)
	list(APPEND srcs cli_interrupt.c)
endif()


if (CONFIG_FLASHDB_DEMO)
	list(APPEND srcs cli_flashdb.c)
endif()

if (CONFIG_PUF_TEST)
	list(APPEND srcs cli_puf.c)
endif()

if (CONFIG_CKMN)
	list(APPEND srcs cli_ckmn.c)
endif()

if (CONFIG_TFM_MPC_NSC)
	list(APPEND srcs cli_mpc.c)
endif()

if (CONFIG_TFM_INT_TARGET_NSC)
	list(APPEND srcs cli_int_target.c)
endif()

if (CONFIG_LIN)
	list(APPEND srcs cli_lin.c)
endif()

if (CONFIG_SCR)
	list(APPEND srcs cli_scr.c)
endif()

set(PRIV_REQUIRES_LIST bk_common psa_mbedtls temp_detect bk_netif bk_ps bk_init bk_libs bk_wifi compal cmsis bk_bluetooth bk_phy lwip_intf_v2_1 console )

armino_component_register(SRCS "${srcs}"
	INCLUDE_DIRS "${incs}"
	REQUIRES utf8 app driver bk_system iperf adc_key cm33 controller_if bk_download
	#PRIV_REQUIRES airkiss bk_common bk_netif bk_ps
	PRIV_REQUIRES ${PRIV_REQUIRES_LIST}
	)

armino_component_register_call_subdirs()
