Files
scst/srpt/Makefile
Yan Burman b990f13496 Merged revisions 5564-5565,5580,5591,5599,5604,5623,5632-5638,5645-5646,5652-5653 via svnmerge from
svn+ssh://yanb123@svn.code.sf.net/p/scst/svn/branches/3.0.x

................
  r5564 | vlnb | 2014-06-04 06:10:31 +0300 (Wed, 04 Jun 2014) | 3 lines
  
  Initialize merging from the trunk
................
  r5565 | vlnb | 2014-06-04 06:12:05 +0300 (Wed, 04 Jun 2014) | 13 lines
  
  Merged revisions 5543,5545 via svnmerge from 
  svn+ssh://vlnb@svn.code.sf.net/p/scst/svn/trunk
  
  ........
    r5543 | bvassche | 2014-05-23 00:33:53 -0700 (Fri, 23 May 2014) | 1 line
    
    RHEL 7 build fixes
  ........
    r5545 | bvassche | 2014-05-23 01:36:36 -0700 (Fri, 23 May 2014) | 1 line
    
    scripts/rebuild-rhel-kernel-rpm: Add RHEL 7 RC support
  ........
................
  r5580 | bvassche | 2014-06-11 17:33:30 +0300 (Wed, 11 Jun 2014) | 1 line
  
  ib_srpt: Merge build and login fixes from trunk
................
  r5591 | vlnb | 2014-06-12 02:52:43 +0300 (Thu, 12 Jun 2014) | 14 lines
  
  Merged revisions 5584 via svnmerge from 
  svn+ssh://vlnb@svn.code.sf.net/p/scst/svn/trunk
  
  ........
    r5584 | vlnb | 2014-06-11 12:33:18 -0700 (Wed, 11 Jun 2014) | 8 lines
    
    scst: RHEL 5 build fix
    
    Avoid that building the scst kernel module fails on RHEL 5 due to
    a missing kvasprintf() implementation.
    
    Signed-off-by: Bart Van Assche <bvanassche@acm.org>
  ........
................
  r5599 | bvassche | 2014-06-13 09:59:13 +0300 (Fri, 13 Jun 2014) | 1 line
  
  ib_srpt: Merge from trunk
................
  r5604 | vlnb | 2014-06-14 03:31:55 +0300 (Sat, 14 Jun 2014) | 14 lines
  
  Merged revisions 5602 via svnmerge from 
  svn+ssh://vlnb@svn.code.sf.net/p/scst/svn/trunk
  
  ........
    r5602 | vlnb | 2014-06-13 16:57:26 -0700 (Fri, 13 Jun 2014) | 8 lines
    
    scst_pr_read_reservation(): Initialize returned buffer
    
    Avoid that this function returns an uninitialized buffer to the
    initiator if buffer_size < 8. Detected by Coverity.
    
    Signed-off-by: Bart Van Assche <bvanassche@acm.org>
  ........
................
  r5623 | vlnb | 2014-06-25 07:00:14 +0300 (Wed, 25 Jun 2014) | 9 lines
  
  Merged revisions 5610 via svnmerge from 
  svn+ssh://vlnb@svn.code.sf.net/p/scst/svn/trunk
  
  ........
    r5610 | vlnb | 2014-06-18 20:51:48 -0700 (Wed, 18 Jun 2014) | 3 lines
    
    Update for 3.15 kernels
  ........
................
  r5632 | bvassche | 2014-06-29 08:18:01 +0300 (Sun, 29 Jun 2014) | 1 line
  
  scst_vdisk: 32-bit build fix (merge r5629 from trunk)
................
  r5633 | bvassche | 2014-06-29 08:20:31 +0300 (Sun, 29 Jun 2014) | 1 line
  
  ib_srpt: Remove existing ib_srpt.ko kernel modules before installation (merge r5621, r5628 and r5630 from trunk)
................
  r5634 | bvassche | 2014-06-29 08:22:58 +0300 (Sun, 29 Jun 2014) | 1 line
  
  Skip "depmod" while building an RPM (merge r5612 from trunk)
................
  r5635 | bvassche | 2014-06-29 08:24:11 +0300 (Sun, 29 Jun 2014) | 1 line
  
  ib_srpt: Set SCSI residual fields in SRP_CMD reply (merge r5622 from trunk)
................
  r5636 | bvassche | 2014-06-29 08:25:55 +0300 (Sun, 29 Jun 2014) | 1 line
  
  nightly build: Add kernel 3.15 build infrastructure (merge r5611 from trunk)
................
  r5637 | bvassche | 2014-06-29 08:27:14 +0300 (Sun, 29 Jun 2014) | 1 line
  
  regression tests: Sort hash keys before comparing (merge r5582 from trunk)
................
  r5638 | bvassche | 2014-06-29 08:28:45 +0300 (Sun, 29 Jun 2014) | 1 line
  
  regression tests: Sync with a recent sysfs change (merge r5581 from trunk)
................
  r5645 | bvassche | 2014-06-29 09:00:05 +0300 (Sun, 29 Jun 2014) | 1 line
  
  nightly build, scripts: Merge from trunk (r5533:r5642)
................
  r5646 | bvassche | 2014-06-29 09:10:22 +0300 (Sun, 29 Jun 2014) | 2 lines
  
  scst: Switch from the cpu_*() to the cpumask_*() API (merge r5596 from trunk)
................
  r5652 | bvassche | 2014-06-30 13:23:11 +0300 (Mon, 30 Jun 2014) | 1 line
  
  nightly build: Merge r5642:r5651 from trunk
................
  r5653 | bvassche | 2014-06-30 13:25:24 +0300 (Mon, 30 Jun 2014) | 1 line
  
  scst: Build fixes for kernel versions <= 2.6.34 (merge r5647 and r5648 from trunk)
................


git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/3.0.x-iser@5665 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-07-07 10:28:33 +00:00

166 lines
6.6 KiB
Makefile

#
# Makefile for ib_srpt.ko.
#
ifndef PREFIX
PREFIX=/usr/local
endif
SCST_INC_DIR := $(shell if [ -e "$$PWD/../scst" ]; \
then echo "$$PWD/../scst/include"; \
else echo "$(DESTDIR)$(PREFIX)/include/scst"; fi)
SCST_SYMVERS_DIR := $(shell if [ -e $$PWD/../scst ]; then \
echo $$PWD/../scst/src; \
else echo $(DESTDIR)$(PREFIX)/include/scst; fi)
SUBDIRS := $(shell pwd)
ifeq ($(KVER),)
ifeq ($(KDIR),)
KVER := $(shell uname -r)
KDIR := /lib/modules/$(KVER)/build
else
ifeq ($(KERNELRELEASE),)
KVER := $(strip $(shell \
cat $(KDIR)/include/config/kernel.release 2>/dev/null || \
make -s -C $(KDIR) kernelversion))
else
KVER := $(KERNELRELEASE)
endif
endif
else
KDIR := /lib/modules/$(KVER)/build
endif
ifeq ($(INSTALL_MOD_PATH),)
export INSTALL_MOD_PATH := $(DESTDIR)
endif
INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra
# Set variable $(2) to value $(3) in file $(1).
set_var = $(shell { if [ -e "$(1)" ]; then grep -v '^$(2)=' "$(1)"; fi; echo "$(2)=$(3)"; } >/tmp/$(1)-$$$$.tmp && mv /tmp/$(1)-$$$$.tmp $(1))
SRC_FILES=$(wildcard */*.[ch])
# The file Modules.symvers has been renamed in the 2.6.18 kernel to
# Module.symvers. Find out which name to use by looking in $(KDIR).
MODULE_SYMVERS:=$(shell if [ -e $(KDIR)/Module.symvers ]; then \
echo Module.symvers; else echo Modules.symvers; fi)
# Name of the OFED kernel RPM.
OFED_KERNEL_IB_RPM:=$(shell for r in mlnx-ofa_kernel compat-rdma kernel-ib; do rpm -q $$r 2>/dev/null | grep -q "^$$r" && echo $$r && break; done)
# Name of the OFED kernel development RPM.
OFED_KERNEL_IB_DEVEL_RPM:=$(shell for r in mlnx-ofa_kernel-devel compat-rdma-devel kernel-ib-devel; do rpm -q $$r 2>/dev/null | grep -q "^$$r" && echo $$r && break; done)
OFED_FLAVOR=$(shell /usr/bin/ofed_info 2>/dev/null | head -n1 | sed -n 's/^MLNX_OFED.*/MOFED/p;s/^OFED-.*/OFED/p')
ifneq ($(OFED_KERNEL_IB_RPM),)
ifeq ($(OFED_KERNEL_IB_RPM),compat-rdma)
# OFED 3.x
OFED_KERNEL_DIR:=/usr/src/compat-rdma
OFED_CFLAGS:=-I$(OFED_KERNEL_DIR)/include
else
OFED_KERNEL_DIR:=/usr/src/ofa_kernel
ifeq ($(OFED_FLAVOR),MOFED)
# Mellanox OFED with or without kernel-ib RPM
OFED_CFLAGS:=-I$(OFED_KERNEL_DIR)/include
else
# OFED 1.5
include $(OFED_KERNEL_DIR)/config.mk
OFED_CFLAGS:=$(BACKPORT_INCLUDES) -I$(OFED_KERNEL_DIR)/include
endif
endif
# Any OFED version
OFED_MODULE_SYMVERS:=$(OFED_KERNEL_DIR)/Module.symvers
endif
HAVE_KCFLAGS = $(shell $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd)/conftest/kcflags KCFLAGS=-DKCFLAGS_MACRO=1 >/dev/null 2>&1 && echo true || echo false)
HAVE_PRE_CFLAGS = $(shell $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd)/conftest/pre_cflags PRE_CFLAGS=-DPRE_CFLAGS_MACRO=1 >/dev/null 2>&1 && echo true || echo false)
AUTOCONF_FLAGS = $(shell $(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd)/conftest/gid_change PRE_CFLAGS="$(OFED_CFLAGS)" >/dev/null 2>&1 && echo -DHAVE_IB_EVENT_GID_CHANGE)
all: src/$(MODULE_SYMVERS)
$(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd)/src \
PRE_CFLAGS="$(OFED_CFLAGS) $(AUTOCONF_FLAGS)" \
KCFLAGS="$(AUTOCONF_FLAGS)" SCST_INC_DIR=$(SCST_INC_DIR) modules
install: all src/ib_srpt.ko
@[ -z "$(DESTDIR)$(INSTALL_MOD_PATH)" ] && \
find /lib/modules/$(KVER) -name ib_srpt.ko -exec rm {} \; ; \
true
$(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd)/src \
PRE_CFLAGS="$(OFED_CFLAGS)" SCST_INC_DIR=$(SCST_INC_DIR) \
$$([ -n "$(DESTDIR)$(INSTALL_MOD_PATH)" ] && echo DEPMOD=true) \
modules_install
uninstall:
rm -f $(INSTALL_DIR)/ib_srpt.ko
-/sbin/depmod -b $(INSTALL_MOD_PATH)/ -a $(KVER)
src/Module.symvers src/Modules.symvers: $(SCST_SYMVERS_DIR)/$(MODULE_SYMVERS)
@if [ "$(HAVE_KCFLAGS)" = false -a "$(HAVE_PRE_CFLAGS)" = false -a \
-n "$(AUTOCONF_FLAGS)" ]; then \
echo "Error: the kernel build system has not yet been patched.";\
false; \
fi
@if [ -n "$(OFED_KERNEL_IB_RPM)" ]; then \
if [ -z "$(OFED_KERNEL_IB_DEVEL_RPM)" ]; then \
echo "Error: the OFED package $(OFED_KERNEL_IB_RPM)-devel has" \
"not yet been installed."; \
false; \
elif [ -e /lib/modules/$(KVER)/kernel/drivers/infiniband ]; then \
echo "Error: the distro-provided InfiniBand kernel drivers" \
"must be removed first" \
" (/lib/modules/$(KVER)/kernel/drivers/infiniband)."; \
false; \
elif [ "$(HAVE_PRE_CFLAGS)" = false ]; then \
echo "Error: the kernel build system has not yet been patched.";\
false; \
else \
echo " Building against $(OFED_FLAVOR) $(OFED_KERNEL_IB_RPM)" \
"InfiniBand kernel headers."; \
( \
grep -v drivers/infiniband/ $<; \
cat $(OFED_MODULE_SYMVERS) \
) >$@; \
fi \
else \
if [ -n "$(OFED_KERNEL_IB_DEVEL_RPM)" ]; then \
echo "Error: the OFED kernel package has not yet been" \
"installed."; \
false; \
else \
echo " Building against in-tree InfiniBand kernel headers."; \
cp $< $@; \
fi; \
fi
clean:
$(MAKE) -C $(KDIR) SUBDIRS=$(shell pwd)/src clean
rm -f src/Modules.symvers src/Module.symvers src/Module.markers \
src/modules.order
extraclean: clean
rm -f *.orig *.rej
2debug:
-$(MAKE) clean
$(call set_var,build_mode,BUILDMODE,)
2release:
-$(MAKE) clean
$(call set_var,build_mode,BUILDMODE,RELEASE)
2perf:
-$(MAKE) clean
$(call set_var,build_mode,BUILDMODE,PERF)
release-archive:
../scripts/generate-release-archive srpt "$$(sed -n 's/^#define[[:blank:]]DRV_VERSION[[:blank:]]*\"\([^\"]*\)\".*/\1/p' src/ib_srpt.c)"
kerneldoc.html: $(SRC_FILES)
$(KDIR)/scripts/kernel-doc -html $(SRC_FILES) >$@
.PHONY: all install clean extraclean 2debug 2release 2perf