diff --git a/Makefile b/Makefile index 712fff1d3..e2af54be2 100644 --- a/Makefile +++ b/Makefile @@ -373,6 +373,7 @@ fcst_extraclean: @if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi @if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi @if [ -d $(SCST_LOCAL_DIR) ]; then cd $(SCST_LOCAL_DIR) && $(MAKE) $@; fi + @if [ -d $(FCST_DIR) ]; then cd $(FCST_DIR) && $(MAKE) $@; fi 2release: extraclean cd $(SCST_DIR) && $(MAKE) $@ @@ -383,6 +384,7 @@ fcst_extraclean: @if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi @if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi @if [ -d $(SCST_LOCAL_DIR) ]; then cd $(SCST_LOCAL_DIR) && $(MAKE) $@; fi + @if [ -d $(FCST_DIR) ]; then cd $(FCST_DIR) && $(MAKE) $@; fi 2debug: extraclean cd $(SCST_DIR) && $(MAKE) $@ @@ -393,6 +395,7 @@ fcst_extraclean: @if [ -d $(ISCSI_DIR) ]; then cd $(ISCSI_DIR) && $(MAKE) $@; fi @if [ -d $(USR_DIR) ]; then cd $(USR_DIR) && $(MAKE) $@; fi @if [ -d $(SCST_LOCAL_DIR) ]; then cd $(SCST_LOCAL_DIR) && $(MAKE) $@; fi + @if [ -d $(FCST_DIR) ]; then cd $(FCST_DIR) && $(MAKE) $@; fi enable_proc: extraclean cd $(SCST_DIR) && $(MAKE) $@ diff --git a/fcst/Makefile b/fcst/Makefile index 9acf310e2..ca9426553 100644 --- a/fcst/Makefile +++ b/fcst/Makefile @@ -38,24 +38,26 @@ endif 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)) + + #SCST_INC_DIR := /usr/local/include/scst #SCST_DIR := $(SCST_INC_DIR) SCST_INC_DIR := $(SUBDIRS)/../scst/include SCST_DIR := $(shell pwd)/../scst/src -EXTRA_CFLAGS += -I$(SCST_INC_DIR) +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)) -EXTRA_CFLAGS += -DSUPPORT_TARGET MODULE_NAME = fcst -EXTRA_CFLAGS += -DMV_DEBUG - INSTALL_DIR := /lib/modules/$(KVER)/extra -#EXTRA_CFLAGS += -DCONFIG_SCST_TRACING -#EXTRA_CFLAGS += -DDEBUG_WORK_IN_THREAD -#EXTRA_CFLAGS += -DCONFIG_SCST_DEBUG - ifneq ($(KERNELRELEASE),) include $(SUBDIRS)/Makefile_in-tree else @@ -73,7 +75,7 @@ install: all 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 @@ -104,4 +106,16 @@ clean: 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) + .PHONY: all tgt install uninstall clean extraclean