manpagez: man pages & more
info make
Home | html | info | man

File: make.info,  Node: Make Control Functions,  Next: Shell Function,  Prev: Flavor Function,  Up: Functions

8.13 Functions That Control Make
================================

These functions control the way make runs.  Generally, they are used to
provide information to the user of the makefile or to cause make to stop
if some sort of environmental error is detected.

'$(error TEXT...)'
     Generates a fatal error where the message is TEXT.  Note that the
     error is generated whenever this function is evaluated.  So, if you
     put it inside a recipe or on the right side of a recursive variable
     assignment, it won't be evaluated until later.  The TEXT will be
     expanded before the error is generated.

     For example,

          ifdef ERROR1
          $(error error is $(ERROR1))
          endif

     will generate a fatal error during the read of the makefile if the
     'make' variable 'ERROR1' is defined.  Or,

          ERR = $(error found an error!)

          .PHONY: err
          err: ; $(ERR)

     will generate a fatal error while 'make' is running, if the 'err'
     target is invoked.

'$(warning TEXT...)'
     This function works similarly to the 'error' function, above,
     except that 'make' doesn't exit.  Instead, TEXT is expanded and the
     resulting message is displayed, but processing of the makefile
     continues.

     The result of the expansion of this function is the empty string.

'$(info TEXT...)'
     This function does nothing more than print its (expanded)
     argument(s) to standard output.  No makefile name or line number is
     added.  The result of the expansion of this function is the empty
     string.

© manpagez.com 2000-2024
Individual documents may contain additional copyright information.