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

FreeBSD Manual Pages


home | help

       makeppbuiltin --	Stand-alone access to builtin commands in makepp

       ?: -?,  A: -A,
	 --arguments-file,  D: $DIRECTNAMEFLAGS,  H: -h,
	 --help,  I: -I,
	 --include-dir,	 M: -M,
	 --module,  V: -V,

       makeppbuiltin [ metaoption ... ]	command	-?|--help

       mppb [ metaoption ... ] command -?|--help

       makeppbuiltin [ metaoption ... ]	command	[ option ... ]
       [ argument ... ]

       mppb [ metaoption ... ] command [ option	... ] [	argument ... ]


       ln makeppbuiltin	command

       command -?|--help

       command [ option	... ] [	argument ... ]

       This command allows you to call the builtin commands makepp provides,
       from outside makepp as well.  This could	be necessary if	you've
       installed things	with Makeppfile	targets	that use &install, but there
       is no corresponding &uninstall target.  Or you need a feature not
       usually found in	the Unix counterparts like "ln -r".  That's what this
       command is for.

       The commands get	a simple additional "--help" option, which their
       builtin counterparts lack.  This	works by parsing the command's option
       declaration.  It	cannot however find out, what other arguments the
       command expects.

       The metaoptions allow loading your own command or helper	functions, but
       only if it comes	from a module.	Valid options are:

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

	   Print out a brief summary of	the options.

       -I directory
	   Add directory to Perl load path @INC.

       -M module[=arg,...]
	   Load	module and import any functions	it exports.

	   Print out the version number.

       If you like to call such	a command more frequently, you can call	it
       directly, by linking "makeppbuiltin" to the name	of that	command.  The
       name of the builtin can occur anywhere within the file-name without
       directory.  So any of the following links would invoke the builtin
       "template" command (but the last	would need to be escaped from the


       There are a few notable differences between the usual call within a
       Makeppfile rule,	and a stand-alone call:

	   Builtin commands are	not parsed by the Shell	within makepp.	There
	   are subtle differences in how makepp	quotes work, e.g. dollar signs
	   are expanded	by makepp even within single quotes, and need to be
	   doubled to escape them.  Various characters,	like "*", "&" or "|"
	   are not special to makepp and need not be escaped.

	   Difference: To start	the command stand-alone	you are	probably using
	   a Shell.  Here you must adapt such special cases to the syntactical
	   requirements	of the Shell.

       Variables and Functions
	   Before makepp executes the rule actions, they will already have
	   undergone expression	expansion of makepp variables and functions.

	   Difference: When called from	the Shell, you will instead get
	   unprotected Shell variables and expressions expanded, before	the
	   comand is called.

       Perl Code
	   Each	Makeppfile lives in its	own (anonymous)	Perl package.
	   Anything you	do therein is available	when running builtin commands.
	   For example,	you can	set variables or define	functions, and use
	   them	within the Perl	code of	those commands that accept it.

	   Difference: In stand-alone usage there is no	such context.
	   Everything you need,	must be	in the Perl code you pass the command,
	   or in modules you use.

       Makeppbuiltin looks at the following environment	variables:

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

	   This	variable is used instead of $MAKEPPBUILTINFLAGS	when
	   makeppbuiltin is linked to directname as explained under "DIRECT

       Daniel Pfeiffer (

perl v5.32.0			  2012-02-05		      MAKEPPBUILTIN(1)


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

home | help