Initial commit
[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
25 all:
26         cd $(SCST_DIR) && $(MAKE) $@
27         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
28
29 install: 
30         cd $(SCST_DIR) && $(MAKE) $@
31         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
32
33 uninstall: 
34         cd $(SCST_DIR) && $(MAKE) $@
35         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
36
37 clean: 
38         cd $(SCST_DIR) && $(MAKE) $@
39         @if [ -d $(QLA_INI_DIR) ]; then cd $(QLA_INI_DIR) && $(MAKE) $@; fi
40         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
41
42 extraclean: 
43         cd $(SCST_DIR) && $(MAKE) $@
44         @if [ -d $(QLA_INI_DIR) ]; then cd $(QLA_INI_DIR) && $(MAKE) $@; fi
45         @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi
46
47 scst: 
48         cd $(SCST_DIR) && $(MAKE)
49
50 scst_install: 
51         cd $(SCST_DIR) && $(MAKE) install
52
53 scst_uninstall: 
54         cd $(SCST_DIR) && $(MAKE) uninstall
55
56 scst_clean: 
57         cd $(SCST_DIR) && $(MAKE) clean
58
59 scst_extraclean: 
60         cd $(SCST_DIR) && $(MAKE) extraclean
61
62 qla:
63         cd $(QLA_DIR) && $(MAKE)
64
65 qla_install:
66         cd $(QLA_DIR) && $(MAKE) install
67
68 qla_uninstall:
69         cd $(QLA_DIR) && $(MAKE) uninstall
70
71 qla_clean: 
72         cd $(QLA_INI_DIR) && $(MAKE) clean
73         cd $(QLA_DIR) && $(MAKE) clean
74
75 qla_extraclean:
76         cd $(QLA_INI_DIR)/.. && $(MAKE) extraclean
77         cd $(QLA_DIR) && $(MAKE) extraclean
78
79 help:
80         @echo "         all (the default) : make all"
81         @echo "         clean             : clean files"
82         @echo "         extraclean        : clean + clean dependencies"
83         @echo "         install           : install"
84         @echo "         uninstall         : uninstall"
85         @echo ""
86         @echo "         scst              : make scst only"
87         @echo "         scst_clean        : scst: clean "
88         @echo "         scst_extraclean   : scst: clean + clean dependencies"
89         @echo "         scst_install      : scst: install"
90         @echo "         scst_uninstall    : scst: uninstall"
91         @echo ""
92         @echo "         qla             : make new qla target using 2.6.x kernel qla2xxx"
93         @echo "         qla_clean       : 2.6 qla target: clean "
94         @echo "         qla_extraclean  : 2.6 qla target: clean + clean dependencies"
95         @echo "         qla_install     : 2.6 qla target: install"
96         @echo "         qla_uninstall   : 2.6 qla target: uninstall"
97         @echo " Notes :"
98         @echo "         - install and uninstall must be made as root"
99
100 .PHONY: all install uninstall clean extraclean help \
101         qla qla_install qla_uninstall qla_clean qla_extraclean \
102         scst scst_install scst_uninstall scst_clean scst_extraclean