From 3532bd33dfaff9038cc0ad4bda37970bbc91bcfb Mon Sep 17 00:00:00 2001 From: Richard Sharpe Date: Sat, 4 Sep 2010 19:14:29 +0000 Subject: [PATCH] Add support for make debug2release, release2debug debug2perf and perf2debug. This now only needs to be switched on in the master makefile. git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@2055 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- scst_local/Makefile | 42 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/scst_local/Makefile b/scst_local/Makefile index 727a86740..644902064 100644 --- a/scst_local/Makefile +++ b/scst_local/Makefile @@ -6,16 +6,18 @@ #SCST_DIR := $(SCST_INC_DIR) SCST_INC_DIR := $(SUBDIRS)/../scst/include/ SCST_DIR := $(shell pwd)/../scst/src +KMOD := $(shell pwd)/kernel EXTRA_CFLAGS += -I$(SCST_INC_DIR) -I$(SCST_DIR) EXTRA_CFLAGS += -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -#EXTRA_CFLAGS += -DCONFIG_SCST_LOCAL_FORCE_DIRECT_PROCESSING +#EXTRA_CFLAGS += -DCONFIG_SCST_LOCAL_FORCE_DIRECT_PROCESSING -EXTRA_CFLAGS += -DCONFIG_SCST_EXTRACHECKS +EXTRA_CFLAGS += -DCONFIG_SCST_EXTRACHECKS -#EXTRA_CFLAGS += -DCONFIG_SCST_TRACING -EXTRA_CFLAGS += -DCONFIG_SCST_DEBUG +#EXTRA_CFLAGS += -DCONFIG_SCST_TRACING + +EXTRA_CFLAGS += -DCONFIG_SCST_DEBUG -g -fno-inline -fno-inline-functions ifeq ($(KVER),) ifeq ($(KDIR),) @@ -68,4 +70,36 @@ clean: extraclean: clean +debug2release: + sed -i.aa s/"^EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/ Makefile + @cmp Makefile Makefile.aa >/dev/null; if [[ $$? = 0 ]]; then rm Makefile.aa; echo "sed failed"; false; fi + sed -i.aa s/"#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/"EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/ Makefile + @cmp Makefile Makefile.aa >/dev/null; if [[ $$? = 0 ]]; then rm Makefile.aa; echo "sed failed"; false; fi + 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 + @cmp Makefile Makefile.aa >/dev/null; if [[ $$? = 0 ]]; then rm Makefile.aa; echo "sed failed"; false; fi + rm Makefile.aa + +release2debug: + sed -i.aa s/"#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/"EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/ Makefile + @cmp Makefile Makefile.aa >/dev/null; if [[ $$? = 0 ]]; then rm Makefile.aa; echo "sed failed"; false; fi + sed -i.aa s/"^EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_TRACING"/ Makefile + @cmp Makefile Makefile.aa >/dev/null; if [[ $$? = 0 ]]; then rm Makefile.aa; echo "sed failed"; false; fi + 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 + @cmp Makefile Makefile.aa >/dev/null; if [[ $$? = 0 ]]; then rm Makefile.aa; echo "sed failed"; false; fi + rm Makefile.aa + +debug2perf: + sed -i.aa s/"^EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/"#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/ Makefile + @cmp Makefile Makefile.aa >/dev/null; if [[ $$? = 0 ]]; then rm Makefile.aa; echo "sed failed"; false; fi + 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 + @cmp Makefile Makefile.aa >/dev/null; if [[ $$? = 0 ]]; then rm Makefile.aa; echo "sed failed"; false; fi + rm Makefile.aa + +perf2debug: + sed -i.aa s/"#EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/"EXTRA_CFLAGS += \-DCONFIG_SCST_EXTRACHECKS"/ Makefile + @cmp Makefile Makefile.aa >/dev/null; if [[ $$? = 0 ]]; then rm Makefile.aa; echo "sed failed"; false; fi + 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 + @cmp Makefile Makefile.aa >/dev/null; if [[ $$? = 0 ]]; then rm Makefile.aa; echo "sed failed"; false; fi + rm Makefile.aa + .PHONY: all tgt install uninstall clean extraclean