传递参数以在Makefile中调用

时间:2016-07-19 17:38:47

标签: makefile

我有一个Makefile,在命令行上设置了大量可能的变量。我希望能够在我的makefile中有一个使用参数的目标,然后使用各种选项从Make中调用它:



GUI ?= 0
DEBUG ?= 0
VERBOSE ?= 0

run_prog:
  $(MYPROG) $(GUI) $(DEBUG) $(VERBOSE)

run_prog_gui: 
  $(MAKE) run_prog GUI=1

run_prog_debug:
  $(MAKE) run_prog DEBUG=1




问题在于我无法判断用户是否覆盖了其中一个变量:

% make run_prog_debug VERBOSE=1

我希望能够将传递给我的所有变量传递给run_prog中的run_prog_gui目标。

make中是否有变量为您提供了命令行中设置的所有变量的字符串?

1 个答案:

答案 0 :(得分:1)

事实证明这是自动发生的。在设置了变量的shell中进行递归调用。

https://www.gnu.org/software/make/manual/make.html#Recursion