Make file echo displaying “$PATH” string

前端 未结 2 1503
借酒劲吻你
借酒劲吻你 2020-12-23 16:22

I am trying to force make file to display next string:

\"Please execute next commands:
setenv PATH /usr/local/greenhills/mips5/linux86:$PATH\"
2条回答
  •  一生所求
    2020-12-23 17:05

    In the manual for GNU make, they talk about this specific example when describing the value function:

    The value function provides a way for you to use the value of a variable without having it expanded. Please note that this does not undo expansions which have already occurred; for example if you create a simply expanded variable its value is expanded during the definition; in that case the value function will return the same result as using the variable directly.

    The syntax of the value function is:

     $(value variable)
    

    Note that variable is the name of a variable; not a reference to that variable. Therefore you would not normally use a ‘$’ or parentheses when writing it. (You can, however, use a variable reference in the name if you want the name not to be a constant.)

    The result of this function is a string containing the value of variable, without any expansion occurring. For example, in this makefile:

     FOO = $PATH
    
     all:
             @echo $(FOO)
             @echo $(value FOO)
    

    The first output line would be ATH, since the “$P” would be expanded as a make variable, while the second output line would be the current value of your $PATH environment variable, since the value function avoided the expansion.

提交回复
热议问题