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_spi.c
	cli_exception.c
	)

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

if (CONFIG_BUTTON OR CONFIG_ADC_KEY)
	list(APPEND srcs
		cli_key.c
	)
endif()

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

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

if (CONFIG_OTA_TFTP OR CONFIG_OTA_HTTP)
	list(APPEND srcs
		cli_ota.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_SDCARD)
	list(APPEND srcs
		cli_sd.c
	)
endif()

if (CONFIG_SDIO_SLAVE)
	list(APPEND srcs
		cli_sdio_slave.c
	)
endif()

if (CONFIG_PWM)
	list(APPEND srcs
		cli_pwm.c
	)
endif()

if (CONFIG_I2C)
	list(APPEND srcs
		cli_i2c.c
	)
endif()

if (CONFIG_GSENSOR_TEST_EN)
	list(APPEND srcs
		cli_gsensor.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_FATFS)
	list(APPEND srcs "cli_fatfs.c")
endif()

if (CONFIG_VFS)
	list(APPEND srcs
		cli_vfs.c
	)
endif()

if (CONFIG_SDIO_HOST)
	list(APPEND srcs
		cli_sdio_host.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_USB)
	list(APPEND srcs "cli_usb.c")
endif()

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

if (CONFIG_QSPI)
	list(APPEND srcs
		"cli_qspi.c"
	)
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_cp1.c
		)
	endif()
endif()

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

if (CONFIG_BATTERY_TEST)
	list(APPEND srcs cli_battery.c)
endif()

if (CONFIG_GET_UID_TEST)
	list(APPEND srcs cli_uid.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()

if (CONFIG_BK_MODEM)
	list(APPEND srcs cli_modem.c)
endif()

set(PRIV_REQUIRES_LIST bk_common psa_mbedtls bk_netif bk_ps fatfs bk_vfs bk_init bk_libs bk_wifi compal ota cmsis flashdb bk_wifi_driver lwip_intf_v2_1 console bk_batt_monitor app)

armino_component_register(SRCS "cli_gsensor.c" "${srcs}"
	INCLUDE_DIRS "${incs}"
	REQUIRES utf8 app driver bk_system iperf fatfs http adc_key key bk_websocket cm33 demos
	#PRIV_REQUIRES airkiss bk_common bk_netif bk_ps
	PRIV_REQUIRES ${PRIV_REQUIRES_LIST}
	)

armino_component_register_call_subdirs()
