0
我對makefile規則下開始(感謝別人的幫助),但它不是做得比較工作尚未:棘手的makefile語法
test_svn_version:
@if [ $$(svn --version --quiet \
perl -ne '@a=split(/\./); \
print $$a[0]*10000 + $$a[1]*100 + $$a[2]') \
-lt 10600 ]; \
then \
echo >&2 "Svn version $$(svn --version --quiet) too old; upgrade to v1.6";
false; \
fi
似乎在有條件的單引號無法比擬的。
請幫助更正語法。我嘗試了很多變體,但沒有一個看起來是正確的。
謝謝。
- 威廉
該示例缺少svn命令之後的管道(|)和echo之後的反斜槓。這些只是在例子中的拼寫錯誤,還是他們從源頭上錯過了? – 2009-12-08 16:29:49
通常更容易使用長線條和一個可以處理它的編輯器,而不是放入大量反斜槓。不過,我仍然將perl命令放在一行上。或者讓svn版本進入Make變量,並且在make中做更多的邏輯。還有用於比較版本號的工具。您不必解析版本號並將其添加到整數中......雖然在這種情況下看起來很簡單。 – 2009-12-08 21:18:16