From 18f4701b2b984e1eb92a2d4c4e6739395dec4b78 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 10 May 2002 18:51:54 +0000 Subject: [PATCH] * Allow a profile'd code build to be done with a simple 'make ENABLE_PROFILING=1' * Only build tags for include, lib, and tools, not tests * Turn on verbose output from bison to get information about shift/reduce conficts (why isn't this the default??) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2603 91177308-0d34-0410-b5e6-96231b3b80d8 --- Makefile.common | 18 +++++++++++------- Makefile.rules | 18 +++++++++++------- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/Makefile.common b/Makefile.common index a376a113cab..03bca7e7df7 100644 --- a/Makefile.common +++ b/Makefile.common @@ -49,14 +49,18 @@ PURIFY = /usr/dcs/applications/purify/bin/purify -cache-dir="$(HOME)/purifycache RunBurg = $(BURG) $(BURG_OPTS) # Enable this for profiling support with 'gprof' -#Prof = -pg +ifdef ENABLE_PROFILING +PROFILE = -pg +else +PROFILE = +endif # TODO: Get rid of exceptions! : -fno-exceptions -fno-rtti # -Wno-unused-parameter -CompileCommonOpts = $(Prof) -Wall -W -Wwrite-strings -Wno-unused -I$(LEVEL)/include +CompileCommonOpts = $(PROFILE) -Wall -W -Wwrite-strings -Wno-unused -I$(LEVEL)/include # Compile a file, don't link... -Compile = $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CompileCommonOpts) +Compile = $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CompileCommonOpts) $(PROFILE) CompileG = $(Compile) -g -D_DEBUG CompileO = $(Compile) -O3 -DNDEBUG -finline-functions -felide-constructors -fnonnull-objects -freg-struct-return -fshort-enums @@ -66,7 +70,7 @@ CompileO = $(Compile) -O3 -DNDEBUG -finline-functions -felide-constructors -fnon ifdef ENABLE_PURIFY Link = $(PURIFY) $(CXX) $(Prof) -static else -Link = LD_RUN_PATH=/usr/dcs/software/evaluation/encap/gcc-3.0.4/lib $(CXX) $(Prof) +Link = LD_RUN_PATH=/usr/dcs/software/evaluation/encap/gcc-3.0.4/lib $(CXX) $(PROFILE) endif LinkG = $(Link) -g -L $(LEVEL)/lib/Debug LinkO = $(Link) -O3 -L $(LEVEL)/lib/Release @@ -121,7 +125,7 @@ LIBNAME_G := $(LEVEL)/lib/Debug/lib$(LIBRARYNAME).so LIBNAME_AO := $(LEVEL)/lib/Release/lib$(LIBRARYNAME).a LIBNAME_AG := $(LEVEL)/lib/Debug/lib$(LIBRARYNAME).a -all:: $(LIBNAME_AG) +all:: $(LIBNAME_AG) ###$(LIBNAME_AO) dynamic:: $(LIBNAME_G) # TODO: Enable optimized builds @@ -152,7 +156,7 @@ endif ifeq ($(LEVEL), .) tags: - etags -l c++ `find . -name '*.cpp' -o -name '*.h'` + etags -l c++ `find include lib tools -name '*.cpp' -o -name '*.h'` all:: tags @@ -232,7 +236,7 @@ Debug/%.o: %.cpp Debug/.dir Depend/.dir # Rule for building the bison parsers... %.cpp %.h : %.y - bison -d -p $(<:%Parser.y=%) $(basename $@).y + bison -v -d -p $(<:%Parser.y=%) $(basename $@).y mv -f $(basename $@).tab.c $(basename $@).cpp mv -f $(basename $@).tab.h $(basename $@).h diff --git a/Makefile.rules b/Makefile.rules index a376a113cab..03bca7e7df7 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -49,14 +49,18 @@ PURIFY = /usr/dcs/applications/purify/bin/purify -cache-dir="$(HOME)/purifycache RunBurg = $(BURG) $(BURG_OPTS) # Enable this for profiling support with 'gprof' -#Prof = -pg +ifdef ENABLE_PROFILING +PROFILE = -pg +else +PROFILE = +endif # TODO: Get rid of exceptions! : -fno-exceptions -fno-rtti # -Wno-unused-parameter -CompileCommonOpts = $(Prof) -Wall -W -Wwrite-strings -Wno-unused -I$(LEVEL)/include +CompileCommonOpts = $(PROFILE) -Wall -W -Wwrite-strings -Wno-unused -I$(LEVEL)/include # Compile a file, don't link... -Compile = $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CompileCommonOpts) +Compile = $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CompileCommonOpts) $(PROFILE) CompileG = $(Compile) -g -D_DEBUG CompileO = $(Compile) -O3 -DNDEBUG -finline-functions -felide-constructors -fnonnull-objects -freg-struct-return -fshort-enums @@ -66,7 +70,7 @@ CompileO = $(Compile) -O3 -DNDEBUG -finline-functions -felide-constructors -fnon ifdef ENABLE_PURIFY Link = $(PURIFY) $(CXX) $(Prof) -static else -Link = LD_RUN_PATH=/usr/dcs/software/evaluation/encap/gcc-3.0.4/lib $(CXX) $(Prof) +Link = LD_RUN_PATH=/usr/dcs/software/evaluation/encap/gcc-3.0.4/lib $(CXX) $(PROFILE) endif LinkG = $(Link) -g -L $(LEVEL)/lib/Debug LinkO = $(Link) -O3 -L $(LEVEL)/lib/Release @@ -121,7 +125,7 @@ LIBNAME_G := $(LEVEL)/lib/Debug/lib$(LIBRARYNAME).so LIBNAME_AO := $(LEVEL)/lib/Release/lib$(LIBRARYNAME).a LIBNAME_AG := $(LEVEL)/lib/Debug/lib$(LIBRARYNAME).a -all:: $(LIBNAME_AG) +all:: $(LIBNAME_AG) ###$(LIBNAME_AO) dynamic:: $(LIBNAME_G) # TODO: Enable optimized builds @@ -152,7 +156,7 @@ endif ifeq ($(LEVEL), .) tags: - etags -l c++ `find . -name '*.cpp' -o -name '*.h'` + etags -l c++ `find include lib tools -name '*.cpp' -o -name '*.h'` all:: tags @@ -232,7 +236,7 @@ Debug/%.o: %.cpp Debug/.dir Depend/.dir # Rule for building the bison parsers... %.cpp %.h : %.y - bison -d -p $(<:%Parser.y=%) $(basename $@).y + bison -v -d -p $(<:%Parser.y=%) $(basename $@).y mv -f $(basename $@).tab.c $(basename $@).cpp mv -f $(basename $@).tab.h $(basename $@).h -- 2.34.1