# Coop DBA
MOD_NAME = coop_dba

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

ifeq ("$(RELEASE_BUILD)", "y")
	EXTRA_CFLAGS += -I$(TOP_DIR)/host_driver/api \
-I$(TOP_DIR)/host_driver/utils \
-I$(TOP_DIR)/host_reference/dev_log \
-I$(TOP_DIR)/host_driver/common_gpon \
-I$(TOP_DIR)/host_driver/transport/mux \
-I$(TOP_DIR)/host_driver/transport/pcie_sw_queue \
-I$(TOP_DIR)/host_driver/pcie \
-I$(TOP_DIR)/host_driver/transport
else
	EXTRA_CFLAGS += -I$(TOP_DIR)/common/gpon \
-I$(TOP_DIR)/common/model/maple \
-I$(TOP_DIR)/common/transport/driver/maple/pcie_sw_queue \
-I$(TOP_DIR)/common/drivers/maple/pcie \
-I$(TOP_DIR)/common/api \
-I$(TOP_DIR)/common/utils \
-I$(TOP_DIR)/common/dev_log \
-I$(TOP_DIR)/host/transport/driver/maple/mux
endif
				
srcs = bcmolt_coop_dba.c

MOD_INC_DIRS = $(SRC_DIR) $(MODEL_OUT_DIR)

# 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
