# Transport
#
MOD_NAME = transport
MOD_TYPE = lib
MOD_DEPS = utils cli model common_api tr_plugin dev_log

ifeq ("$(RELEASE_BUILD)", "y")
    MOD_DEPS += api_cli
    TR_PERF_TEST = n
else
    MOD_DEPS += api_cli_helpers
endif

ifeq ("$(SUBSYSTEM)", "host")
    MOD_DEPS += device_selector
endif

ifeq ("$(OS_KERNEL)", "linux")
   MOD_DEPS += dev_log_linux
endif

srcs = bcmtr_transport.c bcmtr_config.c bcmtr_debug.c

ifeq ("$(ENABLE_CLI)", "y")
	srcs += bcmtr_transport_cli.c bcmtr_debug_cli.c
else
    TR_PERF_TEST = n
endif

CONFIG_TRANSPORT_RAW ?= n
CONFIG_TRANSPORT_UDP ?= y

# Extra configuration
ifeq ("$(CONFIG_TRANSPORT_RAW)", "y")
	MOD_DEPS += tr_plugin_mux
	CONFIG_TRANSPORT_UDP = n
endif
ifeq ("$(CONFIG_TRANSPORT_UDP)", "y")
	MOD_DEPS += tr_plugin_udp
endif

TR_PERF_TEST ?= y
ifeq ("$(TR_PERF_TEST)", "y")
    EXTRA_DEFINES += -DBCMTR_PERFTEST
    EXTRA_INCLUDES += -I$(SRC_DIR)/test
    srcs += test/bcmtr_perftest.c
endif
