# Copyright (c) 2021-2022 Amlogic, Inc. All rights reserved.

# SPDX-License-Identifier: MIT

set(CURRENT_LIBRARY_TYPE STATIC)
set(CURRENT_LIBRARY drivers)
message(STATUS "@@${CURRENT_LIBRARY_TYPE}: ${CURRENT_LIBRARY}")

aml_add_library_spec(${CURRENT_LIBRARY} ${CURRENT_LIBRARY_TYPE})

add_subdirectory(common)
add_subdirectory_if_kconfig(stick_mem)
add_subdirectory_if_kconfig(uart)
add_subdirectory_if_kconfig(cec)
add_subdirectory_if_kconfig(ddr)
add_subdirectory_if_kconfig(mailbox)
add_subdirectory_if_kconfig(rtc)
add_subdirectory_if_kconfig(vrtc)
add_subdirectory_if_kconfig(str)
add_subdirectory_if_kconfig(gpio)
add_subdirectory_if_kconfig(key)
add_subdirectory_if_kconfig(pwm)
add_subdirectory_if_kconfig(leds)
add_subdirectory_if_kconfig(fd650)
add_subdirectory_if_kconfig(timer_source)
add_subdirectory(saradc)
add_subdirectory_if_kconfig(watchdog)
add_subdirectory_if_kconfig(ir)
add_subdirectory_if_kconfig(hwspinlock)
add_subdirectory_if_kconfig(hwcrypto)
add_subdirectory(i2c)
add_subdirectory_if_kconfig(i2c_slave)
add_subdirectory_if_kconfig(ethernet)
add_subdirectory(net)
add_subdirectory_if_kconfig(hdmirx)
add_subdirectory_if_kconfig(pm)
add_subdirectory_if_kconfig(wifi_bt_wake)
add_subdirectory_if_kconfig(bt_clock_sync)
add_subdirectory_if_kconfig(spi)
add_subdirectory_if_kconfig(watchkey)
add_subdirectory_if_kconfig(alive_check)
add_subdirectory_if_kconfig(ao_ae)
add_subdirectory_if_kconfig(sed)

aml_library_include_directories(
	${CMAKE_CURRENT_SOURCE_DIR}/stick_mem
	${CMAKE_CURRENT_SOURCE_DIR}/uart
	${CMAKE_CURRENT_SOURCE_DIR}/cec
	${CMAKE_CURRENT_SOURCE_DIR}/ddr
	${CMAKE_CURRENT_SOURCE_DIR}/mailbox
	${CMAKE_CURRENT_SOURCE_DIR}/rtc
	${CMAKE_CURRENT_SOURCE_DIR}/vrtc
	${CMAKE_CURRENT_SOURCE_DIR}/str
	${CMAKE_CURRENT_SOURCE_DIR}/gpio
	${CMAKE_CURRENT_SOURCE_DIR}/key
	${CMAKE_CURRENT_SOURCE_DIR}/pwm
	${CMAKE_CURRENT_SOURCE_DIR}/leds
	${CMAKE_CURRENT_SOURCE_DIR}/fd650
	${CMAKE_CURRENT_SOURCE_DIR}/timer_source
	${CMAKE_CURRENT_SOURCE_DIR}/saradc
	${CMAKE_CURRENT_SOURCE_DIR}/watchdog
	${CMAKE_CURRENT_SOURCE_DIR}/ir
	${CMAKE_CURRENT_SOURCE_DIR}/hwspinlock
	${CMAKE_CURRENT_SOURCE_DIR}/hwcrypto
	${CMAKE_CURRENT_SOURCE_DIR}/i2c
	${CMAKE_CURRENT_SOURCE_DIR}/i2c_slave
	${CMAKE_CURRENT_SOURCE_DIR}/ethernet
	${CMAKE_CURRENT_SOURCE_DIR}/net
	${CMAKE_CURRENT_SOURCE_DIR}/hdmirx
	${CMAKE_CURRENT_SOURCE_DIR}/pm
	${CMAKE_CURRENT_SOURCE_DIR}/wifi_bt_wake
	${CMAKE_CURRENT_SOURCE_DIR}/bt_clock_sync
	${CMAKE_CURRENT_SOURCE_DIR}/common
	${CMAKE_CURRENT_SOURCE_DIR}/spi
	${CMAKE_CURRENT_SOURCE_DIR}/watchkey
	${CMAKE_CURRENT_SOURCE_DIR}/alive_check
	${CMAKE_CURRENT_SOURCE_DIR}/ao_ae
	${CMAKE_CURRENT_SOURCE_DIR}/sed
)

redefine_file_macro()

target_compile_options(
	${CURRENT_LIBRARY}
	PRIVATE
	-Wno-builtin-macro-redefined
)

aml_library_link_libraries(arch__${ARCH})
aml_library_link_libraries(soc__${ARCH})
aml_library_link_libraries(boards__${ARCH})

aml_link_libraries()

