2cee7349667f9c3995234675f9aa789e0e971640
[mirror/scst/.git] / scst / src / dev_handlers / Makefile
1 #
2 #  SCSI target mid-level dev handler's makefile
3 #  
4 #  Copyright (C) 2004 - 2008 Vladislav Bolkhovitin <vst@vlnb.net>
5 #  Copyright (C) 2004 - 2005 Leonid Stoljar
6 #  Copyright (C) 2007 - 2008 CMS Distribution Limited
7 #  
8 #  This program is free software; you can redistribute it and/or
9 #  modify it under the terms of the GNU General Public License
10 #  as published by the Free Software Foundation, version 2
11 #  of the License.
12
13 #  This program is distributed in the hope that it will be useful,
14 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
15 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 #  GNU General Public License for more details.
17 #
18 #
19 # Main targets:
20 #    all (the default) : make all
21 #    clean             : clean files
22 #    extraclean        : clean + clean dependencies
23 #    install           : install 
24 #    uninstall         : uninstall 
25 #
26 # Notes :
27 #    - install and uninstall must be made as root
28 #
29
30 ifneq ($(KERNELRELEASE),)
31 SCST_INC_DIR := $(SUBDIRS)/../include
32
33 obj-m := scst_cdrom.o scst_changer.o scst_disk.o scst_modisk.o scst_tape.o \
34         scst_vdisk.o scst_raid.o scst_processor.o scst_user.o
35
36 obj-$(CONFIG_SCST_DISK)         += scst_disk.o
37 obj-$(CONFIG_SCST_TAPE)         += scst_tape.o
38 obj-$(CONFIG_SCST_CDROM)        += scst_cdrom.o
39 obj-$(CONFIG_SCST_MODISK)       += scst_modisk.o
40 obj-$(CONFIG_SCST_CHANGER)      += scst_changer.o
41 obj-$(CONFIG_SCST_RAID)         += scst_raid.o
42 obj-$(CONFIG_SCST_PROCESSOR)    += scst_processor.o
43 obj-$(CONFIG_SCST_VDISK)        += scst_vdisk.o
44 obj-$(CONFIG_SCST_USER)         += scst_user.o
45
46 else
47 ifeq ($(KDIR),)
48   KVER = $(shell uname -r)
49   KDIR := /lib/modules/$(KVER)/build
50 endif
51
52 all:
53         $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd)
54
55 install: all
56         $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd) \
57                 modules_install
58         -depmod -a $(KVER)
59
60 uninstall:
61         rm -f $(INSTALL_DIR)/scst_*.ko
62 endif
63
64 ifeq ($(KVER),)
65 INSTALL_DIR := /lib/modules/$(shell uname -r)/extra
66 else
67 INSTALL_DIR := /lib/modules/$(KVER)/extra
68 endif
69
70 EXTRA_CFLAGS += -I$(SUBDIRS) -I$(SCST_INC_DIR) -Wextra -Wno-unused-parameter
71
72 EXTRA_CFLAGS += -DCONFIG_SCST_EXTRACHECKS
73
74 #EXTRA_CFLAGS += -DCONFIG_SCST_TRACING
75 EXTRA_CFLAGS += -DCONFIG_SCST_DEBUG -g -W -Wno-unused-parameter
76
77 clean:
78         rm -f *.o *.ko .*.cmd *.mod.c .*.d .depend Modules.symvers \
79                 Module.symvers Module.markers modules.order
80         rm -rf .tmp_versions
81
82 extraclean: clean
83
84 .PHONY: all install uninstall clean extraclean