- Fixes build problem in perf mode
[mirror/scst/.git] / Makefile
1 #
2 #  Common makefile for SCSI target mid-level and its drivers
3 #  
4 #  Copyright (C) 2006 Vladislav Bolkhovitin <vst@vlnb.net>
5 #  
6 #  This program is free software; you can redistribute it and/or
7 #  modify it under the terms of the GNU General Public License
8 #  as published by the Free Software Foundation, version 2
9 #  of the License.
10
11 #  This program is distributed in the hope that it will be useful,
12 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 #  GNU General Public License for more details.
15 #
16 #
17
18 # Decide to use which kernel src. If not specified, is current running kernel.
19 #export KDIR=/usr/src/linux-2.6
20
21 SCST_DIR=scst
22 QLA_INI_DIR=qla2x00t
23 QLA_DIR=qla2x00t/qla2x00-target
24 LSI_DIR=mpt
25 USR_DIR=usr/fileio
26
27 ISCSI_DIR=iscsi-scst
28 #ISCSI_DISTDIR=../../../iscsi_scst_inst
29
30 help:
31         @echo "         all               : make all"
32         @echo "         clean             : clean files"
33         @echo "         extraclean        : clean + clean dependencies"
34         @echo "         install           : install"
35         @echo "         uninstall         : uninstall"
36         @echo ""
37         @echo "         scst              : make scst only"
38         @echo "         scst_clean        : scst: clean "
39         @echo "         scst_extraclean   : scst: clean + clean dependencies"
40         @echo "         scst_install      : scst: install"
41         @echo "         scst_uninstall    : scst: uninstall"
42         @echo ""
43         @echo "         qla               : make QLA target driver"
44         @echo "         qla_clean         : 2.6 qla target: clean "
45         @echo "         qla_extraclean    : 2.6 qla target: clean + clean dependencies"
46         @echo "         qla_install       : 2.6 qla target: install"
47         @echo "         qla_uninstall     : 2.6 qla target: uninstall"
48         @echo ""
49         @echo "         iscsi             : make iSCSI target"
50         @echo "         iscsi_clean       : ISCSI target: clean "
51         @echo "         iscsi_extraclean  : ISCSI target: clean + clean dependencies"
52         @echo "         iscsi_install     : ISCSI target: install"
53         @echo "         iscsi_uninstall   : ISCSI target: uninstall"
54         @echo ""
55         @echo "         lsi               : make LSI MPT target"
56         @echo "         lsi_clean         : lsi target: clean "
57         @echo "         lsi_extraclean    : lsi target: clean + clean dependencies"
58         @echo "         lsi_install       : lsi target: install"
59         @echo "         lsi_uninstall     : lsi target: uninstall"
60         @echo ""
61         @echo "         usr               : make user space fileio_tgt target"
62         @echo "         usr_clean         : usr target: clean "
63         @echo "         usr_extraclean    : usr target: clean + clean dependencies"
64         @echo "         usr_install       : usr target: install"
65         @echo "         usr_uninstall     : usr target: uninstall"
66         @echo ""
67         @echo "         debug2perf        : changes debug state from full debug to full performance"
68         @echo "         debug2release     : changes debug state from full debug to release"
69         @echo "         perf2debug        : changes debug state from full performance to full debug"
70         @echo "         release2debug     : changes debug state from release to full debug"
71         @echo ""
72         @echo " Note:"
73         @echo "         - install and uninstall may need root privileges"
74
75 all:
76         cd $(SCST_DIR) && $(MAKE) $@
77         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
78 #       @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
79         @if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
80         @if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
81
82 install: 
83         cd $(SCST_DIR) && $(MAKE) $@
84         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
85 #       @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
86         @if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) DISTDIR=$(ISCSI_DISTDIR) $@; fi
87         @if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
88
89 uninstall: 
90         cd $(SCST_DIR) && $(MAKE) $@
91         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
92         @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
93         @if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
94         @if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
95
96 clean: 
97         cd $(SCST_DIR) && $(MAKE) $@
98         @if [ -d $(QLA_INI_DIR) ]; then cd $(QLA_INI_DIR) && $(MAKE) $@; fi
99         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
100         @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
101         @if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
102         @if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
103
104 extraclean: 
105         cd $(SCST_DIR) && $(MAKE) $@
106         @if [ -d $(QLA_INI_DIR) ]; then cd $(QLA_INI_DIR) && $(MAKE) $@; fi
107         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
108         @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
109         @if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
110         @if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
111
112 scst: 
113         cd $(SCST_DIR) && $(MAKE)
114
115 scst_install: 
116         cd $(SCST_DIR) && $(MAKE) install
117
118 scst_uninstall: 
119         cd $(SCST_DIR) && $(MAKE) uninstall
120
121 scst_clean: 
122         cd $(SCST_DIR) && $(MAKE) clean
123
124 scst_extraclean: 
125         cd $(SCST_DIR) && $(MAKE) extraclean
126
127 qla:
128         cd $(QLA_DIR) && $(MAKE)
129
130 qla_install:
131         cd $(QLA_DIR) && $(MAKE) install
132
133 qla_uninstall:
134         cd $(QLA_DIR) && $(MAKE) uninstall
135
136 qla_clean: 
137         cd $(QLA_INI_DIR) && $(MAKE) clean
138         cd $(QLA_DIR) && $(MAKE) clean
139
140 qla_extraclean:
141         cd $(QLA_INI_DIR)/.. && $(MAKE) extraclean
142         cd $(QLA_DIR) && $(MAKE) extraclean
143
144 iscsi:
145         cd $(ISCSI_DIR) && $(MAKE)
146
147 iscsi_install:
148         cd $(ISCSI_DIR) && $(MAKE) DISTDIR=$(ISCSI_DISTDIR) install
149
150 iscsi_uninstall:
151         cd $(ISCSI_DIR) && $(MAKE) uninstall
152
153 iscsi_clean: 
154         cd $(ISCSI_DIR) && $(MAKE) clean
155
156 iscsi_extraclean:
157         cd $(ISCSI_DIR) && $(MAKE) extraclean
158
159 lsi:
160         cd $(LSI_DIR) && $(MAKE)
161
162 lsi_install:
163         cd $(LSI_DIR) && $(MAKE) install
164
165 lsi_uninstall:
166         cd $(LSI_DIR) && $(MAKE) uninstall
167
168 lsi_clean: 
169         cd $(LSI_DIR) && $(MAKE) clean
170
171 lsi_extraclean:
172         cd $(LSI_DIR) && $(MAKE) extraclean
173
174 usr:
175         cd $(USR_DIR) && $(MAKE)
176
177 usr_install:
178         cd $(USR_DIR) && $(MAKE) install
179
180 usr_uninstall:
181         cd $(USR_DIR) && $(MAKE) uninstall
182
183 usr_clean: 
184         cd $(USR_DIR) && $(MAKE) clean
185
186 usr_extraclean:
187         cd $(USR_DIR) && $(MAKE) extraclean
188
189 debug2perf:
190         echo "Changing current debug state from full debug to full performance"
191         patch -p0 <scst-full_perf.patch
192         patch -p0 <usr-full_perf.patch
193         patch -p0 <qla2x00t-full_perf.patch
194         patch -p0 <iscsi-full_perf.patch
195
196 debug2release:
197         echo "Changing current debug state from full debug to release"
198         patch -p0 <scst-release.patch
199         patch -p0 <usr-release.patch
200         patch -p0 <qla2x00t-release.patch
201         patch -p0 <iscsi-release.patch
202
203 perf2debug:
204         echo "Changing current debug state from full performance to full debug"
205         patch -p0 -R <scst-full_perf.patch
206         patch -p0 -R <usr-full_perf.patch
207         patch -p0 -R <qla2x00t-full_perf.patch
208         patch -p0 -R <iscsi-full_perf.patch
209
210 release2debug:
211         echo "Changing current debug state from release to full debug"
212         patch -p0 -R <scst-release.patch
213         patch -p0 -R <usr-release.patch
214         patch -p0 -R <qla2x00t-release.patch
215         patch -p0 -R <iscsi-release.patch
216
217 .PHONY: all install uninstall clean extraclean help \
218         qla qla_install qla_uninstall qla_clean qla_extraclean \
219         lsi lsi_install lsi_uninstall lsi_clean lsi_extraclean \
220         iscsi iscsi_install iscsi_uninstall iscsi_clean iscsi_extraclean \
221         scst scst_install scst_uninstall scst_clean scst_extraclean \
222         usr usr_install usr_uninstall usr_clean usr_extraclean \
223         debug2perf, debug2release, perf2debug, release2debug