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