如何在gnu makefile目标中默认使用env变量

时间:2016-08-29 00:23:19

标签: makefile gnu-make

我想做这样的事情

test.install:
        export BUILD_NUMBER=${BUILD_NUMBER:-$${ANOTHER_VAR}}

但它不起作用。它总是空白

编辑:

这很好用。如果我在调用make命令之前在shell中导出BUILD_NUMBER

test.install:
        export BUILD_NUMBER=${BUILD_NUMBER}

他们没有工作。他们都给出了空白的BUILD_NUMBER

test.install:
        export BUILD_NUMBER=${BUILD_NUMBER:-$${ANOTHER_VAR}}

test.install:
        export BUILD_NUMBER=${BUILD_NUMBER:-55}}

1 个答案:

答案 0 :(得分:2)

如果你想在bash而不是makefile中扩展变量,你需要转义扩展,否则make会寻找一个字面上称为BUILD_NUMBER:-${ANOTHER_VAR}BUILD_NUMBER:-55

test.install:
        export BUILD_NUMBER=$${BUILD_NUMBER:-$${ANOTHER_VAR}}

test.install:
        export BUILD_NUMBER=$${BUILD_NUMBER:-55}}