Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 将autotools与README.md一起使用_C_Github_Autotools - Fatal编程技术网

C 将autotools与README.md一起使用

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

我正在为GitHub上托管的库使用autotools。我想使用
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:&gt;:>: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不是吗?:)