abd1b63983bb8cee998713afb95b20421feee723
[mirror/scst/.git] / qla2x00t / qla2x00-target / Makefile
1 #
2 #  Qlogic 2x00 SCSI target driver makefile
3 #  
4 #  Copyright (C) 2004 - 2008 Vladislav Bolkhovitin <vst@vlnb.net>
5 #  Copyright (C) 2004 - 2005 Leonid Stoljar
6 #  
7 #  This program is free software; you can redistribute it and/or
8 #  modify it under the terms of the GNU General Public License
9 #  as published by the Free Software Foundation, version 2
10 #  of the License.
11
12 #  This program is distributed in the hope that it will be useful,
13 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
14 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 #  GNU General Public License for more details.
16 #
17 #
18 # Main targets:
19 #    all (the default) : make all
20 #    clean             : clean files
21 #    extraclean        : clean + clean dependencies
22 #    install           : install 
23 #    uninstall         : uninstall 
24 #
25 # Notes :
26 #    - install and uninstall must be made as root
27 #
28
29 SCST_INC_DIR := /usr/local/include/scst
30 SCST_DIR := $(SCST_INC_DIR)
31 #SCST_INC_DIR := $(SUBDIRS)/../../scst/include
32 #SCST_DIR := $(shell pwd)/../../scst/src
33
34 EXTRA_CFLAGS += -I$(SCST_INC_DIR) -DFC_TARGET_SUPPORT
35
36 INSTALL_DIR := /lib/modules/$(shell uname -r)/extra
37
38 EXTRA_CFLAGS += -DEXTRACHECKS 
39 #EXTRA_CFLAGS += -DTRACING
40 EXTRA_CFLAGS += -DDEBUG_TGT -g
41 #EXTRA_CFLAGS += -DDEBUG_WORK_IN_THREAD
42
43 ifeq ($(KVER),)
44   ifeq ($(KDIR),)
45     KVER = $(shell uname -r)
46     KDIR := /lib/modules/$(KVER)/build
47   endif
48 else
49   KDIR := /lib/modules/$(KVER)/build
50 endif
51
52 QLA2XXX_INC_DIR := $(KDIR)/drivers/scsi/qla2xxx
53 EXTRA_CFLAGS += -I$(QLA2XXX_INC_DIR)
54
55 ifneq ($(KERNELRELEASE),)
56 obj-m := qla2x00tgt.o
57 qla2x00tgt-objs := qla2x00t.o
58
59 else
60
61 all: Modules.symvers Module.symvers
62         $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd) BUILD_INI=m
63
64 tgt: Modules.symvers Module.symvers
65         $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd) BUILD_INI=n
66
67 install: all
68         $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd) BUILD_INI=m \
69                 modules_install
70         -depmod -a $(KVER)
71
72 SCST_MOD_VERS := $(shell ls $(SCST_DIR)/Modules.symvers 2>/dev/null)
73 ifneq ($(SCST_MOD_VERS),)
74 Modules.symvers: $(SCST_DIR)/Modules.symvers
75         cp $(SCST_DIR)/Modules.symvers .
76 else
77 .PHONY: Modules.symvers
78 endif
79
80 # It's renamed in 2.6.18
81 SCST_MOD_VERS := $(shell ls $(SCST_DIR)/Module.symvers 2>/dev/null)
82 ifneq ($(SCST_MOD_VERS),)
83 Module.symvers: $(SCST_DIR)/Module.symvers
84         cp $(SCST_DIR)/Module.symvers .
85 else
86 .PHONY: Module.symvers
87 endif
88
89 uninstall:
90         rm -f $(INSTALL_DIR)/qla2[23x]00tgt.ko
91         -/sbin/depmod -a $(KVER)
92 endif
93
94 clean:
95         rm -f *.o *.ko .*.cmd *.mod.c .*.d .depend *~ Modules.symvers \
96                 Module.symvers Module.markers modules.order
97         rm -rf .tmp_versions
98
99 extraclean: clean
100
101 .PHONY: all tgt install uninstall clean extraclean