diff --git a/Makefile b/Makefile index 2b6d54e53..1199b14c3 100644 --- a/Makefile +++ b/Makefile @@ -54,6 +54,15 @@ EMULEX_DIR=emulex ISCSI_DIR=iscsi-scst +# Set variable $(2) to value $(3) in file $(1) if $(2)=$(3) does not yet occur +# in file $(1). +set_var = $(shell if grep -q '^$(2)=' '$(1)'; then \ + grep -q '^$(2)=$(3)$$' '$(1)' || \ + sed -i 's/^$(2)=.*/$(2)=$(3)/' '$(1)'; \ + else \ + echo '$(2)=$(3)' >> '$(1)'; \ + fi) + REVISION ?= $(shell if [ -e .svn ]; then \ svn info | sed -n 's/^Revision:[[:blank:]]*/./p'; \ elif [ -e .git ]; then \ @@ -544,6 +553,7 @@ release-archive: $(MAKE) 2debug 2perf: extraclean + $(call set_var,build_mode,BUILD_MODE,PERF) cd $(SCST_DIR) && $(MAKE) $@ @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi @if [ -d $(QLA_OLD_DIR) ]; then cd $(QLA_OLD_DIR) && $(MAKE) $@; fi @@ -555,6 +565,7 @@ release-archive: @if [ -d $(FCST_DIR) ]; then cd $(FCST_DIR) && $(MAKE) $@; fi 2release: extraclean + $(call set_var,build_mode,BUILD_MODE,RELEASE) cd $(SCST_DIR) && $(MAKE) $@ @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi @if [ -d $(QLA_OLD_DIR) ]; then cd $(QLA_OLD_DIR) && $(MAKE) $@; fi @@ -566,6 +577,7 @@ release-archive: @if [ -d $(FCST_DIR) ]; then cd $(FCST_DIR) && $(MAKE) $@; fi 2debug: extraclean + $(call set_var,build_mode,BUILD_MODE,) cd $(SCST_DIR) && $(MAKE) $@ @if [ -d $(QLA_DIR) ]; then cd $(QLA_DIR) && $(MAKE) $@; fi @if [ -d $(QLA_OLD_DIR) ]; then cd $(QLA_OLD_DIR) && $(MAKE) $@; fi diff --git a/fcst/Makefile b/fcst/Makefile index b4ea0ce4d..9ef92d635 100644 --- a/fcst/Makefile +++ b/fcst/Makefile @@ -30,17 +30,6 @@ export PWD := $(shell pwd) export CONFIG_FCST := m - -# 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)) - - -FCSTFLAGS = -DDEBUG_WORK_IN_THREAD -DCONFIG_SCST_TRACING -DCONFIG_SCST_DEBUG \ - -DCONFIG_SCST_EXTRACHECKS -fno-inline -fno-inline-functions -FCSTFLAGSRELEASE = -DCONFIG_SCST_TRACING -FCSTFLAGSPERF = -EXTRA_CFLAGS += -I$(SCST_INC_DIR) $(FCSTFLAGS$(BUILDMODE)) - MODULE_NAME = fcst ifneq ($(KERNELRELEASE),) @@ -128,15 +117,12 @@ extraclean: clean 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 fcst "$$(sed -n 's/^#define[[:blank:]]FT_VERSION[[:blank:]]*\"\([^\"]*\)\".*/\1/p' fcst.h)" diff --git a/fcst/Makefile_in-tree b/fcst/Makefile_in-tree index 1c387231d..8f9ad3366 100644 --- a/fcst/Makefile_in-tree +++ b/fcst/Makefile_in-tree @@ -1,3 +1,14 @@ +-include $(KBUILD_EXTMOD)/../build_mode + +echo := $(shell echo "fcst build mode: $(BUILD_MODE)" >& 2) + +BUILD_MODE_CFLAGS_ = -DDEBUG_WORK_IN_THREAD -DCONFIG_SCST_TRACING \ + -DCONFIG_SCST_DEBUG -DCONFIG_SCST_EXTRACHECKS \ + -fno-inline -fno-inline-functions +BUILD_MODE_CFLAGS_RELEASE = -DCONFIG_SCST_TRACING +BUILD_MODE_CFLAGS_PERF = +ccflags-y += -I$(SCST_INC_DIR) $(BUILD_MODE_CFLAGS_$(BUILD_MODE)) + obj-$(CONFIG_FCST) += fcst.o fcst-objs := \ diff --git a/iscsi-scst/Makefile b/iscsi-scst/Makefile index ae610a0b5..fecf4d9b1 100644 --- a/iscsi-scst/Makefile +++ b/iscsi-scst/Makefile @@ -330,52 +330,13 @@ conftest/use_pre_440_wr_structure/result-$(KVER).txt: \ -DUSE_PRE_440_WR_STRUCTURE)" >"$@" 2release: - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/ $(KMOD)/Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS" $(KMOD)/Makefile >/dev/null - sed -i.aa s/"^#\?EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/"EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/ $(KMOD)/Makefile - grep "^EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING" $(KMOD)/Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/ $(KMOD)/Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions" $(KMOD)/Makefile >/dev/null - rm $(KMOD)/Makefile.aa - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/ $(ISERTMOD)/Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS" $(ISERTMOD)/Makefile >/dev/null - sed -i.aa s/"^#\?EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/"EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/ $(ISERTMOD)/Makefile - grep "^EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING" $(ISERTMOD)/Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/ $(ISERTMOD)/Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions" $(ISERTMOD)/Makefile >/dev/null - rm $(ISERTMOD)/Makefile.aa + -$(MAKE) clean 2debug: - sed -i.aa s/"^#\?EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/"EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/ $(KMOD)/Makefile - grep "^EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS" $(KMOD)/Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/ $(KMOD)/Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING" $(KMOD)/Makefile >/dev/null - sed -i.aa s/"^#\?EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/"EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/ $(KMOD)/Makefile - grep "^EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions" $(KMOD)/Makefile >/dev/null - rm $(KMOD)/Makefile.aa - sed -i.aa s/"^#\?EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/"EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/ $(ISERTMOD)/Makefile - grep "^EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS" $(ISERTMOD)/Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/ $(ISERTMOD)/Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING" $(ISERTMOD)/Makefile >/dev/null - sed -i.aa s/"^#\?EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/"EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/ $(ISERTMOD)/Makefile - grep "^EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions" $(ISERTMOD)/Makefile >/dev/null - rm $(ISERTMOD)/Makefile.aa + -$(MAKE) clean 2perf: - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/ $(KMOD)/Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS" $(KMOD)/Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/ $(KMOD)/Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING" $(KMOD)/Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/ $(KMOD)/Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions" $(KMOD)/Makefile >/dev/null - rm $(KMOD)/Makefile.aa - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/ $(ISERTMOD)/Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS" $(ISERTMOD)/Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/ $(ISERTMOD)/Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING" $(ISERTMOD)/Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/ $(ISERTMOD)/Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions" $(ISERTMOD)/Makefile >/dev/null - rm $(ISERTMOD)/Makefile.aa + -$(MAKE) clean release-archive: ../scripts/generate-release-archive iscsi-scst "$$(sed -n 's/^#define[[:blank:]]ISCSI_VERSION_STRING[[:blank:]]*\"\([^\"]*\)\".*/\1/p' include/iscsi_scst_ver.h)" diff --git a/iscsi-scst/kernel/Makefile b/iscsi-scst/kernel/Makefile index 9b46b0a02..70ae0ca8d 100644 --- a/iscsi-scst/kernel/Makefile +++ b/iscsi-scst/kernel/Makefile @@ -20,21 +20,22 @@ # # Note 2! The CFLAGS definitions are now in the main makefile. -cc-option = $(shell if $(CC) $(CFLAGS) $(1) -S -o /dev/null -xc /dev/null \ - > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;) -enable-Wextra = $(shell uname_r="$$(uname -r)"; if [ "$${uname_r%.el5}" = "$${uname_r}" ]; then echo "$(1)"; fi) - -EXTRA_CFLAGS += -I$(src)/../include -I$(SCST_INC_DIR) -EXTRA_CFLAGS += $(call enable-Wextra,-Wextra \ +ccflags-y += -I$(src)/../include -I$(SCST_INC_DIR) +ccflags-y += $(call cc-option,-Wextra) \ $(call cc-option,-Wno-old-style-declaration) \ - -Wno-unused-parameter -Wno-missing-field-initializers) -EXTRA_CFLAGS += $(PRE_CFLAGS) + -Wno-unused-parameter -Wno-missing-field-initializers +ccflags-y += $(PRE_CFLAGS) +#ccflags-y += -DCONFIG_SCST_ISCSI_DEBUG_DIGEST_FAILURES -EXTRA_CFLAGS += -DCONFIG_SCST_EXTRACHECKS -#EXTRA_CFLAGS += -DCONFIG_SCST_TRACING -EXTRA_CFLAGS += -DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions +-include $(KBUILD_EXTMOD)/../../build_mode -#EXTRA_CFLAGS += -DCONFIG_SCST_ISCSI_DEBUG_DIGEST_FAILURES +echo := $(shell echo "iscsi-scst build mode: $(BUILD_MODE)" >& 2) + +BUILD_MODE_CFLAGS_ = -DCONFIG_SCST_TRACING -DCONFIG_SCST_DEBUG \ + -DCONFIG_SCST_EXTRACHECKS -fno-inline -fno-inline-functions +BUILD_MODE_CFLAGS_RELEASE = -DCONFIG_SCST_TRACING +BUILD_MODE_CFLAGS_PERF = +ccflags-y += $(BUILD_MODE_CFLAGS_$(BUILD_MODE)) obj-m += iscsi-scst.o iscsi-scst-objs := iscsi.o nthread.o config.o digest.o \ diff --git a/iscsi-scst/kernel/isert-scst/Makefile b/iscsi-scst/kernel/isert-scst/Makefile index d5382a1f5..a4adc5438 100644 --- a/iscsi-scst/kernel/isert-scst/Makefile +++ b/iscsi-scst/kernel/isert-scst/Makefile @@ -20,19 +20,21 @@ # # Note 2! The CFLAGS definitions are now in the main makefile. -cc-option = $(shell if $(CC) $(CFLAGS) $(1) -S -o /dev/null -xc /dev/null \ - > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;) -enable-Wextra = $(shell uname_r="$$(uname -r)"; if [ "$${uname_r%.el5}" = "$${uname_r}" ]; then echo "$(1)"; fi) - LINUXINCLUDE := $(PRE_CFLAGS) $(LINUXINCLUDE) -EXTRA_CFLAGS += -I$(src)/../../include -I$(SCST_INC_DIR) -EXTRA_CFLAGS += $(call enable-Wextra,-Wextra \ +ccflags-y += -I$(src)/../../include -I$(SCST_INC_DIR) +ccflags-y += $(call cc-option,-Wextra) \ $(call cc-option,-Wno-old-style-declaration) \ - -Wno-unused-parameter -Wno-missing-field-initializers) + -Wno-unused-parameter -Wno-missing-field-initializers -EXTRA_CFLAGS += -DCONFIG_SCST_EXTRACHECKS -#EXTRA_CFLAGS += -DCONFIG_SCST_TRACING -EXTRA_CFLAGS += -DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions +-include $(KBUILD_EXTMOD)/../../../build_mode + +echo := $(shell echo "isert-scst build mode: $(BUILD_MODE)" >& 2) + +BUILD_MODE_CFLAGS_ = -DCONFIG_SCST_TRACING -DCONFIG_SCST_DEBUG \ + -DCONFIG_SCST_EXTRACHECKS -fno-inline -fno-inline-functions +BUILD_MODE_CFLAGS_RELEASE = -DCONFIG_SCST_TRACING +BUILD_MODE_CFLAGS_PERF = +ccflags-y += $(BUILD_MODE_CFLAGS_$(BUILD_MODE)) obj-m += isert-scst.o isert-scst-objs := isert.o isert_login.o \ diff --git a/qla2x00t/Makefile b/qla2x00t/Makefile index 6f65d07af..aafa94f53 100644 --- a/qla2x00t/Makefile +++ b/qla2x00t/Makefile @@ -26,15 +26,6 @@ SCST_INC_DIR := $(shell if [ -e "$$PWD/../scst" ]; \ then echo "$$PWD/../scst/include"; \ else echo "$(DESTDIR)$(PREFIX)/include/scst"; fi) -enable-Wextra = $(shell uname_r="$$(uname -r)"; if [ "$${uname_r%.el5}" = "$${uname_r}" ]; then echo "$(1)"; fi) - -EXTRA_CFLAGS += $(call enable-Wextra,-Wextra -Wno-unused-parameter \ - -Wno-missing-field-initializers) -I$(SCST_INC_DIR) - -ifneq ($(CONFIG_SCSI_QLA2XXX_TARGET),) -EXTRA_CFLAGS += -DCONFIG_SCSI_QLA2XXX_TARGET=$(CONFIG_SCSI_QLA2XXX_TARGET) -endif - ifeq ($(KVER),) ifeq ($(KDIR),) KVER := $(shell uname -r) @@ -55,13 +46,22 @@ endif INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra ifneq ($(PATCHLEVEL),) +ccflags-y += $(call cc-option,-Wextra) -Wno-unused-parameter \ + -Wno-missing-field-initializers -I$(SCST_INC_DIR) + +ifneq ($(CONFIG_SCSI_QLA2XXX_TARGET),) +ccflags-y += -DCONFIG_SCSI_QLA2XXX_TARGET=$(CONFIG_SCSI_QLA2XXX_TARGET) +endif + obj-m := qla2xxx_scst.o qla2xxx_scst-objs := qla_os.o qla_init.o qla_mbx.o qla_iocb.o qla_isr.o qla_gs.o \ qla_dbg.o qla_sup.o qla_attr.o qla_mid.o qla_dfs.o qla_bsg.o qla_nx.o else all: - $(MAKE) -C $(KDIR) M=$(shell pwd) BUILD_INI=m EXTRA_CFLAGS="$(EXTRA_CFLAGS)" + $(MAKE) -C $(KDIR) M=$(shell pwd) BUILD_INI=m \ + SCST_INC_DIR=$(SCST_INC_DIR) \ + $(CONFIG_SCSI_QLA2XXX_TARGET)=CONFIG_SCSI_QLA2XXX_TARGET install: all $(MAKE) -C $(KDIR) M=$(shell pwd) BUILD_INI=m \ diff --git a/qla2x00t/qla2x00-target/Makefile b/qla2x00t/qla2x00-target/Makefile index 58c48c986..84b900dbd 100644 --- a/qla2x00t/qla2x00-target/Makefile +++ b/qla2x00t/qla2x00-target/Makefile @@ -29,16 +29,6 @@ SHELL=/bin/bash -EXTRA_CFLAGS += -I$(SCST_INC_DIR) - -EXTRA_CFLAGS += -W -Wno-unused-parameter -Wno-missing-field-initializers - -EXTRA_CFLAGS += -DCONFIG_SCST_EXTRACHECKS -#EXTRA_CFLAGS += -DCONFIG_SCST_TRACING -EXTRA_CFLAGS += -DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions -#EXTRA_CFLAGS += -DCONFIG_QLA_TGT_DEBUG_WORK_IN_THREAD -#EXTRA_CFLAGS += -DCONFIG_QLA_TGT_DEBUG_SRR - ifeq ($(KVER),) ifeq ($(KDIR),) KVER := $(shell uname -r) @@ -66,12 +56,30 @@ else QLA2XXX_INC_DIR := $(KBUILD_EXTMOD)/.. QLA2XXX_DIR := $(shell pwd)/.. QLA2XXX_SCST := qla2xxx_scst -EXTRA_CFLAGS += -DCONFIG_SCSI_QLA2XXX_TARGET=y endif -EXTRA_CFLAGS += -I$(QLA2XXX_INC_DIR) - ifneq ($(PATCHLEVEL),) +ccflags-y += -I$(SCST_INC_DIR) +ccflags-y += -W -Wno-unused-parameter -Wno-missing-field-initializers +#ccflags-y += -DCONFIG_QLA_TGT_DEBUG_WORK_IN_THREAD +#ccflags-y += -DCONFIG_QLA_TGT_DEBUG_SRR + +-include $(KBUILD_EXTMOD)/../../build_mode + +echo := $(shell echo "qla2x00t build mode: $(BUILD_MODE)" >& 2) + +BUILD_MODE_CFLAGS_ = -DCONFIG_SCST_TRACING -DCONFIG_SCST_DEBUG \ + -DCONFIG_SCST_EXTRACHECKS -fno-inline -fno-inline-functions +BUILD_MODE_CFLAGS_RELEASE = -DCONFIG_SCST_TRACING +BUILD_MODE_CFLAGS_PERF = +ccflags-y += $(BUILD_MODE_CFLAGS_$(BUILD_MODE)) + +ifneq ($(BUILD_2X_MODULE),) +ccflags-y += -DCONFIG_SCSI_QLA2XXX_TARGET=y +endif + +ccflags-y += -I$(QLA2XXX_INC_DIR) + obj-m := qla2x00tgt.o qla2x00tgt-objs := qla2x00t.o else @@ -156,30 +164,12 @@ extraclean: clean rm -f *.orig *.rej 2release: - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS" Makefile >/dev/null - sed -i.aa s/"^#\?EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/"EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/ Makefile - grep "^EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING" Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions" Makefile >/dev/null - rm Makefile.aa + -$(MAKE) clean 2debug: - sed -i.aa s/"^#\?EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/"EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/ Makefile - grep "^EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS" Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING" Makefile >/dev/null - sed -i.aa s/"^#\?EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/"EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/ Makefile - grep "^EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions" Makefile >/dev/null - rm Makefile.aa + -$(MAKE) clean 2perf: - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS" Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING" Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions" Makefile >/dev/null - rm Makefile.aa + -$(MAKE) clean .PHONY: all tgt install uninstall clean extraclean 2perf 2release 2debug qla2xxx_scst diff --git a/qla2x00t/qla2x00-target/Makefile_in-tree-2.6.23 b/qla2x00t/qla2x00-target/Makefile_in-tree-2.6.23 index 4f2dc0b7e..fc6f8e7fa 100644 --- a/qla2x00t/qla2x00-target/Makefile_in-tree-2.6.23 +++ b/qla2x00t/qla2x00-target/Makefile_in-tree-2.6.23 @@ -1,4 +1,4 @@ -EXTRA_CFLAGS += -Iinclude/scst -Idrivers/scsi/qla2xxx +ccflags-y += -Iinclude/scst -Idrivers/scsi/qla2xxx qla2x00tgt-y := qla2x00t.o diff --git a/scst/kernel/in-tree/Makefile.dev_handlers-2.6.23 b/scst/kernel/in-tree/Makefile.dev_handlers-2.6.23 index f480d0ea7..8c2c62cbf 100644 --- a/scst/kernel/in-tree/Makefile.dev_handlers-2.6.23 +++ b/scst/kernel/in-tree/Makefile.dev_handlers-2.6.23 @@ -1,4 +1,4 @@ -EXTRA_CFLAGS += -Iinclude/scst -Wno-unused-parameter +ccflags-y += -Iinclude/scst -Wno-unused-parameter obj-$(CONFIG_SCST_DISK) += scst_disk.o obj-$(CONFIG_SCST_TAPE) += scst_tape.o diff --git a/scst/kernel/in-tree/Makefile.scst-2.6.23 b/scst/kernel/in-tree/Makefile.scst-2.6.23 index 09dc56ac9..2a4f338a5 100644 --- a/scst/kernel/in-tree/Makefile.scst-2.6.23 +++ b/scst/kernel/in-tree/Makefile.scst-2.6.23 @@ -1,4 +1,4 @@ -EXTRA_CFLAGS += -Wno-unused-parameter +ccflags-y += -Wno-unused-parameter scst-y += scst_copy_mgr.o scst-y += scst_debug.o diff --git a/scst/src/Makefile b/scst/src/Makefile index f67fb20fd..04b7a43fd 100644 --- a/scst/src/Makefile +++ b/scst/src/Makefile @@ -38,6 +38,35 @@ DEV_HANDLERS_DIR = dev_handlers ifneq ($(PATCHLEVEL),) SCST_INC_DIR := $(KBUILD_EXTMOD)/../include +ccflags-y += -I$(SCST_INC_DIR) $(call cc-option,-Wextra) \ + -Wno-unused-parameter -Wno-missing-field-initializers -Wno-sign-compare\ + $(shell [ -n "${CONFIG_SCST_NO_DLM}" ] && echo -DCONFIG_SCST_NO_DLM) + +#ccflags-y += -DCONFIG_SCST_STRICT_SERIALIZING +#ccflags-y += -DCONFIG_SCST_USE_EXPECTED_VALUES +#ccflags-y += -DCONFIG_SCST_TEST_IO_IN_SIRQ +#ccflags-y += -DCONFIG_SCST_ABORT_CONSIDER_FINISHED_TASKS_AS_NOT_EXISTING +#ccflags-y += -DCONFIG_SCST_DEBUG_RETRY +#ccflags-y += -DCONFIG_SCST_DEBUG_OOM +#ccflags-y += -DCONFIG_SCST_DEBUG_SN +#ccflags-y += -DCONFIG_SCST_DEBUG_SYSFS_EAGAIN + +# If defined, makes SCST zero allocated data buffers. +# Undefining it considerably improves performance and eases CPU load, +# but could create a security hole (information leakage), so +# enable it if you have strict security requirements. +#ccflags-y += -DSCST_STRICT_SECURITY + +-include $(KBUILD_EXTMOD)/../../build_mode + +echo := $(shell echo "scst build mode: $(BUILD_MODE)" >& 2) + +BUILD_MODE_CFLAGS_ = -DCONFIG_SCST_TRACING -DCONFIG_SCST_DEBUG \ + -DCONFIG_SCST_EXTRACHECKS -fno-inline -fno-inline-functions +BUILD_MODE_CFLAGS_RELEASE = -DCONFIG_SCST_TRACING +BUILD_MODE_CFLAGS_PERF = +ccflags-y += $(BUILD_MODE_CFLAGS_$(BUILD_MODE)) + obj-m := scst.o scst-y += scst_main.o @@ -152,36 +181,6 @@ endif INSTALL_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KVER)/extra INSTALL_DIR_H := $(DESTDIR)$(PREFIX)/include/scst -enable-Wextra = $(shell uname_r="$$(uname -r)"; if [ "$${uname_r%.el5}" = "$${uname_r}" ]; then echo "$(1)"; fi) - -EXTRA_CFLAGS += -I$(SCST_INC_DIR) $(call enable-Wextra,-Wextra \ - -Wno-unused-parameter -Wno-missing-field-initializers -Wno-sign-compare) \ - $(shell [ -n "${CONFIG_SCST_NO_DLM}" ] && echo -DCONFIG_SCST_NO_DLM) - -#EXTRA_CFLAGS += -DCONFIG_SCST_STRICT_SERIALIZING - -EXTRA_CFLAGS += -DCONFIG_SCST_EXTRACHECKS - -#EXTRA_CFLAGS += -DCONFIG_SCST_USE_EXPECTED_VALUES -#EXTRA_CFLAGS += -DCONFIG_SCST_TEST_IO_IN_SIRQ -#EXTRA_CFLAGS += -DCONFIG_SCST_ABORT_CONSIDER_FINISHED_TASKS_AS_NOT_EXISTING - -#EXTRA_CFLAGS += -fno-inline - -#EXTRA_CFLAGS += -DCONFIG_SCST_TRACING - -EXTRA_CFLAGS += -DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions -#EXTRA_CFLAGS += -DCONFIG_SCST_DEBUG_RETRY -#EXTRA_CFLAGS += -DCONFIG_SCST_DEBUG_OOM -#EXTRA_CFLAGS += -DCONFIG_SCST_DEBUG_SN -#EXTRA_CFLAGS += -DCONFIG_SCST_DEBUG_SYSFS_EAGAIN - -# If defined, makes SCST zero allocated data buffers. -# Undefining it considerably improves performance and eases CPU load, -# but could create a security hole (information leakage), so -# enable it if you have strict security requirements. -#EXTRA_CFLAGS += -DSCST_STRICT_SECURITY - clean: rm -f *.o *.ko .*.cmd *.mod.c .*.d .depend Modules.symvers \ Module.symvers Module.markers modules.order @@ -194,33 +193,12 @@ extraclean: clean rm -f *.orig *.rej 2release: - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS" Makefile >/dev/null - sed -i.aa s/"^#\?EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/"EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/ Makefile - grep "^EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING" Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions" Makefile >/dev/null - rm Makefile.aa - cd $(DEV_HANDLERS_DIR) && $(MAKE) $@ + -$(MAKE) clean 2debug: - sed -i.aa s/"^#\?EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/"EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/ Makefile - grep "^EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS" Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING" Makefile >/dev/null - sed -i.aa s/"^#\?EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/"EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/ Makefile - grep "^EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions" Makefile >/dev/null - rm Makefile.aa - cd $(DEV_HANDLERS_DIR) && $(MAKE) $@ + -$(MAKE) clean 2perf: - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS" Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING" Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions" Makefile >/dev/null - rm Makefile.aa - cd $(DEV_HANDLERS_DIR) && $(MAKE) $@ + -$(MAKE) clean .PHONY: all install uninstall clean extraclean 2release 2debug 2perf diff --git a/scst/src/dev_handlers/Makefile b/scst/src/dev_handlers/Makefile index 73023ff1d..20855a3b3 100644 --- a/scst/src/dev_handlers/Makefile +++ b/scst/src/dev_handlers/Makefile @@ -32,6 +32,21 @@ SHELL=/bin/bash ifneq ($(PATCHLEVEL),) SCST_INC_DIR := $(KBUILD_EXTMOD)/../include +ccflags-y += -I$(SCST_INC_DIR) \ + $(call cc-option,-Wextra) \ + -Wno-unused-parameter -Wno-missing-field-initializers -Wno-sign-compare +#ccflags-y += -DCONFIG_DEBUG_EXT_COPY_REMAP + +-include $(KBUILD_EXTMOD)/../../build_mode + +echo := $(shell echo "dev_handlers build mode: $(BUILD_MODE)" >& 2) + +BUILD_MODE_CFLAGS_ = -DCONFIG_SCST_TRACING -DCONFIG_SCST_DEBUG \ + -DCONFIG_SCST_EXTRACHECKS -fno-inline -fno-inline-functions +BUILD_MODE_CFLAGS_RELEASE = -DCONFIG_SCST_TRACING +BUILD_MODE_CFLAGS_PERF = +ccflags-y += $(BUILD_MODE_CFLAGS_$(BUILD_MODE)) + obj-m := scst_cdrom.o scst_changer.o scst_disk.o scst_modisk.o scst_tape.o \ scst_vdisk.o scst_raid.o scst_processor.o scst_user.o @@ -72,19 +87,6 @@ uninstall: ########## END OUT-OF-TREE RULES ########## endif -enable-Wextra = $(shell uname_r="$$(uname -r)"; if [ "$${uname_r%.el5}" = "$${uname_r}" ]; then echo "$(1)"; fi) - -EXTRA_CFLAGS += -I$(KBUILD_EXTMOD) -I$(SCST_INC_DIR) \ - $(call enable-Wextra,-Wextra \ - -Wno-unused-parameter -Wno-missing-field-initializers -Wno-sign-compare) - -EXTRA_CFLAGS += -DCONFIG_SCST_EXTRACHECKS - -#EXTRA_CFLAGS += -DCONFIG_SCST_TRACING -EXTRA_CFLAGS += -DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions - -#EXTRA_CFLAGS += -DCONFIG_DEBUG_EXT_COPY_REMAP - clean: rm -f *.o *.ko .*.cmd *.mod.c .*.d .depend Modules.symvers \ Module.symvers Module.markers modules.order @@ -94,30 +96,12 @@ extraclean: clean rm -f *.orig *.rej 2release: - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS" Makefile >/dev/null - sed -i.aa s/"^#\?EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/"EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/ Makefile - grep "^EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING" Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions" Makefile >/dev/null - rm Makefile.aa + -$(MAKE) clean 2debug: - sed -i.aa s/"^#\?EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/"EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/ Makefile - grep "^EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS" Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING" Makefile >/dev/null - sed -i.aa s/"^#\?EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/"EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/ Makefile - grep "^EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions" Makefile >/dev/null - rm Makefile.aa + -$(MAKE) clean 2perf: - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS" Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING" Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions" Makefile >/dev/null - rm Makefile.aa + -$(MAKE) clean .PHONY: all install uninstall clean extraclean 2release 2debug 2perf diff --git a/scst/src/scst_copy_mgr.c b/scst/src/scst_copy_mgr.c index 44a750126..b991f74a5 100644 --- a/scst/src/scst_copy_mgr.c +++ b/scst/src/scst_copy_mgr.c @@ -2727,12 +2727,10 @@ out: return res; } -/* scst_mutex supposed to be held and activities suspended */ void scst_cm_on_dev_unregister(struct scst_device *dev) { TRACE_ENTRY(); - scst_assert_activity_suspended(); lockdep_assert_held(&scst_mutex); scst_cm_dev_unregister(dev, true); diff --git a/scst/src/scst_main.c b/scst/src/scst_main.c index 0246dc3f6..6f2f2173b 100644 --- a/scst/src/scst_main.c +++ b/scst/src/scst_main.c @@ -1331,7 +1331,7 @@ int scst_register_virtual_device_node(struct scst_dev_type *dev_handler, res = mutex_lock_interruptible(&scst_mutex); if (res != 0) - goto out_resume; + goto out; res = scst_alloc_device(GFP_KERNEL, nodeid, &dev); if (res != 0) @@ -1422,13 +1422,10 @@ out_free_dev: if (sysfs_del) scst_dev_sysfs_del(dev); scst_free_device(dev); - goto out_resume; + goto out; out_unlock: mutex_unlock(&scst_mutex); - -out_resume: - scst_resume_activity(); goto out; } EXPORT_SYMBOL_GPL(scst_register_virtual_device_node); @@ -1447,7 +1444,6 @@ void scst_unregister_virtual_device(int id, TRACE_ENTRY(); - scst_suspend_activity(SCST_SUSPEND_TIMEOUT_UNLIMITED); mutex_lock(&scst_mutex); list_for_each_entry(d, &scst_dev_list, dev_list_entry) { @@ -1478,7 +1474,6 @@ void scst_unregister_virtual_device(int id, } mutex_unlock(&scst_mutex); - scst_resume_activity(); scst_dev_sysfs_del(dev); diff --git a/scst_local/Makefile b/scst_local/Makefile index 790329590..a58f35f3f 100644 --- a/scst_local/Makefile +++ b/scst_local/Makefile @@ -6,21 +6,23 @@ SHELL=/bin/bash KMOD := $(shell pwd)/kernel -enable-Wextra = $(shell uname_r="$$(uname -r)"; if [ "$${uname_r%.el5}" = "$${uname_r}" ]; then echo "$(1)"; fi) - -EXTRA_CFLAGS += -I$(SCST_INC_DIR) -EXTRA_CFLAGS += $(call enable-Wextra,-Wextra -Wno-unused-parameter\ - -Wno-missing-field-initializers) - -#EXTRA_CFLAGS += -DCONFIG_SCST_LOCAL_DIRECT_PROCESSING - -EXTRA_CFLAGS += -DCONFIG_SCST_EXTRACHECKS - -#EXTRA_CFLAGS += -DCONFIG_SCST_TRACING - -EXTRA_CFLAGS += -DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions - ifneq ($(PATCHLEVEL),) +ccflags-y += -I$(SCST_INC_DIR) +ccflags-y += $(call cc-option,-Wextra) -Wno-unused-parameter\ + -Wno-missing-field-initializers + +#ccflags-y += -DCONFIG_SCST_LOCAL_DIRECT_PROCESSING + +-include $(KBUILD_EXTMOD)/../build_mode + +echo := $(shell echo "scst_local build mode: $(BUILD_MODE)" >& 2) + +BUILD_MODE_CFLAGS_ = -DCONFIG_SCST_TRACING -DCONFIG_SCST_DEBUG \ + -DCONFIG_SCST_EXTRACHECKS -fno-inline -fno-inline-functions +BUILD_MODE_CFLAGS_RELEASE = -DCONFIG_SCST_TRACING +BUILD_MODE_CFLAGS_PERF = +ccflags-y += $(BUILD_MODE_CFLAGS_$(BUILD_MODE)) + obj-m := scst_local.o else ######### BEGIN OUT-OF-TREE RULES ######### @@ -96,31 +98,13 @@ extraclean: clean rm -f *.orig *.rej 2release: - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS" Makefile >/dev/null - sed -i.aa s/"^#\?EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/"EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/ Makefile - grep "^EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING" Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions" Makefile >/dev/null - rm Makefile.aa + -$(MAKE) clean 2debug: - sed -i.aa s/"^#\?EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/"EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/ Makefile - grep "^EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS" Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING" Makefile >/dev/null - sed -i.aa s/"^#\?EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/"EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/ Makefile - grep "^EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions" Makefile >/dev/null - rm Makefile.aa + -$(MAKE) clean 2perf: - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS" Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING" Makefile >/dev/null - sed -i.aa s/"^E\?XTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions"/ Makefile - grep "^#EXTRA_CFLAGS += \-DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions" Makefile >/dev/null - rm Makefile.aa + -$(MAKE) clean release-archive: ../scripts/generate-release-archive scst_local "$$(sed -n 's/^#define[[:blank:]]SCST_LOCAL_VERSION[[:blank:]]*\"\([^\"]*\)\".*/\1/p' scst_local.c)" diff --git a/scst_local/in-tree/Makefile-2.6.23 b/scst_local/in-tree/Makefile-2.6.23 deleted file mode 100644 index a54bb760e..000000000 --- a/scst_local/in-tree/Makefile-2.6.23 +++ /dev/null @@ -1,6 +0,0 @@ -SCST_INC_DIR := include/scst -SCST_DIR := drivers/scst -EXTRA_CFLAGS += -I$(SCST_INC_DIR) -I$(SCST_DIR) - -obj-$(CONFIG_SCST_LOCAL) += scst_local.o - diff --git a/scst_local/in-tree/Makefile-2.6.24 b/scst_local/in-tree/Makefile-2.6.24 deleted file mode 100644 index ec5e0320c..000000000 --- a/scst_local/in-tree/Makefile-2.6.24 +++ /dev/null @@ -1,6 +0,0 @@ -SCST_INC_DIR := include/scst -SCST_DIR := drivers/scst -ccflags-y += -I$(SCST_INC_DIR) -I$(SCST_DIR) - -obj-$(CONFIG_SCST_LOCAL) += scst_local.o - diff --git a/scst_local/in-tree/Makefile-2.6.25 b/scst_local/in-tree/Makefile-2.6.25 deleted file mode 100644 index ec5e0320c..000000000 --- a/scst_local/in-tree/Makefile-2.6.25 +++ /dev/null @@ -1,6 +0,0 @@ -SCST_INC_DIR := include/scst -SCST_DIR := drivers/scst -ccflags-y += -I$(SCST_INC_DIR) -I$(SCST_DIR) - -obj-$(CONFIG_SCST_LOCAL) += scst_local.o - diff --git a/scst_local/in-tree/Makefile-2.6.26 b/scst_local/in-tree/Makefile-2.6.26 deleted file mode 100644 index ec5e0320c..000000000 --- a/scst_local/in-tree/Makefile-2.6.26 +++ /dev/null @@ -1,6 +0,0 @@ -SCST_INC_DIR := include/scst -SCST_DIR := drivers/scst -ccflags-y += -I$(SCST_INC_DIR) -I$(SCST_DIR) - -obj-$(CONFIG_SCST_LOCAL) += scst_local.o - diff --git a/scst_local/in-tree/Makefile-2.6.27 b/scst_local/in-tree/Makefile-2.6.27 deleted file mode 100644 index ec5e0320c..000000000 --- a/scst_local/in-tree/Makefile-2.6.27 +++ /dev/null @@ -1,6 +0,0 @@ -SCST_INC_DIR := include/scst -SCST_DIR := drivers/scst -ccflags-y += -I$(SCST_INC_DIR) -I$(SCST_DIR) - -obj-$(CONFIG_SCST_LOCAL) += scst_local.o - diff --git a/scst_local/in-tree/Makefile-2.6.28 b/scst_local/in-tree/Makefile-2.6.28 deleted file mode 100644 index ec5e0320c..000000000 --- a/scst_local/in-tree/Makefile-2.6.28 +++ /dev/null @@ -1,6 +0,0 @@ -SCST_INC_DIR := include/scst -SCST_DIR := drivers/scst -ccflags-y += -I$(SCST_INC_DIR) -I$(SCST_DIR) - -obj-$(CONFIG_SCST_LOCAL) += scst_local.o - diff --git a/scst_local/in-tree/Makefile-2.6.29 b/scst_local/in-tree/Makefile-2.6.29 deleted file mode 100644 index ec5e0320c..000000000 --- a/scst_local/in-tree/Makefile-2.6.29 +++ /dev/null @@ -1,6 +0,0 @@ -SCST_INC_DIR := include/scst -SCST_DIR := drivers/scst -ccflags-y += -I$(SCST_INC_DIR) -I$(SCST_DIR) - -obj-$(CONFIG_SCST_LOCAL) += scst_local.o - diff --git a/scst_local/in-tree/Makefile-2.6.30 b/scst_local/in-tree/Makefile-2.6.30 deleted file mode 100644 index ec5e0320c..000000000 --- a/scst_local/in-tree/Makefile-2.6.30 +++ /dev/null @@ -1,6 +0,0 @@ -SCST_INC_DIR := include/scst -SCST_DIR := drivers/scst -ccflags-y += -I$(SCST_INC_DIR) -I$(SCST_DIR) - -obj-$(CONFIG_SCST_LOCAL) += scst_local.o - diff --git a/scst_local/in-tree/Makefile-2.6.31 b/scst_local/in-tree/Makefile-2.6.31 deleted file mode 100644 index ec5e0320c..000000000 --- a/scst_local/in-tree/Makefile-2.6.31 +++ /dev/null @@ -1,6 +0,0 @@ -SCST_INC_DIR := include/scst -SCST_DIR := drivers/scst -ccflags-y += -I$(SCST_INC_DIR) -I$(SCST_DIR) - -obj-$(CONFIG_SCST_LOCAL) += scst_local.o - diff --git a/scst_local/in-tree/Makefile-2.6.32 b/scst_local/in-tree/Makefile-2.6.32 deleted file mode 100644 index ec5e0320c..000000000 --- a/scst_local/in-tree/Makefile-2.6.32 +++ /dev/null @@ -1,6 +0,0 @@ -SCST_INC_DIR := include/scst -SCST_DIR := drivers/scst -ccflags-y += -I$(SCST_INC_DIR) -I$(SCST_DIR) - -obj-$(CONFIG_SCST_LOCAL) += scst_local.o - diff --git a/scst_local/in-tree/Makefile-2.6.33 b/scst_local/in-tree/Makefile-2.6.33 deleted file mode 100644 index ec5e0320c..000000000 --- a/scst_local/in-tree/Makefile-2.6.33 +++ /dev/null @@ -1,6 +0,0 @@ -SCST_INC_DIR := include/scst -SCST_DIR := drivers/scst -ccflags-y += -I$(SCST_INC_DIR) -I$(SCST_DIR) - -obj-$(CONFIG_SCST_LOCAL) += scst_local.o - diff --git a/scst_local/in-tree/Makefile-2.6.34 b/scst_local/in-tree/Makefile-2.6.34 deleted file mode 100644 index ec5e0320c..000000000 --- a/scst_local/in-tree/Makefile-2.6.34 +++ /dev/null @@ -1,6 +0,0 @@ -SCST_INC_DIR := include/scst -SCST_DIR := drivers/scst -ccflags-y += -I$(SCST_INC_DIR) -I$(SCST_DIR) - -obj-$(CONFIG_SCST_LOCAL) += scst_local.o - diff --git a/srpt/Makefile b/srpt/Makefile index 0c0064135..e76306d5f 100644 --- a/srpt/Makefile +++ b/srpt/Makefile @@ -42,10 +42,6 @@ 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 @@ -297,15 +293,12 @@ conftest/use_pre_440_wr_structure/result-$(KVER).txt: \ 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)" diff --git a/srpt/Testing.txt b/srpt/Testing.txt index 285caf016..cfc8fb2fa 100644 --- a/srpt/Testing.txt +++ b/srpt/Testing.txt @@ -108,8 +108,8 @@ Index: srpt/src/ib_srpt.c * Test the state machine for SCST commands in SRPT by using SCST's error injection mechanism. Add the following to scst/src/Makefile, log in from an initiator system and trigger SRP I/O: - EXTRA_CFLAGS += -DCONFIG_SCST_DEBUG -g - EXTRA_CFLAGS += -DCONFIG_SCST_DEBUG_TM -DCONFIG_SCST_TM_DBG_GO_OFFLINE + ccflags-y += -DCONFIG_SCST_DEBUG -g + ccflags-y += -DCONFIG_SCST_DEBUG_TM -DCONFIG_SCST_TM_DBG_GO_OFFLINE * Test with multiple values of ib_srp_tablesize in the range 1..128. diff --git a/srpt/src/Makefile b/srpt/src/Makefile index 763e6cf97..95d8fa11f 100644 --- a/srpt/src/Makefile +++ b/srpt/src/Makefile @@ -1,15 +1,17 @@ LINUXINCLUDE := $(PRE_CFLAGS) $(LINUXINCLUDE) CPPFLAGS := $(PRE_CFLAGS) $(CPPFLAGS) -EXTRA_CFLAGS += -I$(SCST_INC_DIR) +ccflags-y += -I$(SCST_INC_DIR) --include $(KBUILD_EXTMOD)/../build_mode +-include $(KBUILD_EXTMOD)/../../build_mode -SRPTFLAGS = -DCONFIG_SCST_TRACING -DCONFIG_SCST_DEBUG \ +echo := $(shell echo "srpt build mode: $(BUILD_MODE)" >& 2) + +BUILD_MODE_CFLAGS_ = -DCONFIG_SCST_TRACING -DCONFIG_SCST_DEBUG \ -DCONFIG_SCST_EXTRACHECKS -fno-inline -fno-inline-functions -SRPTFLAGSRELEASE = -DCONFIG_SCST_TRACING -SRPTFLAGSPERF = -EXTRA_CFLAGS += $(SRPTFLAGS$(BUILDMODE)) +BUILD_MODE_CFLAGS_RELEASE = -DCONFIG_SCST_TRACING +BUILD_MODE_CFLAGS_PERF = +ccflags-y += $(BUILD_MODE_CFLAGS_$(BUILD_MODE)) -#EXTRA_CFLAGS += -Wextra -Wno-unused-parameter +#ccflags-y += -Wextra -Wno-unused-parameter obj-m += ib_srpt.o diff --git a/usr/events/Makefile b/usr/events/Makefile index 2398b38bc..f98b09283 100644 --- a/usr/events/Makefile +++ b/usr/events/Makefile @@ -22,14 +22,20 @@ CFLAGS += -O2 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes \ PROGS = events LIBS = -lpthread -CFLAGS += -DEXTRACHECKS -#CFLAGS += -DTRACING -CFLAGS += -DDEBUG -g -fno-inline -fno-inline-functions CFLAGS += -W -Wno-unused-parameter CFLAGS += $(LOCAL_CFLAGS) - #CFLAGS += -DDEBUG_NOMEM +-include ../../build_mode + +echo := $(shell echo "usr/events build mode: $(BUILD_MODE)" >& 2) + +BUILD_MODE_CFLAGS_ = -DTRACING -DDEBUG -DEXTRACHECKS \ + -fno-inline -fno-inline-functions +BUILD_MODE_CFLAGS_RELEASE = -DTRACING +BUILD_MODE_CFLAGS_PERF = +CFLAGS += $(BUILD_MODE_CFLAGS_$(BUILD_MODE)) + all: $(PROGS) events: .depend_f $(OBJS_F) @@ -69,31 +75,13 @@ extraclean: clean rm -f *.orig *.rej 2release: - sed -i.aa s/"^C\?FLAGS += \-DEXTRACHECKS"/"#CFLAGS += \-DEXTRACHECKS"/ Makefile - grep "^#CFLAGS += \-DEXTRACHECKS" Makefile >/dev/null - sed -i.aa s/"^#\?CFLAGS += \-DTRACING"/"CFLAGS += \-DTRACING"/ Makefile - grep "^CFLAGS += \-DTRACING" Makefile >/dev/null - sed -i.aa s/"^C\?FLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions"/"#CFLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions"/ Makefile - grep "^#CFLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions" Makefile >/dev/null - rm Makefile.aa + -$(MAKE) clean 2debug: - sed -i.aa s/"^#\?CFLAGS += \-DEXTRACHECKS"/"CFLAGS += \-DEXTRACHECKS"/ Makefile - grep "^CFLAGS += \-DEXTRACHECKS" Makefile >/dev/null - sed -i.aa s/"^C\?FLAGS += \-DTRACING"/"#CFLAGS += \-DTRACING"/ Makefile - grep "^#CFLAGS += \-DTRACING" Makefile >/dev/null - sed -i.aa s/"^#\?CFLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions"/"CFLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions"/ Makefile - grep "^CFLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions" Makefile >/dev/null - rm Makefile.aa + -$(MAKE) clean 2perf: - sed -i.aa s/"^C\?FLAGS += \-DEXTRACHECKS"/"#CFLAGS += \-DEXTRACHECKS"/ Makefile - grep "^#CFLAGS += \-DEXTRACHECKS" Makefile >/dev/null - sed -i.aa s/"^C\?FLAGS += \-DTRACING"/"#CFLAGS += \-DTRACING"/ Makefile - grep "^#CFLAGS += \-DTRACING" Makefile >/dev/null - sed -i.aa s/"^C\?FLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions"/"#CFLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions"/ Makefile - grep "^#CFLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions" Makefile >/dev/null - rm Makefile.aa + -$(MAKE) clean release-archive: ../../scripts/generate-release-archive events "$$(sed -n 's/^#define[[:blank:]]VERSION_STR[[:blank:]]*\"\([^\"]*\)\".*/\1/p' ../include/version.h)" diff --git a/usr/fileio/Makefile b/usr/fileio/Makefile index 9b5870e66..cc6b0796a 100644 --- a/usr/fileio/Makefile +++ b/usr/fileio/Makefile @@ -38,12 +38,8 @@ CFLAGS += -O2 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes \ PROGS = fileio_tgt LIBS = -lpthread -CFLAGS += -DEXTRACHECKS -#CFLAGS += -DTRACING -CFLAGS += -DDEBUG -g -fno-inline -fno-inline-functions CFLAGS += -W -Wno-unused-parameter CFLAGS += $(LOCAL_CFLAGS) - #CFLAGS += -DDEBUG_NOMEM #CFLAGS += -DDEBUG_SENSE #CFLAGS += -DDEBUG_TM_IGNORE @@ -51,6 +47,17 @@ CFLAGS += $(LOCAL_CFLAGS) #CFLAGS += -DDEBUG_TM_IGNORE_ALL CFLAGS += -DDEBUG_EXT_COPY_REMAP +-include ../../build_mode + +echo := $(shell echo "usr/fileio build mode: $(BUILD_MODE)" >& 2) + +BUILD_MODE_CFLAGS_ = -DTRACING -DDEBUG -DEXTRACHECKS \ + -fno-inline -fno-inline-functions +BUILD_MODE_CFLAGS_RELEASE = -DTRACING +BUILD_MODE_CFLAGS_PERF = +CFLAGS += $(BUILD_MODE_CFLAGS_$(BUILD_MODE)) + + all: $(PROGS) fileio_tgt: .depend_f $(OBJS_F) @@ -90,31 +97,13 @@ extraclean: clean rm -f *.orig *.rej 2release: - sed -i.aa s/"^C\?FLAGS += \-DEXTRACHECKS"/"#CFLAGS += \-DEXTRACHECKS"/ Makefile - grep "^#CFLAGS += \-DEXTRACHECKS" Makefile >/dev/null - sed -i.aa s/"^#\?CFLAGS += \-DTRACING"/"CFLAGS += \-DTRACING"/ Makefile - grep "^CFLAGS += \-DTRACING" Makefile >/dev/null - sed -i.aa s/"^C\?FLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions"/"#CFLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions"/ Makefile - grep "^#CFLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions" Makefile >/dev/null - rm Makefile.aa + -$(MAKE) clean 2debug: - sed -i.aa s/"^#\?CFLAGS += \-DEXTRACHECKS"/"CFLAGS += \-DEXTRACHECKS"/ Makefile - grep "^CFLAGS += \-DEXTRACHECKS" Makefile >/dev/null - sed -i.aa s/"^C\?FLAGS += \-DTRACING"/"#CFLAGS += \-DTRACING"/ Makefile - grep "^#CFLAGS += \-DTRACING" Makefile >/dev/null - sed -i.aa s/"^#\?CFLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions"/"CFLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions"/ Makefile - grep "^CFLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions" Makefile >/dev/null - rm Makefile.aa + -$(MAKE) clean 2perf: - sed -i.aa s/"^C\?FLAGS += \-DEXTRACHECKS"/"#CFLAGS += \-DEXTRACHECKS"/ Makefile - grep "^#CFLAGS += \-DEXTRACHECKS" Makefile >/dev/null - sed -i.aa s/"^C\?FLAGS += \-DTRACING"/"#CFLAGS += \-DTRACING"/ Makefile - grep "^#CFLAGS += \-DTRACING" Makefile >/dev/null - sed -i.aa s/"^C\?FLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions"/"#CFLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions"/ Makefile - grep "^#CFLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions" Makefile >/dev/null - rm Makefile.aa + -$(MAKE) clean release-archive: ../../scripts/generate-release-archive fileio_tgt "$$(sed -n 's/^#define[[:blank:]]VERSION_STR[[:blank:]]*\"\([^\"]*\)\".*/\1/p' ../include/version.h)" diff --git a/usr/stpgd/Makefile b/usr/stpgd/Makefile index f4aaaee04..25c541073 100644 --- a/usr/stpgd/Makefile +++ b/usr/stpgd/Makefile @@ -24,14 +24,20 @@ CFLAGS += -O2 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes \ PROGS = stpgd LIBS = -lpthread -CFLAGS += -DEXTRACHECKS -#CFLAGS += -DTRACING -CFLAGS += -DDEBUG -g -fno-inline -fno-inline-functions CFLAGS += -W -Wno-unused-parameter CFLAGS += $(LOCAL_CFLAGS) - #CFLAGS += -DDEBUG_NOMEM +-include ../../build_mode + +echo := $(shell echo "usr/stpgd build mode: $(BUILD_MODE)" >& 2) + +BUILD_MODE_CFLAGS_ = -DTRACING -DDEBUG -DEXTRACHECKS \ + -fno-inline -fno-inline-functions +BUILD_MODE_CFLAGS_RELEASE = -DTRACING +BUILD_MODE_CFLAGS_PERF = +CFLAGS += $(BUILD_MODE_CFLAGS_$(BUILD_MODE)) + all: $(PROGS) stpgd: .depend_f $(OBJS_F) @@ -73,24 +79,13 @@ extraclean: clean rm -f *.orig *.rej 2release: - sed -i.aa s/"^C\?FLAGS += \-DEXTRACHECKS"/"#CFLAGS += \-DEXTRACHECKS"/ Makefile - grep "^#CFLAGS += \-DEXTRACHECKS" Makefile >/dev/null - sed -i.aa s/"^#\?CFLAGS += \-DTRACING"/"CFLAGS += \-DTRACING"/ Makefile - grep "^CFLAGS += \-DTRACING" Makefile >/dev/null - sed -i.aa s/"^C\?FLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions"/"#CFLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions"/ Makefile - grep "^#CFLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions" Makefile >/dev/null - rm Makefile.aa + -$(MAKE) clean 2debug: - sed -i.aa s/"^#\?CFLAGS += \-DEXTRACHECKS"/"CFLAGS += \-DEXTRACHECKS"/ Makefile - grep "^CFLAGS += \-DEXTRACHECKS" Makefile >/dev/null - sed -i.aa s/"^C\?FLAGS += \-DTRACING"/"#CFLAGS += \-DTRACING"/ Makefile - grep "^#CFLAGS += \-DTRACING" Makefile >/dev/null - sed -i.aa s/"^#\?CFLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions"/"CFLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions"/ Makefile - grep "^CFLAGS += \-DDEBUG -g -fno-inline -fno-inline-functions" Makefile >/dev/null - rm Makefile.aa + -$(MAKE) clean -2perf: 2release +2perf: + -$(MAKE) clean release-archive: ../../scripts/generate-release-archive stpgd "$$(sed -n 's/^#define[[:blank:]]VERSION_STR[[:blank:]]*\"\([^\"]*\)\".*/\1/p' ../include/version.h)"