# Linux kernel OS abstraction
#
ifeq ("$(OS_KERNEL)", "linux")

MOD_NAME = os_linux
MOD_TYPE = linux_module
MOD_SUPPRESS_OS_DEP = y
MOD_DEPS = ll_pcie

MOD_INC_DIRS = $(SRC_DIR) $(SRC_DIR)/..
ifeq ("$(RELEASE_BUILD)", "y")
    MOD_INC_DIRS += host_driver/config
else
    MOD_INC_DIRS += $(SUBSYSTEM)/os_abstraction/$(PLATFORM) $(SUBSYSTEM)/config
endif

EXTRA_CFLAGS += -DBCMOS_TRACE_PRINTF

srcs = bcmos_system.c ../bcmos_errno.c ../bcmos_common.c

ifeq ("$(DEBUG)", "y")
	MOD_DEFS	+= -DBCMOS_MEM_DEBUG -DBCMOS_SYS_UNITTEST
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

endif
