使用autotools生成(和安装)doxygen文档
我正在编写一个库(使用libtools),其中所有API文档都是使用doxygen完成的 我想知道是否有一种简单的方法可以将生成的doxygen文档安装到autotools中 我认为构建文档应该足够简单。 但是一旦我运行了doxygen,将生成的(例如)html文件转换成$(htmldir)的正确方法是什么 问题似乎是我不知道(也不想知道)doxygen将为我创建哪些文件,因此我无法将它们全部枚举到html\u数据中使用autotools生成(和安装)doxygen文档,doxygen,autotools,libtool,Doxygen,Autotools,Libtool,我正在编写一个库(使用libtools),其中所有API文档都是使用doxygen完成的 我想知道是否有一种简单的方法可以将生成的doxygen文档安装到autotools中 我认为构建文档应该足够简单。 但是一旦我运行了doxygen,将生成的(例如)html文件转换成$(htmldir)的正确方法是什么 问题似乎是我不知道(也不想知道)doxygen将为我创建哪些文件,因此我无法将它们全部枚举到html\u数据中 我认为类似于“html_DATA=html/*.*”的想法是一个不好的想法虽然
我认为类似于“html_DATA=html/*.*”的想法是一个不好的想法虽然我自己对自动工具没有太多经验,但对这个邮件线程提出了一些建议,这些建议可能有用:
我使用Oren Ben Kiki的宏,请参见或用谷歌搜索它。该脚本以PDF/HTML/man(可配置)格式创建doxygen文档
将生成的帮助文件添加到Makefile.am中的*dist\u doc\u DATA*列表中,以便安装它们。使用一些贡献的宏可能更紧凑。在这里,我根据约翰·卡尔科特(John Calcote)第246页的《自动工具》(AUTOTOOLS)一书中的示例找到了一个简单的方法 将以下内容添加到正好位于
AC_CONFIG_FILES([Makefile
线
在PROJECTDIR/docs目录中
添加两个文件:Doxyfile.in和Makefile.am
使用替换变量,例如:
PROJECT_NAME = @PACKAGE_NAME@
PROJECT_NUMBER = @PACKAGE_VERSION@
INPUT = @top_srcdir@
然后对其他doxygen配置字段进行适当修改
LATEX_OUTPUT = latex
PDF_HYPERLINKS = YES
USE_PDFLATEX = YES
这样您将生成pdf文件
Makefile.am应该很简单:
if HAVE_DOXYGEN
directory = $(top_srcdir)/docs/man/man3
man_MANS = $(directory)
$(directory): doxyfile.stamp
doxyfile.stamp: Doxyfile
$(DOXYGEN) $^
cd latex && $(MAKE)
echo Timestamp > $@
CLEANFILES = doxyfile.stamp
all-local: doxyfile.stamp
clean-local:
-rm -rf $(top_srcdir)/docs/man
endif
(复制时请确保尊重Makefile缩进。)
这似乎对我有用。生成的文档将在“文档”文件夹中生成。如果我有任何错误,请告诉我。谢谢你的提示。您代码中的建议似乎与我的“html_DATA=html/*.*”相同,因此我从一开始就处于“正确”的轨道上。上面的链接在我的浏览器中是一个空白页。如果链接到外部内容,请在此处也包含答案。我的链接已关闭。doxample现在位于github:,它在autoconf archive
$(top\u builddir)/docs/man
中提供,而不是在$(top\u srcdir)/docs/man
if HAVE_DOXYGEN
directory = $(top_srcdir)/docs/man/man3
man_MANS = $(directory)
$(directory): doxyfile.stamp
doxyfile.stamp: Doxyfile
$(DOXYGEN) $^
cd latex && $(MAKE)
echo Timestamp > $@
CLEANFILES = doxyfile.stamp
all-local: doxyfile.stamp
clean-local:
-rm -rf $(top_srcdir)/docs/man
endif