使用autotools填充生成的人页

问题描述 投票:0回答:1

我有一些男人页,用马达克(Markdown)写。 (请参阅下面的规则将.md转换为.1或.5))

我想在分布式tarball中分发.md文件并安装.1和.5口味 在/usr/local/man/...

在makefile.am:

中使用它
dist_man1_MANS = einksysstat.md
dist_man5_MANS = einksysstat.config.md

man1_MANS = einksysstat.1
man5_MANS = einksysstat.config.5

CLEANFILES = $(man1_MANS) $(man5_MANS)


einksysstat.1: einksysstat.md
    pandoc -f markdown -t plain --wrap=none $< -o $@

einksysstat.config.5: einksysstat.config.md
    pandoc -f markdown -t plain --wrap=none $< -o $@

$使远程检查---工作效果很好

如何“ install-man”删除错误的文件

$ make install-man
 /usr/bin/mkdir -p '/usr/local/share/man/man1'
 /usr/bin/install -c -m 644 'einksysstat.md' '/usr/local/share/man/man1/einksysstat.1'
tarball包含einksysstat.md和einksysstat.config.md(而不是.1&.5口味) 我想在tarball中有.md(即)


如果我更改此操作以匹配以下示例:

optional手册?或预先编译的分配? (不是我想要的,因为它分发了文件的.1和.5口味)

TO:

dist_man5_MANS = einksysstat.config.5 CLEANFILES = $(dist_man1_MANS) $(dist_man5_MANS)
现在安装正确的文件(使用源树)

$ make install-man /usr/bin/mkdir -p '/usr/local/share/man/man5' /usr/bin/install -c -m 644 einksysstat.config.5 '/usr/local/share/man/man5'
但使距离失败:

make[3]: *** No rule to make target 'einksysstat.config.md', needed by 'einksysstat.config.5'. Stop. make[3]: Leaving directory '/home/graeme/src/eink_sysstat/clean_repo/eink_sysstat/gpv-eink-1.0-2-g0dde6ca-dirty/_build/sub' make[2]: *** [Makefile:591: all-recursive] Error 1 make[2]: Leaving directory '/home/graeme/src/eink_sysstat/clean_repo/eink_sysstat/gpv-eink-1.0-2-g0dde6ca-dirty/_build/sub' make[1]: *** [Makefile:398: all] Error 2 make[1]: Leaving directory '/home/graeme/src/eink_sysstat/clean_repo/eink_sysstat/gpv-eink-1.0-2-g0dde6ca-dirty/_build/sub' make: *** [Makefile:808: distcheck] Error 1
tarball包含.1和.5版本,但不包含.md口味。 (这就是为什么上述错误的原因)


autotools
1个回答
2
投票
*.md

或 项目的高级

*_MANS
。在后一种情况下 用相对于该高级
EXTRA_DIST
的完整路径列出它们。例如
Makefile.am
Automake手册:14.1分销基础知识:

...
尽管所有这些自动包含都包含在
分布式是自动规则未找到的。您应该列出
这些文件在extra_dist变量中。您可以在Extra_dist中的子目录中提及文件。

您不希望您的
Makefile.am
文件由自动规则处理。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.