Makefiles: Simplify Module.symvers handling

This patch does not change any functionality.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8122 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Bart Van Assche
2019-03-31 21:13:13 +00:00
parent 6cb1d158e7
commit de28843d9f
6 changed files with 60 additions and 120 deletions

View File

@@ -62,10 +62,15 @@ INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra
SCST_DIR := $(shell echo "$$PWD")/../scst/src
all: Modules.symvers Module.symvers
# 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)/Modules.symvers" ]; then \
echo Modules.symvers; else echo Module.symvers; fi)
all: $(MODULE_SYMVERS)
$(MAKE) -C $(KDIR) M=$(shell pwd) BUILD_INI=m
tgt: Modules.symvers Module.symvers
tgt: $(MODULE_SYMVERS)
$(MAKE) -C $(KDIR) M=$(shell pwd) BUILD_INI=n
install: all
@@ -77,22 +82,8 @@ ins:
./config
insmod fcst.ko
SCST_MOD_VERS := $(shell ls $(SCST_DIR)/Modules.symvers 2>/dev/null)
ifneq ($(SCST_MOD_VERS),)
Modules.symvers: $(SCST_DIR)/Modules.symvers
cp $(SCST_DIR)/Modules.symvers .
else
.PHONY: Modules.symvers
endif
# It's renamed in 2.6.18
SCST_MOD_VERS := $(shell ls $(SCST_DIR)/Module.symvers 2>/dev/null)
ifneq ($(SCST_MOD_VERS),)
Module.symvers: $(SCST_DIR)/Module.symvers
cp $(SCST_DIR)/Module.symvers .
else
.PHONY: Module.symvers
endif
$(MODULE_SYMVERS): $(SCST_DIR)/$(MODULE_SYMVERS)
cp $< $@
uninstall:
rm -f $(INSTALL_DIR)/$(MODULE_NAME).ko
@@ -102,8 +93,8 @@ uninstall:
endif
clean:
rm -f *.o *.ko .*.cmd *.mod.c .*.d .depend *~ Modules.symvers \
Module.symvers Module.markers modules.order
rm -f *.o *.ko .*.cmd *.mod.c .*.d .depend *~ \
$(MODULE_SYMVERS) Module.markers modules.order
rm -rf .tmp_versions
extraclean: clean

View File

@@ -11,7 +11,7 @@ endif
SHELL=/bin/bash
SCST_SYMVERS_DIR := $(shell echo "$$PWD")/../scst/src
SCST_DIR := $(shell echo "$$PWD")/../scst/src
SBINDIR := $(PREFIX)/sbin
INITDIR := /etc/init.d
RCDIR := /etc/rc.d
@@ -44,9 +44,14 @@ endif
INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra
INFINIBAND_ENABLED = $(shell syms=$$(dirname "$(KDIR)")/modules.symbols; if [ -e "$$syms" ] && grep -wq 'ib_register_client' "$$syms" || grep -q "^CONFIG_INFINIBAND=[my]$$" "$(KDIR)/.config"; then echo true; else echo false; fi)
# 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)/Modules.symvers" ]; then \
echo Modules.symvers; else echo Module.symvers; fi)
all: progs mods
ISER_SYMVERS:=$(KMOD)/Module.symvers
ISER_SYMVERS:=$(KMOD)/$(MODULE_SYMVERS)
OFED_CFLAGS:=
OFED_FLAVOR=$(shell if [ -e /usr/bin/ofed_info ]; then /usr/bin/ofed_info 2>/dev/null | head -n1 | sed -n 's/^\(MLNX_OFED\|OFED-internal\).*/MOFED/p;s/^OFED-.*/OFED/p'; else echo in-tree; fi)
@@ -77,7 +82,7 @@ ifeq ($(OFED_FLAVOR),MOFED)
OFED_CFLAGS:= -I$(OFED_DIR)/include \
-I$(OFED_DIR)/include/uapi \
-include $(OFED_DIR)/include/linux/compat-2.6.h
ISER_SYMVERS:="$(ISER_SYMVERS) $(OFED_DIR)/Module.symvers"
ISER_SYMVERS:="$(ISER_SYMVERS) $(OFED_DIR)/$(MODULE_SYMVERS)"
else
# Whether or not the OFED kernel-ib-devel RPM has been installed.
OFED_KERNEL_IB_DEVEL_RPM_INSTALLED:=$(shell if rpm -q kernel-ib-devel 2>/dev/null | grep -q $$(uname -r | sed 's/-/_/g'); then echo true; else echo false; fi)
@@ -90,12 +95,12 @@ else
# BACKPORT_INCLUDES.
include /usr/src/ofa_kernel/config.mk
OFED_CFLAGS:=$(shell echo $(BACKPORT_INCLUDES) -I/usr/src/ofa_kernel/include)
ISER_SYMVERS:="$(ISER_SYMVERS) /usr/src/ofa_kernel/Module.symvers"
ISER_SYMVERS:="$(ISER_SYMVERS) /usr/src/ofa_kernel/$(MODULE_SYMVERS)"
endif
ifeq ($(OFED_COMPAT_RDMA_DEVEL_RPM_INSTALLED),true)
OFED_CFLAGS:=-I/usr/src/compat-rdma/include -include /usr/src/compat-rdma/include/linux/compat-2.6.h
ISER_SYMVERS:="$(ISER_SYMVERS) /usr/src/compat-rdma/Module.symvers"
ISER_SYMVERS:="$(ISER_SYMVERS) /usr/src/compat-rdma/$(MODULE_SYMVERS)"
endif
endif
@@ -116,8 +121,7 @@ PRE_CFLAGS = $(shell \
ISER_CFLAGS = $(OFED_CFLAGS) -DOFED_FLAVOR=$(OFED_FLAVOR) $(PRE_CFLAGS)
mods: include/iscsi_scst_itf_ver.h Modules.symvers Module.symvers \
$(CONFTEST_OUTPUTS)
mods: include/iscsi_scst_itf_ver.h $(MODULE_SYMVERS) $(CONFTEST_OUTPUTS)
$(MAKE) -C $(KDIR) M=$(KMOD) PRE_CFLAGS="$(PRE_CFLAGS)" modules
echo "$@: INFINIBAND_ENABLED = $(INFINIBAND_ENABLED)"
if $(INFINIBAND_ENABLED); then \
@@ -162,41 +166,20 @@ uninstall:
$(INSTALL_DIR)/isert-scst.ko
-/sbin/depmod -b $(INSTALL_MOD_PATH)/ -a $(KVER)
SCST_MOD_VERS := $(shell ls $(SCST_SYMVERS_DIR)/Modules.symvers 2>/dev/null)
ifneq ($(SCST_MOD_VERS),)
Modules.symvers: $(SCST_SYMVERS_DIR)/Modules.symvers
echo $(SCST_MOD_VERS)
cp $(SCST_SYMVERS_DIR)/Modules.symvers kernel/
echo "$@: INFINIBAND_ENABLED = $(INFINIBAND_ENABLED)"
if $(INFINIBAND_ENABLED); then \
cp $(SCST_SYMVERS_DIR)/Modules.symvers kernel/isert-scst; \
fi
else
.PHONY: Modules.symvers
endif
# It's renamed in 2.6.18
SCST_MOD_VERS := $(shell ls $(SCST_SYMVERS_DIR)/Module.symvers 2>/dev/null)
ifneq ($(SCST_MOD_VERS),)
Module.symvers: $(SCST_SYMVERS_DIR)/Module.symvers
cp $(SCST_SYMVERS_DIR)/Module.symvers kernel/
if $(INFINIBAND_ENABLED); then \
cp $(SCST_SYMVERS_DIR)/Module.symvers kernel/isert-scst; \
fi
else
.PHONY: Module.symvers
endif
$(MODULE_SYMVERS): $(SCST_DIR)/$(MODULE_SYMVERS)
cp $< kernel/
$(INFINIBAND_ENABLED) && cp $< kernel/isert-scst
clean:
$(MAKE) -C usr $@
$(MAKE) -C $(KDIR) M=$(KMOD) $@
$(MAKE) -C $(KDIR) M=$(ISERTMOD) $@
rm -f kernel/Modules.symvers kernel/Module.symvers \
rm -f kernel/$(MODULE_SYMVERS) \
kernel/Module.markers kernel/modules.order \
kernel/isert-scst/Modules.symvers kernel/isert-scst/Module.symvers \
kernel/isert-scst/$(MODULE_SYMVERS) \
kernel/isert-scst/Module.markers kernel/isert-scst/modules.order \
include/iscsi_scst_itf_ver.h
rm -rf conftest/*/*.ko conftest/*/*.mod.c conftest/*/Module.symvers conftest/*/*.o \
rm -rf conftest/*/*.ko conftest/*/*.mod.c conftest/*/$(MODULE_SYMVERS) conftest/*/*.o \
conftest/*/*.o.cmd conftest/*/*.ko.cmd conftest/*/.*.o.cmd conftest/*/.*.ko.cmd \
conftest/*/*.order conftest/*/.*.o.d conftest/*/.tmp_versions/ \
conftest/*/result*.txt

View File

@@ -99,7 +99,12 @@ ifneq ($(BUILD_2X_MODULE),)
.NOTPARALLEL:
endif
all: $(QLA2XXX_SCST) Modules.symvers Module.symvers
# 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)/Modules.symvers" ]; then \
echo Modules.symvers; else echo Module.symvers; fi)
all: $(QLA2XXX_SCST) $(MODULE_SYMVERS)
$(MAKE) -C $(KDIR) M=$(shell pwd) BUILD_INI=m
install: all
@@ -123,35 +128,18 @@ qla2xxx_scst:
M=$(QLA2XXX_DIR) -C $(QLA2XXX_DIR) all
endif
SCST_MOD_VERS := $(shell ls $(SCST_DIR)/Modules.symvers 2>/dev/null)
ifneq ($(SCST_MOD_VERS),)
Modules.symvers: $(SCST_DIR)/Modules.symvers
cp $(SCST_DIR)/Modules.symvers .
$(MODULE_SYMVERS): $(SCST_DIR)/$(MODULE_SYMVERS)
cp $< .
ifneq ($(BUILD_2X_MODULE),)
cat $(QLA2XXX_DIR)/Modules.symvers >>Modules.symvers
endif
else
.PHONY: Modules.symvers
endif
# It's renamed in 2.6.18
SCST_MOD_VERS := $(shell ls $(SCST_DIR)/Module.symvers 2>/dev/null)
ifneq ($(SCST_MOD_VERS),)
Module.symvers: $(SCST_DIR)/Module.symvers
cp $(SCST_DIR)/Module.symvers .
ifneq ($(BUILD_2X_MODULE),)
cat $(QLA2XXX_DIR)/Module.symvers >>Module.symvers
endif
else
.PHONY: Module.symvers
cat $(QLA2XXX_DIR)/$(MODULE_SYMVERS) >>$(MODULE_SYMVERS)
endif
########## END OUT-OF-TREE RULES ##########
endif
clean:
rm -f *.o *.ko .*.cmd *.mod.c .*.d .depend *~ Modules.symvers \
Module.symvers Module.markers modules.order
rm -f *.o *.ko .*.cmd *.mod.c .*.d .depend *~ \
$(MODULE_SYMVERS) Module.markers modules.order
rm -rf .tmp_versions
extraclean: clean

View File

@@ -98,7 +98,12 @@ ifneq ($(BUILD_2X_MODULE),)
.NOTPARALLEL:
endif
all: $(QLA2XXX_SCST) Modules.symvers Module.symvers
# 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)/Modules.symvers" ]; then \
echo Modules.symvers; else echo Module.symvers; fi)
all: $(QLA2XXX_SCST) $(MODULE_SYMVERS)
$(MAKE) -C $(KDIR) M=$(shell pwd) BUILD_INI=m
install: all
@@ -122,27 +127,10 @@ qla2xxx_scst:
M=$(QLA2XXX_DIR) -C $(QLA2XXX_DIR) all
endif
SCST_MOD_VERS := $(shell ls $(SCST_DIR)/Modules.symvers 2>/dev/null)
ifneq ($(SCST_MOD_VERS),)
Modules.symvers: $(SCST_DIR)/Modules.symvers
cp $(SCST_DIR)/Modules.symvers .
$(MODULE_SYMVERS): $(SCST_DIR)/$(MODULE_SYMVERS)
cp $< .
ifneq ($(BUILD_2X_MODULE),)
cat $(QLA2XXX_DIR)/Modules.symvers >>Modules.symvers
endif
else
.PHONY: Modules.symvers
endif
# It's renamed in 2.6.18
SCST_MOD_VERS := $(shell ls $(SCST_DIR)/Module.symvers 2>/dev/null)
ifneq ($(SCST_MOD_VERS),)
Module.symvers: $(SCST_DIR)/Module.symvers
cp $(SCST_DIR)/Module.symvers .
ifneq ($(BUILD_2X_MODULE),)
cat $(QLA2XXX_DIR)/Module.symvers >>Module.symvers
endif
else
.PHONY: Module.symvers
cat $(QLA2XXX_DIR)/$(MODULE_SYMVERS) >>$(MODULE_SYMVERS)
endif
########## END OUT-OF-TREE RULES ##########
@@ -150,7 +138,7 @@ endif
clean:
rm -f *.o *.ko .*.cmd *.mod.c .*.d .depend *~ Modules.symvers \
Module.symvers Module.markers modules.order
$(MODULE_SYMVERS) Module.markers modules.order
rm -rf .tmp_versions
extraclean: clean

View File

@@ -52,7 +52,12 @@ INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra
SCST_DIR := $(shell echo "$$PWD")/../scst/src
all: Modules.symvers Module.symvers
# 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)/Modules.symvers" ]; then \
echo Modules.symvers; else echo Module.symvers; fi)
all: $(MODULE_SYMVERS)
$(MAKE) -C $(KDIR) M=$(shell pwd) BUILD_INI=m
install: all
@@ -60,22 +65,8 @@ install: all
$$([ -n "$(DESTDIR)$(INSTALL_MOD_PATH)" ] && echo DEPMOD=true) \
modules_install
SCST_MOD_VERS := $(shell ls $(SCST_DIR)/Modules.symvers 2>/dev/null)
ifneq ($(SCST_MOD_VERS),)
Modules.symvers: $(SCST_DIR)/Modules.symvers
cp $(SCST_DIR)/Modules.symvers .
else
.PHONY: Modules.symvers
endif
# It's renamed in 2.6.18
SCST_MOD_VERS := $(shell ls $(SCST_DIR)/Module.symvers 2>/dev/null)
ifneq ($(SCST_MOD_VERS),)
Module.symvers: $(SCST_DIR)/Module.symvers
cp $(SCST_DIR)/Module.symvers .
else
.PHONY: Module.symvers
endif
$(MODULE_SYMVERS): $(SCST_DIR)/$(MODULE_SYMVERS)
cp $< $@
uninstall:
rm -f $(INSTALL_DIR)/scst_local.ko
@@ -86,7 +77,7 @@ endif
clean:
@$(MAKE) -C $(KDIR) M=$(shell pwd) clean
@$(RM) tags Modules.symvers module.symvers Module.markers modules.order
@$(RM) tags $(MODULE_SYMVERS) Module.markers modules.order
extraclean: clean
rm -f *.orig *.rej

View File

@@ -6,7 +6,7 @@ ifndef PREFIX
PREFIX=/usr/local
endif
SCST_SYMVERS_DIR := $(shell echo "$$PWD")/../scst/src
SCST_DIR := $(shell echo "$$PWD")/../scst/src
ifeq ($(KVER),)
ifeq ($(KDIR),)
@@ -97,8 +97,7 @@ PRE_CFLAGS = $(OFED_CFLAGS) \
all: check src/$(MODULE_SYMVERS) $(CONFTEST_OUTPUTS)
$(MAKE) -C $(KDIR) M=$(shell pwd)/src PRE_CFLAGS="$(PRE_CFLAGS)" modules
src/$(MODULE_SYMVERS): $(SCST_SYMVERS_DIR)/$(MODULE_SYMVERS) \
$(OFED_MODULE_SYMVERS)
src/$(MODULE_SYMVERS): $(SCST_DIR)/$(MODULE_SYMVERS) $(OFED_MODULE_SYMVERS)
cat $^ | \
awk '{sym[$$2]=$$0} END {for (s in sym){print sym[s]}}' >"$@"