mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
* 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:
parent
e04f4b60c6
commit
18f4701b2b
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user