LSI/MPT target driver added
[mirror/scst/.git] / mpt / Makefile
1 #  This program is free software; you can redistribute it and/or
2 #  modify it under the terms of the GNU General Public License
3 #  as published by the Free Software Foundation, version 2
4 #  of the License.
5
6 #  This program is distributed in the hope that it will be useful,
7 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
8 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 #  GNU General Public License for more details.
10 #
11 #
12 # Main targets:
13 #    all (the default) : make all
14 #    clean             : clean files
15 #    extraclean        : clean + clean dependencies
16 #    install           : install 
17 #    uninstall         : uninstall 
18 #
19 # Notes :
20 #    - install and uninstall must be made as root
21 #
22
23 #SCST_INC_DIR := /usr/local/include/scst
24 #SCST_DIR := $(SCST_INC_DIR)
25 SCST_INC_DIR := $(SUBDIRS)/../scst/include
26 SCST_DIR := $(shell pwd)/../scst/src
27
28 EXTRA_CFLAGS += -I$(SCST_INC_DIR)
29
30 EXTRA_CFLAGS += -DEXTRACHECKS 
31 #EXTRA_CFLAGS += -DTRACING
32 #EXTRA_CFLAGS += -DDEBUG
33 #EXTRA_CFLAGS += -DDEBUG_WORK_IN_THREAD
34
35 ifeq ($(KVER),)
36   ifeq ($(KDIR),)
37     KDIR := /lib/modules/$(shell uname -r)/build
38   endif
39 else
40   KDIR := /lib/modules/$(KVER)/build
41 endif
42
43 LSI_INC_DIR := $(KDIR)/drivers/message/fusion
44 EXTRA_CFLAGS += -I$(LSI_INC_DIR)
45
46 ifneq ($(KERNELRELEASE),)
47 obj-m := mpt_scst.o
48
49 else
50
51 all: Modules.symvers Module.symvers
52         $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd) BUILD_INI=m
53
54 tgt: Modules.symvers Module.symvers
55         $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd) BUILD_INI=n
56
57 install: all
58         $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd) BUILD_INI=m \
59                 modules_install
60         -depmod -a
61
62 SCST_MOD_VERS := $(shell ls $(SCST_DIR)/Modules.symvers 2>/dev/null)
63 ifneq ($(SCST_MOD_VERS),)
64 Modules.symvers: $(SCST_DIR)/Modules.symvers
65         cp $(SCST_DIR)/Modules.symvers .
66 else
67 .PHONY: Modules.symvers
68 endif
69
70 # It's renamed in 2.6.18
71 SCST_MOD_VERS := $(shell ls $(SCST_DIR)/Module.symvers 2>/dev/null)
72 ifneq ($(SCST_MOD_VERS),)
73 Module.symvers: $(SCST_DIR)/Module.symvers
74         cp $(SCST_DIR)/Module.symvers .
75 else
76 .PHONY: Module.symvers
77 endif
78
79 uninstall:
80         rm -f $(INSTALL_DIR)/mpt_scst.ko
81         -/sbin/depmod -a
82 endif
83
84 clean:
85         rm -f *.o *.ko .*.cmd *.mod.c .*.d .depend *~ Modules.symvers Module.symvers
86         rm -rf .tmp_versions
87
88 extraclean: clean
89
90 .PHONY: all tgt install uninstall clean extraclean