diff options
author | Aaron Giles <aaron@aarongiles.com> | 2010-06-11 23:07:16 +0000 |
---|---|---|
committer | Aaron Giles <aaron@aarongiles.com> | 2010-06-11 23:07:16 +0000 |
commit | 7eb08a94fb25f0a76b1b19adb39925e59cf09b78 (patch) | |
tree | cb5ae4a59b804833fb24b51271d81c4dd0fef10f /makefile | |
parent | 10f5966ea5b9745b9c8eb7ed1f7d901eaf586865 (diff) |
Clean up profiling flags in the makefile. Removed GPROF flag, it is now just
PROFILE. When enabled, automatically turn on basic symbols. Also added new
SYMLEVEL option to control the symbols level (defaults to 2). [Aaron Giles]
Diffstat (limited to 'makefile')
-rw-r--r-- | makefile | 38 |
1 files changed, 25 insertions, 13 deletions
@@ -180,9 +180,6 @@ endif # uncomment next line to include the internal profiler # PROFILER = 1 -# uncomment next line to include gprof profiler support -# GPROF = 1 - # uncomment the force the universal DRC to always use the C backend # you may need to do this if your target architecture does not have # a native backend @@ -214,6 +211,10 @@ BUILD_ZLIB = 1 # uncomment next line to include the symbols # SYMBOLS = 1 +# specify symbols level or leave commented to use the default +# (default is SYMLEVEL = 2 normally; use 1 if you only need backtrace) +# SYMLEVEL = 2 + # uncomment next line to include profiling information from the compiler # PROFILE = 1 @@ -254,10 +255,20 @@ endif endif # allow gprof profiling as well, which overrides the internal PROFILER -ifdef GPROF -CCOMFLAGS += -pg +# also enable symbols as it is useless without them +ifdef PROFILE PROFILER = -# LIBS += -lc_p +SYMBOLS = 1 +ifndef SYMLEVEL +SYMLEVEL = 1 +endif +endif + +# set the symbols level +ifdef SYMBOLS +ifndef SYMLEVEL +SYMLEVEL = 2 +endif endif @@ -296,7 +307,7 @@ RM = @rm -f PREFIXSDL = SUFFIX64 = SUFFIXDEBUG = -SUFFIXGPROF = +SUFFIXPROFILE = # Windows SDL builds get an SDL prefix ifeq ($(OSD),sdl) @@ -316,8 +327,8 @@ SUFFIXDEBUG = d endif # gprof builds get an addition 'p' suffix -ifdef GPROF -SUFFIXGPROF = p +ifdef PROFILE +SUFFIXPROFILE = p endif # the name is just 'target' if no subtarget; otherwise it is @@ -329,7 +340,7 @@ NAME = $(TARGET)$(SUBTARGET) endif # fullname is prefix+name+suffix+suffix64+suffixdebug -FULLNAME = $(PREFIX)$(PREFIXSDL)$(NAME)$(SUFFIX)$(SUFFIX64)$(SUFFIXDEBUG)$(SUFFIXGPROF) +FULLNAME = $(PREFIX)$(PREFIXSDL)$(NAME)$(SUFFIX)$(SUFFIX64)$(SUFFIXDEBUG)$(SUFFIXPROFILE) # add an EXE suffix to get the final emulator name EMULATOR = $(FULLNAME)$(EXE) @@ -418,7 +429,7 @@ CCOMFLAGS += -pipe # add -g if we need symbols, and ensure we have frame pointers ifdef SYMBOLS -CCOMFLAGS += -g -fno-omit-frame-pointer +CCOMFLAGS += -g$(SYMLEVEL) -fno-omit-frame-pointer endif # add -v if we need verbose build information @@ -468,6 +479,7 @@ COBJFLAGS += \ -Wpointer-arith + #------------------------------------------------- # include paths #------------------------------------------------- @@ -521,12 +533,10 @@ endif # strip symbols and other metadata in non-symbols and non profiling builds ifndef SYMBOLS -ifndef PROFILE ifneq ($(TARGETOS),macosx) LDFLAGS += -s endif endif -endif # output a map file (emulator only) ifdef MAP @@ -590,6 +600,8 @@ endif # add SoftFloat floating point emulation library SOFTFLOAT = $(OBJ)/libsoftfloat.a + + #------------------------------------------------- # 'default' target needs to go here, before the # include files which define additional targets |