C 将autotools与README.md一起使用
我正在为GitHub上托管的库使用autotools。我想使用C 将autotools与README.md一起使用,c,github,autotools,C,Github,Autotools,我正在为GitHub上托管的库使用autotools。我想使用README.md,而不是使用普通的README文本文件 运行automake时,出现以下错误 Makefile.am: required file `./README' not found 可以告诉autotools不要检查自述文件吗?既然你已经有了自述文件,为什么要让它不要查找你的自述文件呢?它恰好是降价格式,并保存为README.md。如果希望自述文件与README.md文件相同,为什么不链接到它 从命令行: ln -s RE
README.md
,而不是使用普通的README
文本文件
运行automake
时,出现以下错误
Makefile.am: required file `./README' not found
可以告诉autotools不要检查自述文件吗?既然你已经有了自述文件,为什么要让它不要查找你的自述文件呢?它恰好是降价格式,并保存为README.md。如果希望自述文件与README.md文件相同,为什么不链接到它 从命令行:
ln -s README.md README
这样,您就可以保留README.md文件,并且您使用的任何工具仍然能够使用标准命名约定。顺便说一句,autotools很可能允许您为自述文件指定自定义路径。只需将
外来
选项传递给automake即可。这说明您的软件不符合典型的gnu标准,因此省略README不是错误。通常,这是在configure.ac
中完成的:
AM_INIT_AUTOMAKE([foreign])
但也可以通过在Makefile.am中指定AUTOMAKE_选项来完成:
AUTOMAKE_OPTIONS = foreign
我们正在使用
README: README.md
fgrep -v "[Build Status]" $< \
| markdown \
| html2text -style pretty -nobs \
| sed -e 's:>:>:g' \
> $@.tmp
README:README.md
fgrep-v“[构建状态]”$<\
|降价\
|html2text-风格漂亮-nobs\
|sed-e's::>:g'\
>$@.tmp
要从markdown README.md生成文本自述,simples解决方案基于pn的回答:唯一需要的是makefile.am中README
的生成规则。这个规则甚至可以是空的。因此,只需将以下行添加到makefile.am
:
README: README.md
README: README.md
pandoc -f markdown -t plain --wrap=none $< -o $@
CLEANFILES = README
就这些,现在automake不再抱怨了,您不需要将您的项目声明为“国外”
它不是必需的,但我更喜欢一个更完整的规则,我添加到makefile.am
:
README: README.md
README: README.md
pandoc -f markdown -t plain --wrap=none $< -o $@
CLEANFILES = README
README:README.md
pandoc-f降价-t普通--wrap=none$<-o$@
CLEANFILES=自述文件
但即使有了这条规则,自述文件
也不会生成,除非您显式调用使自述文件
很棒,谢谢。注意:对于其他人,更改configure.ac
后需要运行autoreconf
。谢谢!但为什么这么复杂?自述文件:README.md cat$<>$@.tmp不是吗?:)