Makefile - 提供可选参数

Makefile - 提供可选参数

我对脚本和 makefile 非常陌生,并且对命令行参数的传递感到好奇。因此,假设我有一个 makefile,它可以用 C 语言编译和运行某些内容,例如

CompileAndRun: CompileFile RunFile
    
CompileFile:
    (Compiling code)

RunFile:
    ./Program

我会这样称呼它

make CompileAndRun

我想要发生的是,如果我输入

make CompileAndRun Argument

然后它会编译,然后执行

./Program Argument

我该怎么办呢?

答案1

执行此操作的惯用方法是传递多变的然后您可以在 Makefile 中引用它,例如:

CompileAndRun: CompileFile RunFile
    
CompileFile:
    (Compiling code)

RunFile:
    ./Program $(ARGUMENTS)

您现在可以make RunFile在不带任何参数的情况下运行它,或者make ARGUMENTS="foo bar" RunFile使用两个参数foo和来运行它bar。请注意,您不能以这种方式传递包含空格字符的参数。

相关内容