The initial commit of iSCSI-SCST
[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 all:
31         cd $(SCST_DIR) && $(MAKE) $@
32         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
33 #       @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
34         @if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
35         @if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
36
37 install: 
38         cd $(SCST_DIR) && $(MAKE) $@
39         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
40 #       @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
41         @if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) DISTDIR=$(ISCSI_DISTDIR) $@; fi
42         @if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
43
44 uninstall: 
45         cd $(SCST_DIR) && $(MAKE) $@
46         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
47         @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
48         @if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
49         @if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
50
51 clean: 
52         cd $(SCST_DIR) && $(MAKE) $@
53         @if [ -d $(QLA_INI_DIR) ]; then cd $(QLA_INI_DIR) && $(MAKE) $@; fi
54         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
55         @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
56         @if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
57         @if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
58
59 extraclean: 
60         cd $(SCST_DIR) && $(MAKE) $@
61         @if [ -d $(QLA_INI_DIR) ]; then cd $(QLA_INI_DIR) && $(MAKE) $@; fi
62         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
63         @if [ -d $(LSI_DIR) ]; then cd $(LSI_DIR) && $(MAKE) $@; fi
64         @if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi
65         @if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi
66
67 scst: 
68         cd $(SCST_DIR) && $(MAKE)
69
70 scst_install: 
71         cd $(SCST_DIR) && $(MAKE) install
72
73 scst_uninstall: 
74         cd $(SCST_DIR) && $(MAKE) uninstall
75
76 scst_clean: 
77         cd $(SCST_DIR) && $(MAKE) clean
78
79 scst_extraclean: 
80         cd $(SCST_DIR) && $(MAKE) extraclean
81
82 qla:
83         cd $(QLA_DIR) && $(MAKE)
84
85 qla_install:
86         cd $(QLA_DIR) && $(MAKE) install
87
88 qla_uninstall:
89         cd $(QLA_DIR) && $(MAKE) uninstall
90
91 qla_clean: 
92         cd $(QLA_INI_DIR) && $(MAKE) clean
93         cd $(QLA_DIR) && $(MAKE) clean
94
95 qla_extraclean:
96         cd $(QLA_INI_DIR)/.. && $(MAKE) extraclean
97         cd $(QLA_DIR) && $(MAKE) extraclean
98
99 iscsi:
100         cd $(ISCSI_DIR) && $(MAKE)
101
102 iscsi_install:
103         cd $(ISCSI_DIR) && $(MAKE) install
104
105 iscsi_uninstall:
106         cd $(ISCSI_DIR) && $(MAKE) uninstall
107
108 iscsi_clean: 
109         cd $(ISCSI_DIR) && $(MAKE) clean
110
111 iscsi_extraclean:
112         cd $(ISCSI_DIR) && $(MAKE) extraclean
113
114 lsi:
115         cd $(LSI_DIR) && $(MAKE)
116
117 lsi_install:
118         cd $(LSI_DIR) && $(MAKE) install
119
120 lsi_uninstall:
121         cd $(LSI_DIR) && $(MAKE) uninstall
122
123 lsi_clean: 
124         cd $(LSI_DIR) && $(MAKE) clean
125
126 lsi_extraclean:
127         cd $(LSI_DIR) && $(MAKE) extraclean
128
129 usr:
130         cd $(USR_DIR) && $(MAKE)
131
132 usr_install:
133         cd $(USR_DIR) && $(MAKE) install
134
135 usr_uninstall:
136         cd $(USR_DIR) && $(MAKE) uninstall
137
138 usr_clean: 
139         cd $(USR_DIR) && $(MAKE) clean
140
141 usr_extraclean:
142         cd $(USR_DIR) && $(MAKE) extraclean
143
144 help:
145         @echo "         all (the default) : make all"
146         @echo "         clean             : clean files"
147         @echo "         extraclean        : clean + clean dependencies"
148         @echo "         install           : install"
149         @echo "         uninstall         : uninstall"
150         @echo ""
151         @echo "         scst              : make scst only"
152         @echo "         scst_clean        : scst: clean "
153         @echo "         scst_extraclean   : scst: clean + clean dependencies"
154         @echo "         scst_install      : scst: install"
155         @echo "         scst_uninstall    : scst: uninstall"
156         @echo ""
157         @echo "         qla             : make new qla target using 2.6.x kernel qla2xxx"
158         @echo "         qla_clean       : 2.6 qla target: clean "
159         @echo "         qla_extraclean  : 2.6 qla target: clean + clean dependencies"
160         @echo "         qla_install     : 2.6 qla target: install"
161         @echo "         qla_uninstall   : 2.6 qla target: uninstall"
162         @echo ""
163         @echo "         iscsi             : make new ISCSI target"
164         @echo "         iscsi_clean       : ISCSI target: clean "
165         @echo "         iscsi_extraclean  : ISCSI target: clean + clean dependencies"
166         @echo "         iscsi_install     : ISCSI target: install"
167         @echo "         iscsi_uninstall   : ISCSI target: uninstall"
168         @echo ""
169         @echo "         lsi             : make lsi target"
170         @echo "         lsi_clean       : lsi target: clean "
171         @echo "         lsi_extraclean  : lsi target: clean + clean dependencies"
172         @echo "         lsi_install     : lsi target: install"
173         @echo "         lsi_uninstall   : lsi target: uninstall"
174         @echo ""
175         @echo "         usr             : make usr target"
176         @echo "         usr_clean       : usr target: clean "
177         @echo "         usr_extraclean  : usr target: clean + clean dependencies"
178         @echo "         usr_install     : usr target: install"
179         @echo "         usr_uninstall   : usr target: uninstall"
180         @echo " Notes :"
181         @echo "         - install and uninstall must be made as root"
182
183 .PHONY: all install uninstall clean extraclean help \
184         qla qla_install qla_uninstall qla_clean qla_extraclean \
185         lsi lsi_install lsi_uninstall lsi_clean lsi_extraclean \
186         iscsi iscsi_install iscsi_uninstall iscsi_clean iscsi_extraclean \
187         scst scst_install scst_uninstall scst_clean scst_extraclean \
188         usr usr_install usr_uninstall usr_clean usr_extraclean