52fcf26bde10d87fdb2a03b00c06600fc84eb9e7
[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)
35
36 INSTALL_DIR := /lib/modules/$(shell uname -r)/extra
37
38 EXTRA_CFLAGS += -DCONFIG_SCST_EXTRACHECKS 
39 #EXTRA_CFLAGS += -DCONFIG_SCST_TRACING
40 EXTRA_CFLAGS += -DCONFIG_SCST_DEBUG -g -W -Wno-unused-parameter \
41                 -Wno-missing-field-initializers
42 #EXTRA_CFLAGS += -DCONFIG_QLA_TGT_DEBUG_WORK_IN_THREAD
43
44 ifeq ($(KVER),)
45   ifeq ($(KDIR),)
46     KVER = $(shell uname -r)
47     KDIR := /lib/modules/$(KVER)/build
48   endif
49 else
50   KDIR := /lib/modules/$(KVER)/build
51 endif
52
53 QLA2XXX_INC_DIR := $(KDIR)/drivers/scsi/qla2xxx
54 EXTRA_CFLAGS += -I$(QLA2XXX_INC_DIR)
55
56 ifneq ($(KERNELRELEASE),)
57 obj-m := qla2x00tgt.o
58 qla2x00tgt-objs := qla2x00t.o
59
60 else
61
62 all: Modules.symvers Module.symvers
63         $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd) BUILD_INI=m
64
65 tgt: Modules.symvers Module.symvers
66         $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd) BUILD_INI=n
67
68 install: all
69         $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd) BUILD_INI=m \
70                 modules_install
71         -/sbin/depmod -a $(KVER)
72
73 SCST_MOD_VERS := $(shell ls $(SCST_DIR)/Modules.symvers 2>/dev/null)
74 ifneq ($(SCST_MOD_VERS),)
75 Modules.symvers: $(SCST_DIR)/Modules.symvers
76         cp $(SCST_DIR)/Modules.symvers .
77 else
78 .PHONY: Modules.symvers
79 endif
80
81 # It's renamed in 2.6.18
82 SCST_MOD_VERS := $(shell ls $(SCST_DIR)/Module.symvers 2>/dev/null)
83 ifneq ($(SCST_MOD_VERS),)
84 Module.symvers: $(SCST_DIR)/Module.symvers
85         cp $(SCST_DIR)/Module.symvers .
86 else
87 .PHONY: Module.symvers
88 endif
89
90 uninstall:
91         rm -f $(INSTALL_DIR)/qla2[23x]00tgt.ko
92         -/sbin/depmod -a $(KVER)
93 endif
94
95 clean:
96         rm -f *.o *.ko .*.cmd *.mod.c .*.d .depend *~ Modules.symvers \
97                 Module.symvers Module.markers modules.order
98         rm -rf .tmp_versions
99
100 extraclean: clean
101
102 .PHONY: all tgt install uninstall clean extraclean