GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Make::Functions(3) User Contributed Perl Documentation Make::Functions(3)

Make::Functions - Functions in Makefile macros

    require Make::Functions;
    my ($dir) = Make::Functions::dir($fsmap, "x/y");
    # $dir now "x"

Package that contains the various functions used by Make.

Implements 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.

Returns all its args expanded using "glob".

Runs the command, returns the output with all newlines replaced by spaces.

Prefixes each word in the second arg with first arg:

    $(addprefix x/,1 2)
    # becomes x/1 x/2

Suffixes each word in the second arg with first arg:

    $(addprefix /x,1 2)
    # becomes 1/x 2/x

Returns everything after last "/".

Returns everything up to last "/". If no "/", returns "./".

In 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"

Like "subst", but only operates when the pattern is at the end of a word.

Like 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 (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.

2020-12-23 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.