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