Coding style gnu makefile编码风格

Coding style gnu makefile编码风格,coding-style,makefile,gnu-make,Coding Style,Makefile,Gnu Make,每次我需要触摸一个重要的makefile时,都需要时间来调整眼睛/大脑的语法。为了使适应过程更加流畅,我正在寻找一种好的编码风格(基本上是换行和缩进,这样可以在不破坏代码的情况下提高可读性)。有人见过好的吗 $$(foreach name,$$(BUILDERS_$$(TARGET_TYPE)_ARGS),$$(if $$(filter undefined,$$(origin TARGET_$$(name))),$$(error [$$(TARGET_NAME)] is missing mand

每次我需要触摸一个重要的makefile时,都需要时间来调整眼睛/大脑的语法。为了使适应过程更加流畅,我正在寻找一种好的编码风格(基本上是换行和缩进,这样可以在不破坏代码的情况下提高可读性)。有人见过好的吗

$$(foreach name,$$(BUILDERS_$$(TARGET_TYPE)_ARGS),$$(if $$(filter undefined,$$(origin TARGET_$$(name))),$$(error [$$(TARGET_NAME)] is missing mandatory argument [$$(name)] for the builder [$$(TARGET_TYPE)])))
类似下面的东西,但工作正常

$$(foreach name,$$(BUILDERS_$$(TARGET_TYPE)_ARGS),
    $$(if $$(filter undefined,$$(origin TARGET_$$(name))),
        $$(error [$$(TARGET_NAME)] is missing mandatory argument [$$(name)] for the builder [$$(TARGET_TYPE)])
    )
)

您可以在任何地方打断函数,但必须在换行符之前添加反斜杠

一个例外是,在某些函数中,逗号前的空格是保留的,因此在构建文件名等时要小心,因为添加嵌入的空格可能会导致问题

根据上面的示例,其工作原理如下:

$$(foreach name,$$(BUILDERS_$$(TARGET_TYPE)_ARGS),\
    $$(if $$(filter undefined,$$(origin TARGET_$$(name))),\
        $$(error [$$(TARGET_NAME)] is missing mandatory argument [$$(name)] for the builder [$$(TARGET_TYPE)])\
    )\
)

如果你在行尾加上反斜杠,这个例子应该可以用。@Madscitist-我接受这个答案,我喜欢结果的外观