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