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