Make it possible to build SCST with clang

git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@9089 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Bart Van Assche
2020-08-02 21:19:24 +00:00
parent 454c3fb81f
commit ecea60a694
11 changed files with 72 additions and 29 deletions

View File

@@ -60,11 +60,13 @@ INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra
SCST_DIR := $(shell echo "$$PWD")/../scst/src SCST_DIR := $(shell echo "$$PWD")/../scst/src
all: all:
$(MAKE) -C $(KDIR) M=$(shell pwd) $(MAKE) -C $(KDIR) M=$(shell pwd) \
$(shell [ -n "$(CC)" ] && echo CC="$(CC)")
install: all install: all
KDIR=$(KDIR) ../scripts/sign-modules KDIR=$(KDIR) ../scripts/sign-modules
$(MAKE) -C $(KDIR) M=$(shell pwd) \ $(MAKE) -C $(KDIR) M=$(shell pwd) \
$(shell [ -n "$(CC)" ] && echo CC="$(CC)") \
$$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \ $$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \
CONFIG_MODULE_SIG_ALL= modules_install CONFIG_MODULE_SIG_ALL= modules_install

View File

@@ -110,7 +110,12 @@ run_conftest = $(shell \
else \ else \
output=conftest/$1/build-output-$(KVER).txt; \ output=conftest/$1/build-output-$(KVER).txt; \
fi; \ fi; \
if MAKEFLAGS= make -C $(KDIR) V=$(V) M="$(shell pwd)/conftest/$1" CONFTEST_CFLAGS="-Werror $(OFED_CFLAGS)" $(OFED_CONFIG) KBUILD_EXTRA_SYMBOLS="$(OFED_MODULE_SYMVERS)" 1>&2 2>$${output}; then \ if MAKEFLAGS= make -C $(KDIR) V=$(V) \
$(shell [ -n "$(CC)" ] && echo CC="$(CC)") \
M="$(shell pwd)/conftest/$1" \
CONFTEST_CFLAGS="-Werror $(OFED_CFLAGS)" $(OFED_CONFIG) \
KBUILD_EXTRA_SYMBOLS="$(OFED_MODULE_SYMVERS)" \
1>&2 2>$${output}; then \
echo "$(strip $2)"; \ echo "$(strip $2)"; \
else \ else \
echo "$(strip $3)"; \ echo "$(strip $3)"; \
@@ -132,11 +137,13 @@ ISER_CFLAGS = $(OFED_CFLAGS) -DOFED_FLAVOR=$(OFED_FLAVOR) $(CONFTEST_CFLAGS)
mods: include/iscsi_scst_itf_ver.h $(CONFTEST_OUTPUTS) mods: include/iscsi_scst_itf_ver.h $(CONFTEST_OUTPUTS)
$(MAKE) -C $(KDIR) M=$(KMOD) CONFTEST_CFLAGS="$(CONFTEST_CFLAGS)"\ $(MAKE) -C $(KDIR) M=$(KMOD) CONFTEST_CFLAGS="$(CONFTEST_CFLAGS)"\
$(shell [ -n "$(CC)" ] && echo CC="$(CC)") \
modules modules
echo "$@: INFINIBAND_ENABLED = $(INFINIBAND_ENABLED)" echo "$@: INFINIBAND_ENABLED = $(INFINIBAND_ENABLED)"
if $(INFINIBAND_ENABLED); then \ if $(INFINIBAND_ENABLED); then \
echo " Building against $(OFED_FLAVOR) RDMA kernel headers.";\ echo " Building against $(OFED_FLAVOR) RDMA kernel headers.";\
$(MAKE) -C $(KDIR) M=$(ISERTMOD) ISER_CFLAGS="$(ISER_CFLAGS)" \ $(MAKE) -C $(KDIR) M=$(ISERTMOD) ISER_CFLAGS="$(ISER_CFLAGS)" \
$(shell [ -n "$(CC)" ] && echo CC="$(CC)") \
$(OFED_CONFIG) modules; \ $(OFED_CONFIG) modules; \
fi fi
@@ -158,12 +165,14 @@ install: all
@install -vD -m 644 doc/manpages/iscsi-scst-adm.8 $(DESTDIR)$(MANDIR)/man8/iscsi-scst-adm.8 @install -vD -m 644 doc/manpages/iscsi-scst-adm.8 $(DESTDIR)$(MANDIR)/man8/iscsi-scst-adm.8
(cd $(KMOD) && KDIR=$(KDIR) ../../scripts/sign-modules) (cd $(KMOD) && KDIR=$(KDIR) ../../scripts/sign-modules)
$(MAKE) -C $(KDIR) M=$(KMOD) \ $(MAKE) -C $(KDIR) M=$(KMOD) \
$(shell [ -n "$(CC)" ] && echo CC="$(CC)") \
$$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \ $$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \
CONFIG_MODULE_SIG_ALL= modules_install CONFIG_MODULE_SIG_ALL= modules_install
echo "$@: INFINIBAND_ENABLED = $(INFINIBAND_ENABLED)" echo "$@: INFINIBAND_ENABLED = $(INFINIBAND_ENABLED)"
if $(INFINIBAND_ENABLED); then \ if $(INFINIBAND_ENABLED); then \
(cd $(ISERTMOD) && KDIR=$(KDIR) ../../../scripts/sign-modules);\ (cd $(ISERTMOD) && KDIR=$(KDIR) ../../../scripts/sign-modules);\
$(MAKE) -C $(KDIR) M=$(ISERTMOD) \ $(MAKE) -C $(KDIR) M=$(ISERTMOD) \
$(shell [ -n "$(CC)" ] && echo CC="$(CC)") \
$$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \ $$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \
CONFIG_MODULE_SIG_ALL= modules_install; \ CONFIG_MODULE_SIG_ALL= modules_install; \
fi fi

View File

@@ -15,9 +15,13 @@
# GNU General Public License for more details. # GNU General Public License for more details.
LINUXINCLUDE := $(ISER_CFLAGS) $(LINUXINCLUDE) LINUXINCLUDE := $(ISER_CFLAGS) $(LINUXINCLUDE)
KBUILD_EXTRA_SYMBOLS=$(src)/../../kernel/Module.symvers \ ifdef CONFIG_CC_IS_CLANG
$(shell for d in /usr/src/ofa_kernel/default/Module.symvers; do\ KBUILD_EXTRA_SYMBOLS+=$(src)/../../../scst/src/Module.symvers
[ -e $$d ] || continue; echo $$d; break; done) endif
KBUILD_EXTRA_SYMBOLS+= \
$(src)/../../kernel/Module.symvers \
$(shell for d in /usr/src/ofa_kernel/default/Module.symvers; do \
[ -e $$d ] || continue; echo $$d; break; done)
ccflags-y += -I$(src)/../../../scst/include ccflags-y += -I$(src)/../../../scst/include
ccflags-y += -I$(src)/../../include ccflags-y += -I$(src)/../../include

View File

@@ -48,13 +48,15 @@ INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra
all: all:
$(MAKE) -C $(KDIR) M=$(shell pwd) \ $(MAKE) -C $(KDIR) M=$(shell pwd) \
$(CONFIG_SCSI_QLA2XXX_TARGET)=CONFIG_SCSI_QLA2XXX_TARGET $(shell [ -n "$(CC)" ] && echo CC="$(CC)") \
$(CONFIG_SCSI_QLA2XXX_TARGET)=CONFIG_SCSI_QLA2XXX_TARGET
install: all install: all
KDIR=$(KDIR) ../scripts/sign-modules KDIR=$(KDIR) ../scripts/sign-modules
$(MAKE) -C $(KDIR) M=$(shell pwd) \ $(MAKE) -C $(KDIR) M=$(shell pwd) \
$$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \ $(shell [ -n "$(CC)" ] && echo CC="$(CC)") \
CONFIG_MODULE_SIG_ALL= modules_install $$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \
CONFIG_MODULE_SIG_ALL= modules_install
uninstall: uninstall:
rm -f $(INSTALL_DIR)/qla2xxx_scst.ko rm -f $(INSTALL_DIR)/qla2xxx_scst.ko

View File

@@ -67,7 +67,8 @@ INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra
SCST_DIR := $(shell echo "$$PWD/../../scst/src") SCST_DIR := $(shell echo "$$PWD/../../scst/src")
all: $(QLA2XXX_SCST) all: $(QLA2XXX_SCST)
$(MAKE) -C $(KDIR) M=$(shell pwd) $(MAKE) -C $(KDIR) M=$(shell pwd) \
$(shell [ -n "$(CC)" ] && echo CC="$(CC)")
install: all install: all
ifneq ($(BUILD_2X_MODULE),) ifneq ($(BUILD_2X_MODULE),)
@@ -75,6 +76,7 @@ ifneq ($(BUILD_2X_MODULE),)
endif endif
KDIR=$(KDIR) ../../scripts/sign-modules KDIR=$(KDIR) ../../scripts/sign-modules
$(MAKE) -C $(KDIR) M=$(shell pwd) \ $(MAKE) -C $(KDIR) M=$(shell pwd) \
$(shell [ -n "$(CC)" ] && echo CC="$(CC)") \
$$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \ $$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \
CONFIG_MODULE_SIG_ALL= modules_install CONFIG_MODULE_SIG_ALL= modules_install

View File

@@ -47,13 +47,15 @@ INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra
all: all:
$(MAKE) -C $(KDIR) M=$(shell pwd) \ $(MAKE) -C $(KDIR) M=$(shell pwd) \
$(CONFIG_SCSI_QLA2XXX_TARGET)=CONFIG_SCSI_QLA2XXX_TARGET $(shell [ -n "$(CC)" ] && echo CC="$(CC)") \
$(CONFIG_SCSI_QLA2XXX_TARGET)=CONFIG_SCSI_QLA2XXX_TARGET
install: all install: all
KDIR=$(KDIR) ../scripts/sign-modules KDIR=$(KDIR) ../scripts/sign-modules
$(MAKE) -C $(KDIR) M=$(shell pwd) BUILD_INI=m \ $(MAKE) -C $(KDIR) M=$(shell pwd) BUILD_INI=m \
$$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \ $(shell [ -n "$(CC)" ] && echo CC="$(CC)") \
CONFIG_MODULE_SIG_ALL= modules_install $$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \
CONFIG_MODULE_SIG_ALL= modules_install
uninstall: uninstall:
rm -f $(INSTALL_DIR)/qla2xxx_scst.ko rm -f $(INSTALL_DIR)/qla2xxx_scst.ko

View File

@@ -66,7 +66,8 @@ INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra
SCST_DIR := $(shell echo "$$PWD/../../scst/src") SCST_DIR := $(shell echo "$$PWD/../../scst/src")
all: $(QLA2XXX_SCST) all: $(QLA2XXX_SCST)
$(MAKE) -C $(KDIR) M=$(shell pwd) $(MAKE) -C $(KDIR) M=$(shell pwd) \
$(shell [ -n "$(CC)" ] && echo CC="$(CC)")
install: all install: all
ifneq ($(BUILD_2X_MODULE),) ifneq ($(BUILD_2X_MODULE),)
@@ -74,6 +75,7 @@ ifneq ($(BUILD_2X_MODULE),)
endif endif
KDIR=$(KDIR) ../../scripts/sign-modules KDIR=$(KDIR) ../../scripts/sign-modules
$(MAKE) -C $(KDIR) M=$(shell pwd) \ $(MAKE) -C $(KDIR) M=$(shell pwd) \
$(shell [ -n "$(CC)" ] && echo CC="$(CC)") \
$$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \ $$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \
CONFIG_MODULE_SIG_ALL= modules_install CONFIG_MODULE_SIG_ALL= modules_install

View File

@@ -71,12 +71,16 @@ $(SCST_INTF_VER_FILE): $(SCST_INC_DIR)/scst.h $(SCST_INC_DIR)/scst_const.h $(SCS
echo "\"`sha1sum $(SCST_INC_DIR)/scst_user.h|awk '{printf $$1}'`\"" >>$(SCST_INTF_VER_FILE) echo "\"`sha1sum $(SCST_INC_DIR)/scst_user.h|awk '{printf $$1}'`\"" >>$(SCST_INTF_VER_FILE)
all: $(SCST_INTF_VER_FILE) all: $(SCST_INTF_VER_FILE)
$(MAKE) -C certs KDIR=$(KDIR) $(MAKE) -C certs KDIR=$(KDIR) \
$(MAKE) -C $(KDIR) M=$(shell pwd) $(shell [ -n "$(CC)" ] && echo CC="$(CC)")
$(MAKE) -C $(KDIR) M=$(shell pwd)/dev_handlers $(MAKE) -C $(KDIR) M=$(shell pwd) \
$(shell [ -n "$(CC)" ] && echo CC="$(CC)")
$(MAKE) -C $(KDIR) M=$(shell pwd)/dev_handlers \
$(shell [ -n "$(CC)" ] && echo CC="$(CC)")
scst: scst:
$(MAKE) -C $(KDIR) M=$(shell pwd) $(MAKE) -C $(KDIR) M=$(shell pwd) \
$(shell [ -n "$(CC)" ] && echo CC="$(CC)")
install: all install: all
@if [ -z "$(DESTDIR)" ] && \ @if [ -z "$(DESTDIR)" ] && \
@@ -93,10 +97,12 @@ install: all
/usr/sbin/weak-modules --remove-kernel; \ /usr/sbin/weak-modules --remove-kernel; \
fi fi
$(MAKE) -C $(KDIR) M=$(shell pwd)/dev_handlers \ $(MAKE) -C $(KDIR) M=$(shell pwd)/dev_handlers \
$(shell [ -n "$(CC)" ] && echo CC="$(CC)") \
INSTALL_MOD_DIR=extra/dev_handlers \ INSTALL_MOD_DIR=extra/dev_handlers \
$$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \ $$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \
CONFIG_MODULE_SIG_ALL= modules_install CONFIG_MODULE_SIG_ALL= modules_install
$(MAKE) -C $(KDIR) M=$(shell pwd) \ $(MAKE) -C $(KDIR) M=$(shell pwd) \
$(shell [ -n "$(CC)" ] && echo CC="$(CC)") \
$$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \ $$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \
CONFIG_MODULE_SIG_ALL= modules_install CONFIG_MODULE_SIG_ALL= modules_install
install -d $(INSTALL_DIR_H) install -d $(INSTALL_DIR_H)

View File

@@ -51,17 +51,20 @@ endif
INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra
all: all:
$(MAKE) -C $(KDIR) M=$(shell pwd) $(MAKE) -C $(KDIR) M=$(shell pwd) \
$(shell [ -n "$(CC)" ] && echo CC="$(CC)")
%.lst: %.c %.lst: %.c
$(MAKE) -C $(KDIR) M=$(shell pwd) $@ $(MAKE) -C $(KDIR) M=$(shell pwd) $@ \
$(shell [ -n "$(CC)" ] && echo CC="$(CC)")
install: all install: all
mkdir -p $(DESTDIR)/var/lib/scst/vdev_mode_pages mkdir -p $(DESTDIR)/var/lib/scst/vdev_mode_pages
KDIR=$(KDIR) ../../../scripts/sign-modules KDIR=$(KDIR) ../../../scripts/sign-modules
$(MAKE) -C $(KDIR) M=$(shell pwd) \ $(MAKE) -C $(KDIR) M=$(shell pwd) \
$$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \ $(shell [ -n "$(CC)" ] && echo CC="$(CC)") \
CONFIG_MODULE_SIG_ALL= modules_install $$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \
CONFIG_MODULE_SIG_ALL= modules_install
uninstall: uninstall:
rm -f $(INSTALL_DIR)/dev_handlers/scst_*.ko rm -f $(INSTALL_DIR)/dev_handlers/scst_*.ko

View File

@@ -34,13 +34,15 @@ INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra
SCST_DIR := $(shell echo "$$PWD")/../scst/src SCST_DIR := $(shell echo "$$PWD")/../scst/src
all: all:
$(MAKE) -C $(KDIR) M=$(shell pwd) $(MAKE) -C $(KDIR) M=$(shell pwd) \
$(shell [ -n "$(CC)" ] && echo CC="$(CC)")
install: all install: all
KDIR=$(KDIR) ../scripts/sign-modules KDIR=$(KDIR) ../scripts/sign-modules
$(MAKE) -C $(KDIR) M=$(shell pwd) \ $(MAKE) -C $(KDIR) M=$(shell pwd) \
$$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \ $(shell [ -n "$(CC)" ] && echo CC="$(CC)") \
CONFIG_MODULE_SIG_ALL= modules_install $$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \
CONFIG_MODULE_SIG_ALL= modules_install
uninstall: uninstall:
rm -f $(INSTALL_DIR)/scst_local.ko rm -f $(INSTALL_DIR)/scst_local.ko

View File

@@ -87,7 +87,12 @@ run_conftest = $(shell \
else \ else \
output=conftest/$1/build-output-$(KVER).txt; \ output=conftest/$1/build-output-$(KVER).txt; \
fi; \ fi; \
if MAKEFLAGS= make -C $(KDIR) V=$(V) M="$(shell pwd)/conftest/$1" CONFTEST_CFLAGS="-Werror $(OFED_CFLAGS)" $(OFED_CONFIG) KBUILD_EXTRA_SYMBOLS="$(OFED_MODULE_SYMVERS)" 1>&2 2>$${output}; then \ if MAKEFLAGS= make -C $(KDIR) V=$(V) \
$(shell [ -n "$(CC)" ] && echo CC="$(CC)") \
M="$(shell pwd)/conftest/$1" \
CONFTEST_CFLAGS="-Werror $(OFED_CFLAGS)" $(OFED_CONFIG) \
KBUILD_EXTRA_SYMBOLS="$(OFED_MODULE_SYMVERS)" \
1>&2 2>$${output}; then \
echo "$(strip $2)"; \ echo "$(strip $2)"; \
else \ else \
echo "$(strip $3)"; \ echo "$(strip $3)"; \
@@ -107,16 +112,20 @@ CONFTEST_CFLAGS = $(OFED_CFLAGS) \
done) done)
all: check $(CONFTEST_OUTPUTS) all: check $(CONFTEST_OUTPUTS)
$(MAKE) -C $(KDIR) M=$(shell pwd)/src CONFTEST_CFLAGS="$(CONFTEST_CFLAGS)"\ $(MAKE) -C $(KDIR) M=$(shell pwd)/src \
$(OFED_CONFIG) modules $(shell [ -n "$(CC)" ] && echo CC="$(CC)") \
CONFTEST_CFLAGS="$(CONFTEST_CFLAGS)" \
$(OFED_CONFIG) modules
install: all install: all
@[ -z "$(DESTDIR)$(INSTALL_MOD_PATH)" ] && \ @[ -z "$(DESTDIR)$(INSTALL_MOD_PATH)" ] && \
find /lib/modules/$(KVER) -name ib_srpt.ko -exec rm {} \; ; \ find /lib/modules/$(KVER) -name ib_srpt.ko -exec rm {} \; ; \
true true
(cd src && KDIR=$(KDIR) ../../scripts/sign-modules) (cd src && KDIR=$(KDIR) ../../scripts/sign-modules)
$(MAKE) -C $(KDIR) M=$(shell pwd)/src CONFTEST_CFLAGS="$(CONFTEST_CFLAGS)" \ $(MAKE) -C $(KDIR) M=$(shell pwd)/src \
$$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \ $(shell [ -n "$(CC)" ] && echo CC="$(CC)") \
CONFTEST_CFLAGS="$(CONFTEST_CFLAGS)" \
$$([ -n "$(DEPMOD)" ] && echo "DEPMOD=$(DEPMOD)") \
CONFIG_MODULE_SIG_ALL= modules_install CONFIG_MODULE_SIG_ALL= modules_install
uninstall: uninstall: