From e97ad44d55895d6f5d269b2c316329cbf66e15ac Mon Sep 17 00:00:00 2001 From: James Peach Date: Thu, 9 Feb 2006 23:55:01 +0000 Subject: 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) --- source3/Makefile.in | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'source3/Makefile.in') 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 -- cgit