Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
MAKEPPLOG(1)			    Makepp			  MAKEPPLOG(1)

       makepplog -- Textual analysis of	the build log

       ?: -?,  A: -A,
	 --arguments-file,  C: -C,
	 --current-working-directory-and-up,  F: -f,
	 --follow,  H: -h,
	 --help,  I: -i,
	 --install-dirs,  K: -K,
	 --keys,  L: -l,
	 --log-file,  M: $MAKEPPLOGFLAGS,  N: -n,
	 --no-indent,  O: -o,
	 --output,  P: -p,
	 --prefix,  S: --showkey,  T: -t,
	 --tabulate,  U: -u,
	 --unique,  V: -V,

       makepplog option	...

       mppl option ...

       Makepp by default writes	a detailed log of its decision finding and
       actions.	 So as to not waste its	time with pretty printing, this	data
       is dumped in a compact but fairly cryptic format.  This tool does the
       pretty printing in various formats.  For	a less detailed	but even
       prettier	graphical view see makeppgraph.

       This is solely based on the contents of the log file, so	it can be
       performed at any	time, and even on a different machine.	Valid options

       -A filename
	   Read	the file and parse it as possibly quoted whitespace- and/or
	   newline-separated options.

       -C number
	   The first two options strip the current directory from the front of
	   all filenames it outputs.  The second two additionally replace
	   number directories up from here, with the necessary number of ../

	   These options only work meaningfully	when you call makepplog	in the
	   same	directory makepp ran, or one near there.

	   As in "tail"	command, process more lines of logfile as it grows.

	   Print out a brief summary of	the options.

	   These options replace the invocation	of makepp and the pathes to
	   the built in	makefiles with .../ so as to keep odd pathes out of
	   your	sight.

       -k list
	   The list specifies one or more space	separated Shell	style patterns
	   (with [xyz],	?, *, {a,bc,def}).  Remember to	protect	these from
	   your	Shell by quoting.  These are matched against the message keys
	   (as shown by	"--showkey").  Each pattern may	be preceded with an
	   exclamation mark ("!") or a caret ("^") to exclude the matched keys
	   from	those selected before instead of adding	them to	the selection.
	   If the first	pattern	starts with an exclamation mark, it operates
	   on all keys.	 There are a few key prefixes with fixed meanings so
	   you can select categories of	keys:

	   BC* All build cache related messages.

	       All build reason	related	messages.

	       All makefile loading related messages.

	       All repository related messages.

	       All rule	related	messages.

	       All scanning related messages.

	       --keys='LOAD* RULE*'	   # Only makefile loading and rule messages.
	       --keys='!BUILD* *CMD'	   # No	build messages,	except BUILD_CMD.

	   This	prefixes each output line with the internal name of the
	   message key,	for use	with "--keys".

       -l filename
	   The filename	is to where makepp wrote its log.  It may also be a
	   directory, in which a file called .makepp/log or log	will be
	   searched.  To read from stdin, you must give	- as a filename.  When
	   this	option is not given, it	defaults to the	current	directory.

	   This	option can be given multiple times, e.g. for merging all the
	   logs	from "--traditional-recursive-make".  But it will get the
	   message version information,	which keeps track of message formats,
	   only	from the first file.  So if you	feed it	log files from
	   different version of	makepp in the same invocation, output can get
	   a bit messed	up.

	   Makepp puts indentation information into the	log file to show you
	   what	happened because of what else.	This option turns indentation

       -o filename
	   Write the output to this file, rather than stdout.

	   Prefix every	structured message with	the string "makepplog: ".
	   IDEs	like Emacs can then parse the lines and	hyperlink to the
	   mentioned files.

	   Put each list item on a new line, rather than outputting a line
	   that	can easily become longer than a	screenful.

	   Report each found include statement and each	scan output only once.

	   Print out the version number.

       If you want to know which file includes which other file, and nothing

	   makeppclean -r
	   makepp		       # Full build to scan all	source files.
	   makepplog -p	'/^INCL$/'

       If you want to format lines with	a prefix so Emacs' compilation-mode
       can parse the lines and exclude all scanning related messages:

	   makepplog -mp '!/^SCAN/'

       If you want to explore which keys you can exclude or include in the
       above manners:

	   makepplog -kn

       Makepplog looks at the following	environment variable:

	   Any flags in	this environment variable are interpreted as command
	   line	options	before any explicit options.  Quotes are interpreted
	   like	in makefiles.

       Daniel Pfeiffer (

perl v5.32.1			  2012-02-07			  MAKEPPLOG(1)


Want to link to this manual page? Use this URL:

home | help