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