Jas*_*els 23 c github autotools
我正在为GitHub上托管的库使用autotools.README我想使用而不是使用普通的文本文件README.md.
运行时automake,我收到以下错误
Makefile.am: required file `./README' not found
是否有可能告诉autotools不检查README?
Wil*_*ell 29
只需将foreign选项传递给automake.这告诉它您的软件不符合典型的gnu标准,因此省略README不是错误.通常,这在configure.ac以下情况下完成:
AM_INIT_AUTOMAKE([foreign])
但它也可以通过AUTOMAKE_OPTIONS在Makefile.am中分配来完成:
AUTOMAKE_OPTIONS = foreign
我们正在使用
README: README.md
        fgrep -v "[Build Status]" $< \
                | markdown \
                | html2text -style pretty -nobs \
                | sed -e 's:>:>:g' \
                > $@.tmp
从markdown README.md生成文本README
简单的解决方案,基于 pn fceller的回答:唯一需要的是READMEin的构建规则makefile.am。此规则甚至可以为空。所以只需将以下行添加到您的makefile.am:
README: README.md
就是这样,现在 automake 不再抱怨了,您也不需要将您的项目声明为foreign.
它不是必需的,但我更喜欢更完整的规则,我添加到makefile.am:
README: README.md
    pandoc -f markdown -t plain --wrap=none $< -o $@
CLEANFILES = README
但即使有这个规则,README除非您明确调用,否则不会构建make README。
如果已经拥有一个自述文件,为什么要不要查找它呢?它恰好是markdown格式并保存为README.md。如果您希望自述文件与README.md文件相同,为什么不链接至该文件?
在命令行中:
ln -s README.md README
这样,您就可以保留README.md文件,并且所使用的任何工具仍然可以与标准命名约定一起使用。顺便说一句,自动工具很可能允许您为自述文件指定自定义路径。