Makefile将所有参数传递给另一个文件

时间:2019-02-16 07:54:15

标签: bash shell makefile sh

我有一个bin/test.sh文件,可以从我的makefile文件中调用它:

test:
    bin/test.sh

我喜欢将所有参数(即$@)传递到我的测试文件,因此,如果我要进行make test -a arg1 -b arg2 -c arg3 -d,我的测试文件将获得-a arg1 -b arg2 -c arg3 -d的全部。

我不想在测试文件中手动定义所有这些参数。我只想传递一切!

1 个答案:

答案 0 :(得分:3)

make由选项列表和目标列表调用。

因此您的示例命令行很可能会给出有关以下内容的错误:

  • 未定义的选项-a-c
  • 没有规则来建立目标arg1arg2

我认为与您要求的最接近的是:

TEST_ARGS='-a arg1 -b arg2 -c arg3 -d' make test

带有包含以下内容的Makefile:

test:
    bin/test.sh $(TEST_ARGS)