# This dummy Makefile doesn't build anything.
# It just adds paths to Maple SDK header files and libraries
#
MOD_NAME = maple_sdk
MOD_TYPE = lib

MOD_INC_DIRS  = $(SRC_DIR)/sdk/host_driver/api
MOD_INC_DIRS += $(SRC_DIR)/sdk/host_driver/host_api

ifeq ("$(ENABLE_CLI)", "y")
   MOD_INC_DIRS += $(SRC_DIR)/sdk/host_customized/embedded_cli
   MOD_INC_DIRS += $(SRC_DIR)/sdk/host_customized/os_abstraction/os_cli
endif

ifneq ("$(BOARD)", "")
   MOD_INC_DIRS += $(SRC_DIR)/sdk/host_customized/board/$(BOARD)
endif

MOD_INC_DIRS += $(SRC_DIR)/sdk/host_driver/transport
MOD_INC_DIRS += $(SRC_DIR)/sdk/host_driver/model
MOD_INC_DIRS += $(SRC_DIR)/sdk/host_driver/common_gpon
MOD_INC_DIRS += $(SRC_DIR)/sdk/host_driver/sw_version

MOD_LIBS  = -L$(SRC_DIR)/sdk/build/output
MOD_LIBS += -lmodel
MOD_LIBS += -lcommon_api
MOD_LIBS += -ltransport
MOD_LIBS += -ldevice_selector
ifneq ("$(BOARD)", "")
   MOD_LIBS += -lbcm_board
endif

ifeq ("$(SIMULATION_BUILD)", "y")
    MOD_LIBS += -ltr_plugin_udp
else
    MOD_LIBS += -ltr_plugin_mux -ltr_plugin_raw -ltr_plugin_raw_ud
endif

ifeq ("$(ENABLE_CLI)", "y")
    MOD_INC_DIRS += $(SRC_DIR)/sdk/host_reference/api_dev_log
    MOD_INC_DIRS += $(SRC_DIR)/sdk/host_reference/api_cli
    MOD_INC_DIRS += $(SRC_DIR)/sdk/host_reference/device_selector
    MOD_LIBS += -lapi_cli
    MOD_LIBS += -lapi_dev_log
endif
