我使用autotools託管在GitHub上的庫。而不是使用普通的README
文本文件,我想使用README.md
。使用自動工具與README.md
當運行automake
,我收到以下錯誤
Makefile.am: required file `./README' not found
是否可以告訴自動工具不檢查README
?
我使用autotools託管在GitHub上的庫。而不是使用普通的README
文本文件,我想使用README.md
。使用自動工具與README.md
當運行automake
,我收到以下錯誤
Makefile.am: required file `./README' not found
是否可以告訴自動工具不檢查README
?
只需將foreign
選項傳遞給automake即可。這告訴它你的軟件不符合典型的GNU標準,因此省略README不是錯誤。通常,這是在做configure.ac
:
AM_INIT_AUTOMAKE([foreign])
,但它也可以通過在Makefile.am分配AUTOMAKE_OPTIONS
完成:
AUTOMAKE_OPTIONS = foreign
爲什麼要求在已經有README文件時不要查找自己的README文件?它恰好處於降價格式並保存爲README.md。如果您希望自述文件與您的README.md文件相同,爲何不鏈接到它?
在命令行:
ln -s README.md README
這樣,你要保持你的README.md文件並使用仍然能夠使用標準的命名約定工作的任何工具。順便說一句,autotools很可能允許您爲自述指定一個自定義路徑。
我當然不想要這個。這只是令人困惑。 – 2013-02-21 23:54:24
我們使用
README: README.md
fgrep -v "[Build Status]" $< \
| markdown \
| html2text -style pretty -nobs \
| sed -e 's:>:>:g' \
> [email protected]
用於生成文本自述文件README.md
謝謝!但爲什麼這麼複雜?不會 自述文件:README.md cat $ < > $ @。tmp 嗎? :) – Ax3l 2016-07-27 16:39:55
簡單解決方案,基於pn fceller的回答:唯一需要的是README
的構建規則,其格式爲makefile.am
。這條規則甚至可以是空的。所以只需添加下面一行到你的makefile.am
:
README: README.md
這一切,現在的automake不抱怨了,而且你不需要申報項目爲foreign
。
這是不需要的,但我更喜歡一個更完整的規則,我添加到makefile.am
:
README: README.md
pandoc -f markdown -t plain --wrap=none $< -o [email protected]
CLEANFILES = README
不過,即使這個規則,README
未建,除非你明確要求make README
。
太棒了,謝謝。請注意,其他人需要在更改'configure.ac'後運行'autoreconf'。 – 2013-02-22 00:01:46