# FLD driver
# - low-level FLD driver (load functions)
#
MOD_NAME = fld
MOD_DEPS = model

ifneq ("$(RELEASE_BUILD)", "y")
    MOD_INC_DIRS = $(SRC_DIR) common/drivers/$(PLATFORM)/fld
endif

ifeq ("$(ENABLE_TRACE)", "y")
	MOD_DEFS += -DTX_ENABLE_EVENT_TRACE
    ifeq ("$(DEBUG_TRACE_INIT)", "y")
       MOD_DEFS += -DDEBUG_TRACE_INIT
    endif
endif

ifeq ("$(OS_KERNEL)", "linux")
MOD_TYPE = linux_lib
else
MOD_TYPE = lib
endif

# If called by linux kernel builder - add include paths manually.
# It is not elegant, but we'll not have many linux modules
ifneq ("$(KBUILD_SRC)", "")
	-include $(OUT_DIR_BASE)/Makefile.config.$(MOD_NAME)
endif

# Disable "cast increases required alignment of target type" warning. 
# There are places in the code with casting from (uint8_t *) to (uint32_t *), but in fact
# the buffer is well-aligned. 
EXTRA_CFLAGS += -Wno-error=cast-align

srcs = bcmolt_fld.c

USE_LINT = yes

