控制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继续执行。