summaryrefslogtreecommitdiff
path: root/source3/Makefile.in
diff options
context:
space:
mode:
authorJames Peach <jpeach@samba.org>2006-02-09 23:55:01 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:10:01 -0500
commite97ad44d55895d6f5d269b2c316329cbf66e15ac (patch)
treee62145ee70e3d80849650a04968b13a616ecbf91 /source3/Makefile.in
parente6d847d8c463d3577fd2eb9810bf6e49c530cc10 (diff)
downloadsamba-e97ad44d55895d6f5d269b2c316329cbf66e15ac.tar.gz
samba-e97ad44d55895d6f5d269b2c316329cbf66e15ac.tar.bz2
samba-e97ad44d55895d6f5d269b2c316329cbf66e15ac.zip
r13420: Support profile-guided optimisation in the build system. This is
implemented for gcc 3.x, gcc 4.x and MIPSPro compilers. (This used to be commit 5e57021723f091a33021c30557cace2b70acf172)
Diffstat (limited to 'source3/Makefile.in')
-rw-r--r--source3/Makefile.in28
1 files changed, 28 insertions, 0 deletions
diff --git a/source3/Makefile.in b/source3/Makefile.in
index d8f7dcf519..3dace60331 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -17,6 +17,13 @@ CFLAGS=@CFLAGS@
CPPFLAGS=@CPPFLAGS@
EXEEXT=@EXEEXT@
LDFLAGS=@LDFLAGS@
+
+PGO_GENERATE_CFLAGS=@PGO_GENERATE_CFLAGS@
+PGO_USE_CFLAGS=@PGO_USE_CFLAGS@
+PGO_EXPERIMENT_SCRIPT=@PGO_EXPERIMENT_SCRIPT@
+PGO_LIBS=@PGO_LIBS@
+PGO_TARGET=bin/smbd
+
AR=@AR@
LDSHFLAGS=@LDSHFLAGS@ @LDFLAGS@
WINBIND_NSS_LDSHFLAGS=@WINBIND_NSS_LDSHFLAGS@ @LDFLAGS@
@@ -793,6 +800,24 @@ cac: SHOWFLAGS bin/libmsrpc.@SHLIBEXT@ bin/libmsrpc.a
everything: all libsmbclient debug2html smbfilter talloctort modules torture \
$(EVERYTHING_PROGS)
+# Top level target to build $(PGO_TARGET) with profiling data. Use sub-makes to
+# make sure that parallel make does not perturb this sequence.
+@ifPGO@pgo:
+@ifPGO@ $(MAKE) pgo-generate
+@ifPGO@ $(MAKE) pgo-workload
+@ifPGO@ $(MAKE) clean
+@ifPGO@ $(MAKE) headers
+@ifPGO@ $(MAKE) pgo-use
+
+@ifPGO@pgo-generate:
+@ifPGO@ $(MAKE) CFLAGS="$(CFLAGS) $(PGO_GENERATE_CFLAGS)" "LIBS=$(LIBS) $(PGO_LIBS)" $(PGO_TARGET)
+
+@ifPGO@pgo-workload:
+@ifPGO@ $(SHELL) $(PGO_EXPERIMENT_SCRIPT)
+
+@ifPGO@pgo-use:
+@ifPGO@ $(MAKE) CFLAGS="$(CFLAGS) $(PGO_USE_CFLAGS)" $(PGO_TARGET)
+
.SUFFIXES:
.SUFFIXES: .c .o .@PICSUFFIX@ .lo
@@ -803,6 +828,8 @@ SHOWFLAGS:
@echo " LDFLAGS = $(LDFLAGS)"
@echo " PIE_CFLAGS = @PIE_CFLAGS@"
@echo " PIE_LDFLAGS = @PIE_LDFLAGS@"
+@ifPGO@ @echo " PGO_GENERATE_CFLAGS = $(PGO_GENERATE_CFLAGS)"
+@ifPGO@ @echo " PGO_USE_CFLAGS = $(PGO_USE_CFLAGS)"
MAKEDIR = || exec false; \
if test -d "$$dir"; then :; else \
@@ -1615,6 +1642,7 @@ ctags:
realclean: clean delheaders
-rm -f config.log bin/.dummy script/findsmb
+@ifPGO@ -rm -f *.gcno *.gcda *.da */*.gcno */*.gcda */*.da
distclean: realclean
-rm -f include/stamp-h