scst_local module added.
[mirror/scst/.git] / Makefile
1 #
2 #  Common makefile for SCSI target mid-level and its drivers
3 #  
4 #  Copyright (C) 2004 - 2008 Vladislav Bolkhovitin <vst@vlnb.net>
5 #  Copyright (C) 2007 - 2008 CMS Distribution Limited
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
19 # Decide to use which kernel src. If not specified, is current running kernel.
20 #export KDIR=/usr/src/linux-2.6
21
22 SCST_DIR=scst
23 SCSTADM_DIR=scstadmin
24 QLA_INI_DIR=qla2x00t
25 QLA_DIR=qla2x00t/qla2x00-target
26 QLA_ISP_DIR=qla_isp
27 LSI_DIR=mpt
28 USR_DIR=usr/fileio
29 SRP_DIR=srpt
30 SCST_LOCAL_DIR=scst_local
31
32 ISCSI_DIR=iscsi-scst
33 #ISCSI_DISTDIR=../../../iscsi_scst_inst
34
35 help:
36         @echo "         all               : make all"
37         @echo "         clean             : clean files"
38         @echo "         extraclean        : clean + clean dependencies"
39         @echo "         install           : install"
40         @echo "         uninstall         : uninstall"
41         @echo ""
42         @echo "         scst              : make scst only"
43         @echo "         scst_clean        : scst: clean "
44         @echo "         scst_extraclean   : scst: clean + clean dependencies"
45         @echo "         scst_install      : scst: install"
46         @echo "         scst_uninstall    : scst: uninstall"
47         @echo ""
48         @echo "         scstadm_install   : scstadmin: install"
49         @echo "         scstadm_uninstall : scstadmin: uninstall"
50         @echo ""
51         @echo "         qla               : make QLA target driver"
52         @echo "         qla_clean         : 2.6 qla target: clean "
53         @echo "         qla_extraclean    : 2.6 qla target: clean + clean dependencies"
54         @echo "         qla_install       : 2.6 qla target: install"
55         @echo "         qla_uninstall     : 2.6 qla target: uninstall"
56         @echo ""
57         @echo "         qla_isp           : make ISP Qlogic chipsets target driver"
58         @echo "         qla_isp_clean     : qla ISP target: clean "
59         @echo "         qla_isp_extraclean: qla ISP target: clean + clean dependencies"
60         @echo "         qla_isp_install   : qla ISP target: install"
61         @echo "         qla_isp_uninstall : qla ISP target: uninstall"
62         @echo ""
63         @echo "         iscsi             : make iSCSI target"
64         @echo "         iscsi_clean       : ISCSI target: clean "
65         @echo "         iscsi_extraclean  : ISCSI target: clean + clean dependencies"
66         @echo "         iscsi_install     : ISCSI target: install"
67         @echo "         iscsi_uninstall   : ISCSI target: uninstall"
68         @echo ""
69         @echo "         lsi               : make LSI MPT target"
70         @echo "         lsi_clean         : lsi target: clean "
71         @echo "         lsi_extraclean    : lsi target: clean + clean dependencies"
72         @echo "         lsi_install       : lsi target: install"
73         @echo "         lsi_uninstall     : lsi target: uninstall"
74         @echo ""
75         @echo "         srpt              : make SRP target"
76         @echo "         srpt_clean        : srp target: clean "
77         @echo "         srpt_extraclean   : srp target: clean + clean dependencies"
78         @echo "         srpt_install      : srp target: install"
79         @echo "         srpt_uninstall    : srp target: uninstall"
80         @echo ""
81         @echo "         scst_local        : make scst_local target"
82         @echo "         scst_local_install : scst_local target: install"
83         @echo "         scst_local_uninstall : scst_local target: uninstall"
84         @echo ""
85         @echo "         usr               : make user space fileio_tgt target"
86         @echo "         usr_clean         : usr target: clean "
87         @echo "         usr_extraclean    : usr target: clean + clean dependencies"
88         @echo "         usr_install       : usr target: install"
89         @echo "         usr_uninstall     : usr target: uninstall"
90         @echo ""
91         @echo "         debug2perf        : changes debug state from full debug to full performance"
92         @echo "         debug2release     : changes debug state from full debug to release"
93         @echo "         perf2debug        : changes debug state from full performance to full debug"
94         @echo "         release2debug     : changes debug state from release to full debug"
95         @echo ""
96         @echo " Note:"
97         @echo "         - install and uninstall may need root privileges"
98
99 all:
100         cd $(SCST_DIR) && $(MAKE) $@
101         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
102 #       @if [ -d $(QLA_ISP_DIR) ]; then cd $(QLA_ISP_DIR) && $(MAKE) $@; fi
103 #       @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
104 #       @if [ -d $(SRP_DIR) ]; then cd $(SRP_DIR) && $(MAKE) $@; fi
105         @if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
106         @if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
107         @if [ -d $(SCST_LOCAL_DIR) ]; then cd $(SCST_LOCAL_DIR) && $(MAKE) $@; fi
108
109 install: 
110         cd $(SCST_DIR) && $(MAKE) $@
111         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
112 #       @if [ -d $(QLA_ISP_DIR) ]; then cd $(QLA_ISP_DIR) && $(MAKE) $@; fi
113 #       @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
114 #       @if [ -d $(SRP_DIR) ]; then cd $(SRP_DIR) && $(MAKE) $@; fi
115         @if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) DISTDIR=$(ISCSI_DISTDIR) $@; fi
116         @if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
117         @if [ -d $(SCST_LOCAL_DIR) ]; then cd $(SCST_LOCAL_DIR) && $(MAKE) $@; fi
118
119 uninstall: 
120         cd $(SCST_DIR) && $(MAKE) $@
121         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
122 #       @if [ -d $(QLA_ISP_DIR) ]; then cd $(QLA_ISP_DIR) && $(MAKE) $@; fi
123 #       @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
124         @if [ -d $(SRP_DIR) ]; then cd $(SRP_DIR) && $(MAKE) $@; fi
125         @if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
126         @if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
127         @if [ -d $(SCST_LOCAL_DIR) ]; then cd $(SCST_LOCAL_DIR) && $(MAKE) $@; fi
128
129 clean: 
130         cd $(SCST_DIR) && $(MAKE) $@
131         @if [ -d $(QLA_INI_DIR) ]; then cd $(QLA_INI_DIR) && $(MAKE) $@; fi
132         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
133 #       @if [ -d $(QLA_ISP_DIR) ]; then cd $(QLA_ISP_DIR) && $(MAKE) $@; fi
134 #       @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
135         @if [ -d $(SRP_DIR) ]; then cd $(SRP_DIR) && $(MAKE) $@; fi
136         @if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
137         @if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
138         @if [ -d $(SCST_LOCAL_DIR) ]; then cd $(SCST_LOCAL_DIR) && $(MAKE) $@; fi
139
140 extraclean: 
141         cd $(SCST_DIR) && $(MAKE) $@
142         @if [ -d $(QLA_INI_DIR) ]; then cd $(QLA_INI_DIR) && $(MAKE) $@; fi
143         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
144 #       @if [ -d $(QLA_ISP_DIR) ]; then cd $(QLA_ISP_DIR) && $(MAKE) $@; fi
145 #       @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
146         @if [ -d $(SRP_DIR) ]; then cd $(SRP_DIR) && $(MAKE) $@; fi
147         @if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
148         @if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
149         @if [ -d $(SCST_LOCAL_DIR) ]; then cd $(SCST_LOCAL_DIR) && $(MAKE) $@; fi
150
151 scst: 
152         cd $(SCST_DIR) && $(MAKE) all
153
154 scst_install: 
155         cd $(SCST_DIR) && $(MAKE) install
156
157 scst_uninstall: 
158         cd $(SCST_DIR) && $(MAKE) uninstall
159
160 scst_clean: 
161         cd $(SCST_DIR) && $(MAKE) clean
162
163 scst_extraclean: 
164         cd $(SCST_DIR) && $(MAKE) extraclean
165
166 scstadm:
167         cd $(SCSTADM_DIR) && $(MAKE) all
168
169 scstadm_install: 
170         cd $(SCSTADM_DIR) && $(MAKE) install
171
172 scstadm_uninstall: 
173         cd $(SCSTADM_DIR) && $(MAKE) uninstall
174
175 scstadm_clean:
176         cd $(SCSTADM_DIR) && $(MAKE) clean
177
178 scstadm_extraclean:
179         cd $(SCSTADM_DIR) && $(MAKE) extraclean
180
181 qla:
182         cd $(QLA_DIR) && $(MAKE) all
183
184 qla_install:
185         cd $(QLA_DIR) && $(MAKE) install
186
187 qla_uninstall:
188         cd $(QLA_DIR) && $(MAKE) uninstall
189
190 qla_clean: 
191         cd $(QLA_INI_DIR) && $(MAKE) clean
192         cd $(QLA_DIR) && $(MAKE) clean
193
194 qla_extraclean:
195         cd $(QLA_INI_DIR)/.. && $(MAKE) extraclean
196         cd $(QLA_DIR) && $(MAKE) extraclean
197
198 qla_isp:
199         cd $(QLA_ISP_DIR) && $(MAKE) all
200
201 qla_isp_install:
202         cd $(QLA_ISP_DIR) && $(MAKE) install
203
204 qla_isp_uninstall:
205         cd $(QLA_ISP_DIR) && $(MAKE) uninstall
206
207 qla_isp_clean:
208         cd $(QLA_ISP_DIR) && $(MAKE) clean
209
210 qla_isp_extraclean:
211         cd $(QLA_ISP_DIR) && $(MAKE) extraclean
212
213 iscsi:
214         cd $(ISCSI_DIR) && $(MAKE) all
215
216 iscsi_install:
217         cd $(ISCSI_DIR) && $(MAKE) DISTDIR=$(ISCSI_DISTDIR) install
218
219 iscsi_uninstall:
220         cd $(ISCSI_DIR) && $(MAKE) uninstall
221
222 iscsi_clean: 
223         cd $(ISCSI_DIR) && $(MAKE) clean
224
225 iscsi_extraclean:
226         cd $(ISCSI_DIR) && $(MAKE) extraclean
227
228 lsi:
229         cd $(LSI_DIR) && $(MAKE) all
230
231 lsi_install:
232         cd $(LSI_DIR) && $(MAKE) install
233
234 lsi_uninstall:
235         cd $(LSI_DIR) && $(MAKE) uninstall
236
237 lsi_clean: 
238         cd $(LSI_DIR) && $(MAKE) clean
239
240 lsi_extraclean:
241         cd $(LSI_DIR) && $(MAKE) extraclean
242
243 srpt:
244         cd $(SRP_DIR) && $(MAKE) all
245
246 srpt_install:
247         cd $(SRP_DIR) && $(MAKE) install
248
249 srpt_uninstall:
250         cd $(SRP_DIR) && $(MAKE) uninstall
251
252 srpt_clean:
253         cd $(SRP_DIR) && $(MAKE) clean
254
255 srpt_extraclean:
256         cd $(SRP_DIR) && $(MAKE) extraclean
257
258 scst_local:
259         cd $(SCST_LOCAL_DIR) && $(MAKE) all
260
261 scst_local_install:
262         cd $(SCST_LOCAL_DIR) && $(MAKE) install
263
264 scst_local_uninstall:
265         cd $(SCST_LOCAL_DIR) && $(MAKE) uninstall
266
267 scst_local_clean:
268         cd $(SCST_LOCAL_DIR) && $(MAKE) clean
269
270 scst_local_extraclean:
271         cd $(SCST_LOCAL_DIR) && $(MAKE) extraclean
272
273 usr:
274         cd $(USR_DIR) && $(MAKE)
275
276 usr_install:
277         cd $(USR_DIR) && $(MAKE) install
278
279 usr_uninstall:
280         cd $(USR_DIR) && $(MAKE) uninstall
281
282 usr_clean: 
283         cd $(USR_DIR) && $(MAKE) clean
284
285 usr_extraclean:
286         cd $(USR_DIR) && $(MAKE) extraclean
287
288 debug2perf:
289         echo "Changing current debug state from full debug to full performance"
290         patch -p0 <scst-full_perf.patch
291         patch -p0 <usr-full_perf.patch
292         patch -p0 <qla2x00t-full_perf.patch
293         patch -p0 <iscsi-full_perf.patch
294         patch -p0 <qla_isp-release.patch
295
296 debug2release:
297         echo "Changing current debug state from full debug to release"
298         patch -p0 <scst-release.patch
299         patch -p0 <usr-release.patch
300         patch -p0 <qla2x00t-release.patch
301         patch -p0 <iscsi-release.patch
302         patch -p0 <qla_isp-release.patch
303
304 perf2debug:
305         echo "Changing current debug state from full performance to full debug"
306         patch -p0 -R <scst-full_perf.patch
307         patch -p0 -R <usr-full_perf.patch
308         patch -p0 -R <qla2x00t-full_perf.patch
309         patch -p0 -R <iscsi-full_perf.patch
310         patch -p0 -R <qla_isp-release.patch
311
312 release2debug:
313         echo "Changing current debug state from release to full debug"
314         patch -p0 -R <scst-release.patch
315         patch -p0 -R <usr-release.patch
316         patch -p0 -R <qla2x00t-release.patch
317         patch -p0 -R <iscsi-release.patch
318         patch -p0 -R <qla_isp-release.patch
319
320 .PHONY: all install uninstall clean extraclean help \
321         qla qla_install qla_uninstall qla_clean qla_extraclean \
322         qla_isp qla_isp_install qla_isp_uninstall qla_isp_clean qla_isp_extraclean \
323         lsi lsi_install lsi_uninstall lsi_clean lsi_extraclean \
324         iscsi iscsi_install iscsi_uninstall iscsi_clean iscsi_extraclean \
325         scst scst_install scst_uninstall scst_clean scst_extraclean \
326         scstadm scstadm_install scstadm_uninstall scstadm_clean scstadm_extraclean \
327         srpt srpt_install srpt_uninstall srpt_clean srpt_extraclean \
328         usr usr_install usr_uninstall usr_clean usr_extraclean \
329         scst_local scst_local_install scst_local_uninstall scst_local_clean scst_local_extraclean \
330         debug2perf, debug2release, perf2debug, release2debug