• 控制make的函数

    控制make的函数

    make提供了一些函数来控制make的运行。通常,你需要检测一些运行Makefile时的运行时信息,并且根据这些信息来决定,你是让make继续执行,还是停止。

    1. $(error <text ...>)

    产生一个致命的错误, <text …> 是错误信息。注意,error函数不会在一被使用就会产生错误信息,所以如果你把其定义在某个变量中,并在后续的脚本中使用这个变量,那么也是可以的。例如:

    示例一:

    1. ifdef ERROR_001
    2. $(error error is $(ERROR_001))
    3. endif

    示例二:

    1. ERR = $(error found an error!)
    2.  
    3. .PHONY: err
    4.  
    5. err: $(ERR)

    示例一会在变量ERROR_001定义了后执行时产生error调用,而示例二则在目录err被执行时才发生error调用。

    1. $(warning <text ...>)

    这个函数很像error函数,只是它并不会让make退出,只是输出一段警告信息,而make继续执行。