mirror of
https://github.com/nzp-team/fteqw.git
synced 2024-11-22 12:01:25 +00:00
Added GCC profiling targets "-profile" which is just the release "-rel"
targets but with support for profiling. When FTE is exited cleanly it will create a profiling file (a.out or gmon.out) in the same directory depending on the compiler used. Can then "gprof programname gmon.out > humanreadable.txt" to read the profiling data. git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3372 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
ae4a809407
commit
b773f51349
1 changed files with 35 additions and 5 deletions
|
@ -164,6 +164,7 @@ SNDCODEC_DIR=$(BASE_DIR)/sndcodec
|
|||
|
||||
RELEASE_DIR=$(BASE_DIR)/release
|
||||
DEBUG_DIR=$(BASE_DIR)/debug
|
||||
PROFILE_DIR=$(BASE_DIR)/profile
|
||||
|
||||
ALL_CFLAGS=$(HAVECONFIG) $(CFLAGS) $(BASE_CFLAGS) $(WCFLAGS)
|
||||
|
||||
|
@ -240,6 +241,7 @@ CLIENT_ONLY_CFLAGS=-DCLIENTONLY
|
|||
SERVER_ONLY_CFLAGS=-DSERVERONLY
|
||||
JOINT_CFLAGS=
|
||||
DEBUG_CFLAGS=-ggdb -g
|
||||
PROFILE_CFLAGS=-pg
|
||||
|
||||
ifeq ($(FTE_TARGET),win32)
|
||||
# Let's make sure we're not chasing our tails with MinGW32 compiler bugs
|
||||
|
@ -765,6 +767,7 @@ all: rel
|
|||
rel: sv-rel gl-rel mingl-rel
|
||||
dbg: sv-dbg gl-dbg mingl-dbg
|
||||
relcl: glcl-rel mcl-rel
|
||||
profile: sv-profile gl-profile mingl-profile
|
||||
|
||||
releases:
|
||||
#this is for releasing things from a linux box
|
||||
|
@ -845,18 +848,26 @@ _out-rel:
|
|||
_out-dbg:
|
||||
$(MAKE) $(OUT_DIR)/$(EXE_NAME) EXE_NAME="$(EXE_NAME)" OUT_DIR="$(OUT_DIR)" WCFLAGS="$(WCFLAGS) $(DEBUG_CFLAGS)" LDFLAGS="$(BASELDFLAGS) $(LDFLAGS)" OBJS="$(OBJS)"
|
||||
|
||||
_out-profile:
|
||||
$(MAKE) $(OUT_DIR)/$(EXE_NAME) EXE_NAME="$(EXE_NAME)" OUT_DIR="$(OUT_DIR)" WCFLAGS="$(WCFLAGS) $(PROFILE_CFLAGS)" LDFLAGS="$(BASELDFLAGS) $(LDFLAGS)" OBJS="$(OBJS)"
|
||||
|
||||
_cl-rel: reldir
|
||||
$(MAKE) _out-rel EXE_NAME="$(EXE_NAME)" OUT_DIR="$(OUT_DIR)" WCFLAGS="$(CLIENT_ONLY_CFLAGS) $(WCFLAGS)" LDFLAGS="$(LDFLAGS)" SOBJS="$(SOBJS)" OBJS="SOBJS COMMON_OBJS CLIENT_OBJS PROGS_OBJS"
|
||||
|
||||
_cl-dbg: debugdir
|
||||
$(MAKE) _out-dbg EXE_NAME="$(EXE_NAME)" OUT_DIR="$(OUT_DIR)" WCFLAGS="$(CLIENT_ONLY_CFLAGS) $(WCFLAGS)" LDFLAGS="$(LDFLAGS)" SOBJS="$(SOBJS)" OBJS="SOBJS COMMON_OBJS CLIENT_OBJS PROGS_OBJS"
|
||||
|
||||
_cl-profile: reldir
|
||||
$(MAKE) _out-profile EXE_NAME="$(EXE_NAME)" OUT_DIR="$(OUT_DIR)" WCFLAGS="$(CLIENT_ONLY_CFLAGS) $(WCFLAGS)" LDFLAGS="$(LDFLAGS)" SOBJS="$(SOBJS)" OBJS="SOBJS COMMON_OBJS CLIENT_OBJS PROGS_OBJS"
|
||||
|
||||
_clsv-rel: reldir
|
||||
$(MAKE) _out-rel EXE_NAME="$(EXE_NAME)" OUT_DIR="$(OUT_DIR)" WCFLAGS="$(JOINT_CFLAGS) $(WCFLAGS)" LDFLAGS="$(LDFLAGS)" SOBJS="$(SOBJS)" OBJS="SOBJS COMMON_OBJS CLIENT_OBJS PROGS_OBJS SERVER_OBJS"
|
||||
|
||||
_clsv-dbg: debugdir
|
||||
$(MAKE) _out-dbg EXE_NAME="$(EXE_NAME)" OUT_DIR="$(OUT_DIR)" WCFLAGS="$(JOINT_CFLAGS) $(WCFLAGS)" LDFLAGS="$(LDFLAGS)" SOBJS="$(SOBJS)" OBJS="SOBJS COMMON_OBJS CLIENT_OBJS PROGS_OBJS SERVER_OBJS"
|
||||
|
||||
_clsv-profile: reldir
|
||||
$(MAKE) _out-profile EXE_NAME="$(EXE_NAME)" OUT_DIR="$(OUT_DIR)" WCFLAGS="$(JOINT_CFLAGS) $(WCFLAGS)" LDFLAGS="$(LDFLAGS)" SOBJS="$(SOBJS)" OBJS="SOBJS COMMON_OBJS CLIENT_OBJS PROGS_OBJS SERVER_OBJS"
|
||||
|
||||
sv-tmp: reldir debugdir
|
||||
$(MAKE) $(TYPE) OUT_DIR="$(OUT_DIR)" EXE_NAME="$(SV_EXE_NAME)" WCFLAGS="$(SV_CFLAGS)" LDFLAGS="$(SV_LDFLAGS) $(LDFLAGS)" OBJS="SV_OBJS"
|
||||
|
@ -864,8 +875,8 @@ sv-rel:
|
|||
$(MAKE) sv-tmp TYPE=_out-rel OUT_DIR="$(RELEASE_DIR)/$(SV_DIR)"
|
||||
sv-dbg:
|
||||
$(MAKE) sv-tmp TYPE=_out-dbg OUT_DIR="$(DEBUG_DIR)/$(SV_DIR)"
|
||||
|
||||
|
||||
sv-profile:
|
||||
$(MAKE) sv-tmp TYPE=_out-profile OUT_DIR="$(PROFILE_DIR)/$(SV_DIR)"
|
||||
|
||||
d3dcl-tmp:
|
||||
$(MAKE) $(TYPE) OUT_DIR="$(OUT_DIR)" EXE_NAME="$(D3DCL_EXE_NAME)" WCFLAGS="$(D3D_CFLAGS)" LDFLAGS="$(D3D_LDFLAGS) $(LDFLAGS)" SOBJS="$(D3DCL_OBJS)"
|
||||
|
@ -876,10 +887,15 @@ d3dcl-rel:
|
|||
$(MAKE) d3dcl-tmp TYPE=_cl-rel OUT_DIR="$(RELEASE_DIR)/$(D3DCL_DIR)"
|
||||
d3dcl-dbg:
|
||||
$(MAKE) d3dcl-tmp TYPE=_cl-dbg OUT_DIR="$(DEBUG_DIR)/$(D3DCL_DIR)"
|
||||
d3dcl-profile:
|
||||
$(MAKE) d3dcl-tmp TYPE=_cl-profile OUT_DIR="$(PROFILE_DIR)/$(D3DCL_DIR)"
|
||||
|
||||
d3d-rel:
|
||||
$(MAKE) d3d-tmp TYPE=_clsv-rel OUT_DIR="$(RELEASE_DIR)/$(D3DB_DIR)"
|
||||
d3d-dbg:
|
||||
$(MAKE) d3d-tmp TYPE=_clsv-dbg OUT_DIR="$(DEBUG_DIR)/$(D3DB_DIR)"
|
||||
d3d-profile:
|
||||
$(MAKE) d3d-tmp TYPE=_clsv-profile OUT_DIR="$(PROFILE_DIR)/$(D3DB_DIR)"
|
||||
|
||||
|
||||
npqtvcl-tmp:
|
||||
|
@ -891,11 +907,14 @@ npqtvcl-rel:
|
|||
$(MAKE) npqtvcl-tmp TYPE=_cl-rel OUT_DIR="$(RELEASE_DIR)/$(NPQTVCL_DIR)"
|
||||
npqtvcl-dbg:
|
||||
$(MAKE) npqtvcl-tmp TYPE=_cl-dbg OUT_DIR="$(DEBUG_DIR)/$(NPQTVCL_DIR)"
|
||||
npqtvcl-profile:
|
||||
$(MAKE) npqtvcl-tmp TYPE=_cl-profile OUT_DIR="$(PROFILE_DIR)/$(NPQTVCL_DIR)"
|
||||
npqtv-rel:
|
||||
$(MAKE) npqtv-tmp TYPE=_cl-rel OUT_DIR="$(RELEASE_DIR)/$(NPQTVB_DIR)"
|
||||
npqtv-dbg:
|
||||
$(MAKE) npqtv-tmp TYPE=_clsv-dbg OUT_DIR="$(DEBUG_DIR)/$(NPQTVB_DIR)"
|
||||
|
||||
npqtv-profile:
|
||||
$(MAKE) npqtv-tmp TYPE=_cl-profile OUT_DIR="$(PROFILE_DIR)/$(NPQTVB_DIR)"
|
||||
|
||||
glcl-tmp:
|
||||
$(MAKE) $(TYPE) OUT_DIR="$(OUT_DIR)" EXE_NAME="$(GLCL_EXE_NAME)" WCFLAGS="$(GL_CFLAGS)" LDFLAGS="$(GL_LDFLAGS) $(LDFLAGS)" SOBJS="$(GLCL_OBJS)"
|
||||
|
@ -906,11 +925,14 @@ glcl-rel:
|
|||
$(MAKE) glcl-tmp TYPE=_cl-rel OUT_DIR="$(RELEASE_DIR)/$(GLCL_DIR)"
|
||||
glcl-dbg:
|
||||
$(MAKE) glcl-tmp TYPE=_cl-dbg OUT_DIR="$(DEBUG_DIR)/$(GLCL_DIR)"
|
||||
glcl-profile:
|
||||
$(MAKE) glcl-tmp TYPE=_cl-profile OUT_DIR="$(PROFILE_DIR)/$(GLCL_DIR)"
|
||||
gl-rel:
|
||||
$(MAKE) gl-tmp TYPE=_clsv-rel OUT_DIR="$(RELEASE_DIR)/$(GLB_DIR)"
|
||||
gl-dbg:
|
||||
$(MAKE) gl-tmp TYPE=_clsv-dbg OUT_DIR="$(DEBUG_DIR)/$(GLB_DIR)"
|
||||
|
||||
gl-profile:
|
||||
$(MAKE) gl-tmp TYPE=_clsv-profile OUT_DIR="$(PROFILE_DIR)/$(GLB_DIR)"
|
||||
|
||||
mingl-tmp: reldir
|
||||
$(MAKE) $(TYPE) OUT_DIR="$(OUT_DIR)" EXE_NAME="$(MINGL_EXE_NAME)" WCFLAGS="$(GL_CFLAGS) -DMINIMAL" LDFLAGS="$(GL_LDFLAGS) $(LDFLAGS)" SOBJS="$(GLCL_OBJS)"
|
||||
|
@ -918,7 +940,8 @@ mingl-rel:
|
|||
$(MAKE) mingl-tmp TYPE=_cl-rel OUT_DIR="$(RELEASE_DIR)/$(MINGL_DIR)"
|
||||
mingl-dbg:
|
||||
$(MAKE) mingl-tmp TYPE=_cl-dbg OUT_DIR="$(DEBUG_DIR)/$(MINGL_DIR)"
|
||||
|
||||
mingl-profile:
|
||||
$(MAKE) mingl-tmp TYPE=_cl-profile OUT_DIR="$(PROFILE_DIR)/$(MINGL_DIR)"
|
||||
|
||||
mcl-tmp:
|
||||
$(MAKE) $(TYPE) OUT_DIR="$(OUT_DIR)" EXE_NAME="$(MCL_EXE_NAME)" WCFLAGS="$(M_CFLAGS)" LDFLAGS="$(M_LDFLAGS) $(LDFLAGS)" SOBJS="$(MCL_OBJS)"
|
||||
|
@ -929,10 +952,14 @@ mcl-rel:
|
|||
$(MAKE) mcl-tmp TYPE=_cl-rel OUT_DIR="$(RELEASE_DIR)/$(MCL_DIR)"
|
||||
mcl-dbg:
|
||||
$(MAKE) mcl-tmp TYPE=_cl-dbg OUT_DIR="$(DEBUG_DIR)/$(MCL_DIR)"
|
||||
mcl-profile:
|
||||
$(MAKE) mcl-tmp TYPE=_cl-profile OUT_DIR="$(PROFILE_DIR)/$(MCL_DIR)"
|
||||
m-rel:
|
||||
$(MAKE) m-tmp TYPE=_clsv-rel OUT_DIR="$(RELEASE_DIR)/$(MB_DIR)"
|
||||
m-dbg:
|
||||
$(MAKE) m-tmp TYPE=_clsv-dbg OUT_DIR="$(DEBUG_DIR)/$(MB_DIR)"
|
||||
m-profile:
|
||||
$(MAKE) m-tmp TYPE=_clsv-profile OUT_DIR="$(PROFILE_DIR)/$(MB_DIR)"
|
||||
|
||||
.PHONY: m-tmp mcl-tmp mingl-tmp glcl-tmp gl-tmp sv-tmp _clsv-dbg _clsv-rel _cl-dbg _cl-rel _out-rel _out-dbg
|
||||
|
||||
|
@ -964,6 +991,7 @@ help:
|
|||
@-echo "all - make all the targets possible"
|
||||
@-echo "rel - make the releases for the default system"
|
||||
@-echo "dbg - make the debug builds for the default system"
|
||||
@-echo "profile - make all the releases with profiling support for the default system"
|
||||
@-echo ""
|
||||
@-echo "Normal targets:"
|
||||
@-echo "(each of these targets must have the postfix -rel or -dbg)"
|
||||
|
@ -979,8 +1007,10 @@ help:
|
|||
install:
|
||||
-cp debug/*.* /opt/quake/
|
||||
-cp release/*.* /opt/quake/
|
||||
-cp profile/*.* /opt/quake
|
||||
|
||||
clean:
|
||||
-rm -f -r $(RELEASE_DIR)
|
||||
-rm -f -r $(DEBUG_DIR)
|
||||
-rm -f -r $(PROFILE_DIR)
|
||||
|
||||
|
|
Loading…
Reference in a new issue