Patch from Vu Pham <vuhuong@mellanox.com>: SRP target driver
[mirror/scst/.git] / Makefile
1 #
2 #  Common makefile for SCSI target mid-level and its drivers
3 #  
4 #  Copyright (C) 2006 Vladislav Bolkhovitin <vst@vlnb.net>
5 #  
6 #  This program is free software; you can redistribute it and/or
7 #  modify it under the terms of the GNU General Public License
8 #  as published by the Free Software Foundation, version 2
9 #  of the License.
10
11 #  This program is distributed in the hope that it will be useful,
12 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 #  GNU General Public License for more details.
15 #
16 #
17
18 # Decide to use which kernel src. If not specified, is current running kernel.
19 #export KDIR=/usr/src/linux-2.6
20
21 SCST_DIR=scst
22 QLA_INI_DIR=qla2x00t
23 QLA_DIR=qla2x00t/qla2x00-target
24 LSI_DIR=mpt
25 USR_DIR=usr/fileio
26 SRP_DIR=srpt
27
28 ISCSI_DIR=iscsi-scst
29 #ISCSI_DISTDIR=../../../iscsi_scst_inst
30
31 help:
32         @echo "         all               : make all"
33         @echo "         clean             : clean files"
34         @echo "         extraclean        : clean + clean dependencies"
35         @echo "         install           : install"
36         @echo "         uninstall         : uninstall"
37         @echo ""
38         @echo "         scst              : make scst only"
39         @echo "         scst_clean        : scst: clean "
40         @echo "         scst_extraclean   : scst: clean + clean dependencies"
41         @echo "         scst_install      : scst: install"
42         @echo "         scst_uninstall    : scst: uninstall"
43         @echo ""
44         @echo "         qla               : make QLA target driver"
45         @echo "         qla_clean         : 2.6 qla target: clean "
46         @echo "         qla_extraclean    : 2.6 qla target: clean + clean dependencies"
47         @echo "         qla_install       : 2.6 qla target: install"
48         @echo "         qla_uninstall     : 2.6 qla target: uninstall"
49         @echo ""
50         @echo "         iscsi             : make iSCSI target"
51         @echo "         iscsi_clean       : ISCSI target: clean "
52         @echo "         iscsi_extraclean  : ISCSI target: clean + clean dependencies"
53         @echo "         iscsi_install     : ISCSI target: install"
54         @echo "         iscsi_uninstall   : ISCSI target: uninstall"
55         @echo ""
56         @echo "         lsi               : make LSI MPT target"
57         @echo "         lsi_clean         : lsi target: clean "
58         @echo "         lsi_extraclean    : lsi target: clean + clean dependencies"
59         @echo "         lsi_install       : lsi target: install"
60         @echo "         lsi_uninstall     : lsi target: uninstall"
61         @echo ""
62         @echo "         srpt              : make SRP target"
63         @echo "         srpt_clean        : srp target: clean "
64         @echo "         srpt_extraclean   : srp target: clean + clean dependencies"
65         @echo "         srpt_install      : srp target: install"
66         @echo "         srpt_uninstall    : srp target: uninstall"
67         @echo ""
68         @echo "         usr               : make user space fileio_tgt target"
69         @echo "         usr_clean         : usr target: clean "
70         @echo "         usr_extraclean    : usr target: clean + clean dependencies"
71         @echo "         usr_install       : usr target: install"
72         @echo "         usr_uninstall     : usr target: uninstall"
73         @echo ""
74         @echo "         debug2perf        : changes debug state from full debug to full performance"
75         @echo "         debug2release     : changes debug state from full debug to release"
76         @echo "         perf2debug        : changes debug state from full performance to full debug"
77         @echo "         release2debug     : changes debug state from release to full debug"
78         @echo ""
79         @echo " Note:"
80         @echo "         - install and uninstall may need root privileges"
81
82 all:
83         cd $(SCST_DIR) && $(MAKE) $@
84         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
85 #       @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
86         @if [ -d $(SRP_DIR) ]; then cd $(SRP_DIR) && $(MAKE) $@; fi
87         @if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
88         @if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
89
90 install: 
91         cd $(SCST_DIR) && $(MAKE) $@
92         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
93 #       @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
94         @if [ -d $(SRP_DIR) ]; then cd $(SRP_DIR) && $(MAKE) $@; fi
95         @if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) DISTDIR=$(ISCSI_DISTDIR) $@; fi
96         @if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
97
98 uninstall: 
99         cd $(SCST_DIR) && $(MAKE) $@
100         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
101         @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
102         @if [ -d $(SRP_DIR) ]; then cd $(SRP_DIR) && $(MAKE) $@; fi
103         @if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
104         @if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
105
106 clean: 
107         cd $(SCST_DIR) && $(MAKE) $@
108         @if [ -d $(QLA_INI_DIR) ]; then cd $(QLA_INI_DIR) && $(MAKE) $@; fi
109         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
110         @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
111         @if [ -d $(SRP_DIR) ]; then cd $(SRP_DIR) && $(MAKE) $@; fi
112         @if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
113         @if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
114
115 extraclean: 
116         cd $(SCST_DIR) && $(MAKE) $@
117         @if [ -d $(QLA_INI_DIR) ]; then cd $(QLA_INI_DIR) && $(MAKE) $@; fi
118         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
119         @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
120         @if [ -d $(SRP_DIR) ]; then cd $(SRP_DIR) && $(MAKE) $@; fi
121         @if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
122         @if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
123
124 scst: 
125         cd $(SCST_DIR) && $(MAKE)
126
127 scst_install: 
128         cd $(SCST_DIR) && $(MAKE) install
129
130 scst_uninstall: 
131         cd $(SCST_DIR) && $(MAKE) uninstall
132
133 scst_clean: 
134         cd $(SCST_DIR) && $(MAKE) clean
135
136 scst_extraclean: 
137         cd $(SCST_DIR) && $(MAKE) extraclean
138
139 qla:
140         cd $(QLA_DIR) && $(MAKE)
141
142 qla_install:
143         cd $(QLA_DIR) && $(MAKE) install
144
145 qla_uninstall:
146         cd $(QLA_DIR) && $(MAKE) uninstall
147
148 qla_clean: 
149         cd $(QLA_INI_DIR) && $(MAKE) clean
150         cd $(QLA_DIR) && $(MAKE) clean
151
152 qla_extraclean:
153         cd $(QLA_INI_DIR)/.. && $(MAKE) extraclean
154         cd $(QLA_DIR) && $(MAKE) extraclean
155
156 iscsi:
157         cd $(ISCSI_DIR) && $(MAKE)
158
159 iscsi_install:
160         cd $(ISCSI_DIR) && $(MAKE) DISTDIR=$(ISCSI_DISTDIR) install
161
162 iscsi_uninstall:
163         cd $(ISCSI_DIR) && $(MAKE) uninstall
164
165 iscsi_clean: 
166         cd $(ISCSI_DIR) && $(MAKE) clean
167
168 iscsi_extraclean:
169         cd $(ISCSI_DIR) && $(MAKE) extraclean
170
171 lsi:
172         cd $(LSI_DIR) && $(MAKE)
173
174 lsi_install:
175         cd $(LSI_DIR) && $(MAKE) install
176
177 lsi_uninstall:
178         cd $(LSI_DIR) && $(MAKE) uninstall
179
180 lsi_clean: 
181         cd $(LSI_DIR) && $(MAKE) clean
182
183 lsi_extraclean:
184         cd $(LSI_DIR) && $(MAKE) extraclean
185
186 srpt:
187         cd $(SRP_DIR) && $(MAKE)
188
189 srpt_install:
190         cd $(SRP_DIR) && $(MAKE) install
191
192 srpt_uninstall:
193         cd $(SRP_DIR) && $(MAKE) uninstall
194
195 srpt_clean: 
196         cd $(SRP_DIR) && $(MAKE) clean
197
198 srpt_extraclean:
199         cd $(SRP_DIR) && $(MAKE) extraclean
200
201 usr:
202         cd $(USR_DIR) && $(MAKE)
203
204 usr_install:
205         cd $(USR_DIR) && $(MAKE) install
206
207 usr_uninstall:
208         cd $(USR_DIR) && $(MAKE) uninstall
209
210 usr_clean: 
211         cd $(USR_DIR) && $(MAKE) clean
212
213 usr_extraclean:
214         cd $(USR_DIR) && $(MAKE) extraclean
215
216 debug2perf:
217         echo "Changing current debug state from full debug to full performance"
218         patch -p0 <scst-full_perf.patch
219         patch -p0 <usr-full_perf.patch
220         patch -p0 <qla2x00t-full_perf.patch
221         patch -p0 <iscsi-full_perf.patch
222
223 debug2release:
224         echo "Changing current debug state from full debug to release"
225         patch -p0 <scst-release.patch
226         patch -p0 <usr-release.patch
227         patch -p0 <qla2x00t-release.patch
228         patch -p0 <iscsi-release.patch
229
230 perf2debug:
231         echo "Changing current debug state from full performance to full debug"
232         patch -p0 -R <scst-full_perf.patch
233         patch -p0 -R <usr-full_perf.patch
234         patch -p0 -R <qla2x00t-full_perf.patch
235         patch -p0 -R <iscsi-full_perf.patch
236
237 release2debug:
238         echo "Changing current debug state from release to full debug"
239         patch -p0 -R <scst-release.patch
240         patch -p0 -R <usr-release.patch
241         patch -p0 -R <qla2x00t-release.patch
242         patch -p0 -R <iscsi-release.patch
243
244 .PHONY: all install uninstall clean extraclean help \
245         qla qla_install qla_uninstall qla_clean qla_extraclean \
246         lsi lsi_install lsi_uninstall lsi_clean lsi_extraclean \
247         iscsi iscsi_install iscsi_uninstall iscsi_clean iscsi_extraclean \
248         scst scst_install scst_uninstall scst_clean scst_extraclean \
249         usr usr_install usr_uninstall usr_clean usr_extraclean \
250         debug2perf, debug2release, perf2debug, release2debug