MAKEPPBUILTIN(1)
π¦ NAME π¦
makeppbuiltin β stand-alone access to builtin commands in makepp. yes bestie, the makepp builtins are getting their own β¨solo eraβ¨.
π DESCRIPTION π
okay so first things first, here's the lil flag index so you can find what lives where:
?: -?, A: -A,
--args-file,
--arguments-file, D: $DIRECTNAMEFLAGS, H: -h,
--help, I: -I,
--include,
--include-dir, M: -M,
$MAKEPPBUILTINFLAGS,
--module, V: -V,
--version
and here's how you actually call this thing:
makeppbuiltin [ metaoption ... ] command -?|--help
mppb [ metaoption ... ] command -?|--help
makeppbuiltin [ metaoption ... ] command [ option ... ] [ argument ... ]
mppb [ metaoption ... ] command [ option ... ] [ argument ... ]
or, and this is the fun one:
ln makeppbuiltin command
command -?|--help
command [ option ... ] [ argument ... ]
so what does it do? it lets you call the builtin commands that makepp provides, from outside makepp too. not me needing this literally all the time π. it's necessary when you've installed stuff with Makeppfile targets that use &install, but there's no matching &uninstall target. or when you want a feature that the regular Unix counterparts just don't have, like ln -r. that's the whole point of this command, periodt.
the commands get a simple extra --help option, which their builtin counterparts do not have. it works by parsing the command's option declaration. it cannot, however, find out what other arguments the command expects. lowkey limited but we love her anyway π
the metaoptions let you load your own command or helper functions β but only if it comes from a module. valid options are:
-A filename,--args-file=filename,--arguments-file=filenameβ read the file and parse it as possibly quoted whitespace- and/or newline-separated options.-?,-h,--helpβ print out a brief summary of the options.-I directory,--include=directory,--include-dir=directoryβ add directory to the Perl load path@INC.-M module[=arg,...],--module=module[=arg,...]β load module and import any functions it exports.-V,--versionβ print out the version number.
π DIRECT CALL π
if you wanna call one of these commands constantly, you can just call it directly by linking makeppbuiltin to the name of that command. the name of the builtin can appear anywhere inside the file-name, no directory needed. so literally any of these links would invoke the builtin template command β but the last one needs to be escaped from the Shell, iykyk:
template
template.pl
makepptemplate
templatepp
&template
β¨ DIFFERENCES β¨
there are a few notable differences between the usual call inside a Makeppfile rule and a stand-alone call:
π Syntax π
builtin commands are not parsed by the Shell within makepp. there are subtle differences in how makepp quoting works β for example, dollar signs get expanded by makepp even inside single quotes, and you need to double them to escape them. and various characters like "*", "&" or "|" aren't special to makepp at all, so no escaping needed.
Difference: to start the command stand-alone you're probably using a Shell. here you gotta adapt those special cases to whatever the Shell's syntax demands. no cap.
πΈ Variables and Functions πΈ
before makepp executes the rule actions, they will already have gone through expression expansion of makepp variables and functions.
Difference: when called from the Shell, you instead get unprotected Shell variables and expressions expanded, before the command is called.
π¦ Perl Code π¦
every Makeppfile lives in its own (anonymous) Perl package. anything you do in there is available when running builtin commands. like, you can set variables or define functions, and use them inside the Perl code of those commands that accept it. main character energy fr.
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. so pack your bags accordingly π
π ENVIRONMENT π
makeppbuiltin looks at the following environment variables:
$MAKEPPBUILTINFLAGSβ any flags in this environment variable are interpreted as command line options before any explicit options. quotes are interpreted like in makefiles.$DIRECTNAMEFLAGSβ this variable is used instead of$MAKEPPBUILTINFLAGSwhenmakeppbuiltinis linked to directname as explained under "DIRECT CALL".
π AUTHOR π
Daniel Pfeiffer (occitan@esperanto.org)
and that's the whole page bestie π this one came to you courtesy of perl v5.32.0, dated 2021-01-06 β iconic, timeless, we stan. slay π«Ά
π¦ where this page comes from
- debian bookworm: makepp 2.0.98.5-2.1
- ubuntu jammy: makepp 2.0.98.5-2.1
- ubuntu noble: makepp 2.0.98.5-2.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms