2014-02-11 120 views
1

每次我需要觸摸一個不重要的makefile時,都需要花時間來調整眼睛/大腦的語法。爲了使調整更順暢,我正在尋找一種良好的編碼風格(基本上是換行符和縮進,這會在不破壞代碼的情況下提高可讀性)。有沒有人碰到一個好的?gnu 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)]) 
    ) 
) 
+0

如果您在線路的兩端加反斜槓的例子應該工作。 – MadScientist

+0

@MadScientist - 我會接受作爲答案,我喜歡最終的外觀 – bobah

回答

1

你可以打破一個功能最任何你想要的,但你必須換行前添加一個反斜槓。

一個例外是逗號前面的空格被保存在某種函數中,所以在構造文件名等時要小心,在添加嵌入的空白時可能會導致問題。

鑑於你上面的例子,它會工作爲:

$$(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)])\ 
    )\ 
)