Release 0.9.5 of both SCST and Qlogic target driver
[mirror/scst/.git] / qla2x00t / qla2x00-target / Makefile
1 #
2 #  Qlogic 2x00 SCSI target driver makefile
3 #  
4 #  Copyright (C) 2004 Vladislav Bolkhovitin <vst@vlnb.net>
5 #                 and 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_INC_DIR := $(SUBDIRS)/../../scst/include
31 #SCST_DIR := $(shell pwd)/../../scst/src
32 SCST_DIR := $(shell pwd)/../../scst-0.9.5/src
33 EXTRA_CFLAGS += -I$(SCST_INC_DIR) -DFC_TARGET_SUPPORT
34
35 INSTALL_DIR := /lib/modules/$(shell uname -r)/extra
36
37 EXTRA_CFLAGS += -DEXTRACHECKS 
38 EXTRA_CFLAGS += -DTRACING
39 #EXTRA_CFLAGS += -DDEBUG_TGT
40 #EXTRA_CFLAGS += -DDEBUG_WORK_IN_THREAD
41
42 ifeq ($(KVER),)
43   ifeq ($(KDIR),)
44     KDIR := /lib/modules/$(shell uname -r)/build
45   endif
46 else
47   KDIR := /lib/modules/$(KVER)/build
48 endif
49
50 QLA2XXX_INC_DIR := $(KDIR)/drivers/scsi/qla2xxx
51 EXTRA_CFLAGS += -I$(QLA2XXX_INC_DIR)
52
53 ifneq ($(KERNELRELEASE),)
54 obj-m := qla2x00tgt.o
55 qla2x00tgt-objs := qla2x00t.o
56
57 else
58
59 all: Modules.symvers Module.symvers
60         $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd) BUILD_INI=m
61
62 tgt: Modules.symvers Module.symvers
63         $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd) BUILD_INI=n
64
65 install: all
66         $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd) BUILD_INI=m \
67                 modules_install
68         -depmod -a
69
70 SCST_MOD_VERS := $(shell ls $(SCST_DIR)/Modules.symvers 2>/dev/null)
71 ifneq ($(SCST_MOD_VERS),)
72 Modules.symvers: $(SCST_DIR)/Modules.symvers
73         echo $(SCST_MOD_VERS)
74         cp $(SCST_DIR)/Modules.symvers .
75 else
76 .PHONY: Modules.symvers
77 endif
78
79 # It's renamed in 2.6.18
80 SCST_MOD_VERS := $(shell ls $(SCST_DIR)/Module.symvers 2>/dev/null)
81 ifneq ($(SCST_MOD_VERS),)
82 Module.symvers: $(SCST_DIR)/Module.symvers
83         cp $(SCST_DIR)/Module.symvers .
84 else
85 .PHONY: Module.symvers
86 endif
87
88 uninstall:
89         rm -f $(INSTALL_DIR)/qla2[23x]00tgt.ko
90         -/sbin/depmod -a
91 endif
92
93 clean:
94         rm -f *.o *.ko .*.cmd *.mod.c .*.d .depend *~ Modules.symvers Module.symvers
95         rm -rf .tmp_versions
96
97 extraclean: clean
98
99 .PHONY: all tgt install uninstall clean extraclean