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