* 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
This commit is contained in:
Chris Lattner 2002-05-10 18:51:54 +00:00
parent e04f4b60c6
commit 18f4701b2b
2 changed files with 22 additions and 14 deletions

View File

@ -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

View File

@ -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