Modified patch from Bart Van Assche <bart.vanassche@gmail.com>
[mirror/scst/.git] / srpt / Makefile
1 #
2 # Makefile for the Linux kernel device drivers.
3 #
4 # Note! Dependencies are done automagically by 'make dep', which also
5 # removes any old dependencies. DON'T put your own dependencies here
6 # unless it's something special (not a .c file).
7 #
8 # Note 2! The CFLAGS definitions are now in the main makefile.
9
10 SCST_DIR := $(shell pwd)/../scst/src
11 SUBDIRS := $(shell pwd)
12
13 ifeq ($(KVER),)
14   ifeq ($(KDIR),)
15     KVER = $(shell uname -r)
16     KDIR ?= /lib/modules/$(KVER)/build
17   else
18     KVER = $$KERNELRELEASE
19   endif
20 else
21   KDIR ?= /lib/modules/$(KVER)/build
22 endif
23
24 all: Modules.symvers Module.symvers
25         $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd)/src modules
26
27 install: all src/ib_srpt.ko
28         @eval `sed -n 's/#define UTS_RELEASE /KERNELRELEASE=/p' $(KDIR)/include/linux/version.h $(KDIR)/include/linux/utsrelease.h 2>/dev/null`; \
29         install -vD -m 644 src/ib_srpt.ko \
30         $(DISTDIR)$(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra/ib_srpt.ko
31         -/sbin/depmod -aq $(KVER)
32
33 SCST_MOD_VERS := $(shell ls $(SCST_DIR)/Modules.symvers 2>/dev/null)
34 ifneq ($(SCST_MOD_VERS),)
35 Modules.symvers: $(SCST_DIR)/Modules.symvers
36         echo $(SCST_MOD_VERS)
37         cp $(SCST_DIR)/Modules.symvers src/
38 else
39 .PHONY: Modules.symvers
40 endif
41
42 # It's renamed in 2.6.18
43 SCST_MOD_VERS := $(shell ls $(SCST_DIR)/Module.symvers 2>/dev/null)
44 ifneq ($(SCST_MOD_VERS),)
45 Module.symvers: $(SCST_DIR)/Module.symvers
46         cp $(SCST_DIR)/Module.symvers src/
47 else
48 .PHONY: Module.symvers
49 endif
50
51 clean:
52         $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd)/src clean
53         rm -f src/Modules.symvers src/Module.symvers src/Module.markers \
54                 src/modules.order
55
56 extraclean: clean
57
58 .PHONY: all install clean extraclean