.dep.inc文件中的末尾

时间:2019-01-24 16:09:08

标签: jenkins netbeans makefile netbeans-7 preprocessor

我正在为詹金斯(Jenkins)提供工作,以通过make file为我的代码构建二进制文件。如果在.dep.inc文件中,它显示无关的错误,我试图更改Net Bean的配置。

此文件是从Net Bean中的自动生成的Make文件中生成的。在Net Bean中,它正在编译,但在Jenkins中,它正在显示错误。*

# dependency checking support
.depcheck-impl:
    @echo "# This code depends on make tool being used" >.dep.inc
    @if [ -n "${MAKE_VERSION}" ]; then \
        echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \
        echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \
        echo "include \$${DEPFILES}" >>.dep.inc; \
        echo "endif" >>.dep.inc; \
    else \
        echo ".KEEP_STATE:" >>.dep.inc; \
        echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \
    fi

1 个答案:

答案 0 :(得分:0)

您正在使用BASH语法而不是Makefile。一种选择是使用Makefile的条件结构: Conditional Parts of Makefiles

另一种方法是在同一行中定义整个BASH指令,如下所示:

if [ <condition>]; then <action1>; else <action2>; fi

在Makefile中,目标的每一行都可以是SHELL,但是您不应拆分它们。

最后,您可以使用“定义”环境插入BASH代码:

define <name>=
<BASH code>
<...>
<name>: ; @$(value <name>)
.ONESHELL

希望您发现它有用!