|
NAMEMake::Functions - Functions in Makefile macrosSYNOPSISrequire Make::Functions; my ($dir) = Make::Functions::dir($fsmap, "x/y"); # $dir now "x" DESCRIPTIONPackage that contains the various functions used by Make.FUNCTIONSImplements GNU-make style functions. The call interface for all these Perl functions is:my @return_list = func($fsmap, @args); The args will have been extracted from the Makefile, comma-separated, as in GNU make. The first arg is a "FSFunctionMap" in Make. wildcardReturns all its args expanded using "glob".shellRuns the command, returns the output with all newlines replaced by spaces.addprefixPrefixes each word in the second arg with first arg:$(addprefix x/,1 2) # becomes x/1 x/2 addsuffixSuffixes each word in the second arg with first arg:$(addprefix /x,1 2) # becomes 1/x 2/x notdirReturns everything after last "/".dirReturns everything up to last "/". If no "/", returns "./".substIn the third arg, replace every instance of first arg with second. E.g.:$(subst .o,.c,a.o b.o c.o) # becomes a.c b.c c.c Since, as with GNU make, all whitespace gets ignored in the expression as written, and the commas cannot be quoted, you need to use variable expansion for some scenarios: comma = , empty = space = $(empty) $(empty) foo = a b c bar = $(subst $(space),$(comma),$(foo)) # bar is now "a,b,c" patsubstLike "subst", but only operates when the pattern is at the end of a word.mktmpLike the dmake macro, but does not support a file argument straight after the macro-name.The text after further whitespace is inserted in a temporary file, whose name is returned. E.g.: $(mktmp $(shell echo hi)) # becomes a temporary filename, and that file contains "hi" COPYRIGHT AND LICENSECopyright (c) 1996-1999 Nick Ing-Simmons.This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Visit the GSP FreeBSD Man Page Interface. |