#
#    Copyright (c) 2005-2008 Brocade Communications Systems, Inc.
#    All rights reserved.
#

BASE_OBJECTS := bnad.o \
		bnad_ethtool.o \
                bnad_ioctl.o \
                bnad_aen.o \
                bnad_diag.o \
                bna_fn.o \
                bna_if.o \
                bna_ioctl.o \
                bna_queue.o \
		inet_lro.o

CNA_OBJECTS :=  ../../scsi/bfa/bfad_fwimg.o \
                ../../scsi/bfa/cna/bfa_aen.o \
                ../../scsi/bfa/cna/bfa_csdebug.o \
                ../../scsi/bfa/cna/bfa_sm.o \
                ../../scsi/bfa/cna/bfa_ioc.o \
                ../../scsi/bfa/cna/bfa_timer.o \
                ../../scsi/bfa/cna/bfa_log.o \
                ../../scsi/bfa/cna/bfa_log_module.o \
		../../scsi/bfa/cna/bfa_diag.o \
		../../scsi/bfa/cna/bfa_cee.o

OBJECT_FILES += $(BASE_OBJECTS) $(CNA_OBJECTS)

KERNEL_DIR := /lib/modules/$(shell uname -r)/build

EXTRA_CFLAGS +=  -I$(obj) \
	-I$(obj)/../../scsi/bfa/include \
	-I$(obj)/../../scsi/bfa/include/hal \
        -I$(obj)/../../scsi/bfa/include/cee \
        -I$(obj)/../../scsi/bfa/include/cna \
	-I$(obj)/../../scsi/bfa/include/cna/pstats \
        -I$(obj)/../../scsi/bfa/include/cs \
	-I$(obj)/../../scsi/bfa/include/ioctl -O2 \
        -DDEBUG -DCATAPULT_BRINGUP -DBNA_ASSERT_PRINTK_ONLY \
        -DBNAD_DIAG_LOOPBACK -DBNA_DYN_INTR_MOD -DBNAD_LRO -DBNAD_NAPI

obj-m = bna.o

bna-objs := $(OBJECT_FILES)

clean_files := \( -name "*.o" -o -name "*.ko" -o -name "*.tgz" -o -name "*.mod.o" \
		-o -name "*.mod.c" -o -name ".*.cmd" -o -name ".*.flags" \
		-o -name " *.rpm" -o -name  ".tmp_versions" \
		-o -name "Module.symvers" \)

all build:
	$(MAKE) -C $(KERNEL_DIR) M=`pwd` CONFIG_DEBUG_INFO=

cscope:
	@rm -rf cscope.*
	@find . -name "*.[ch]" >cscope.files
	@ctags -L cscope.files
	@cscope -b

clean:
	@find . $(clean_files) | xargs rm -rf
