使用一些贡献的MACRO可能会更紧凑。在这里,我必须想出一个简单的方法,基于由约翰Calcote皮克从自动工具书中的例子246
添加以下的configure.ac略高于
AC_CONFIG_FILES([Makefile
线
AC_CHECK_PROGS([DOXYGEN], [doxygen])
if test -z "$DOXYGEN"; then
AC_MSG_WARN([Doxygen not found - continue without Doxygen support])
fi
AC_CHECK_PROGS([DOT], [dot])
if test -z "$DOT"; then
AC_MSG_ERROR([Doxygen needs dot, please install dot first])
fi
AC_CHECK_PROGS([PDFLATEX], [pdflatex])
if test -z "$PDFLATEX"; then
AC_MSG_ERROR([Doxygen needs pdflatex program, it is part of TeX http://www.tug.org/texlive/acquire-netinstall.html])
fi
AM_CONDITIONAL([HAVE_DOXYGEN], [test -n "$DOXYGEN"])
AM_COND_IF([HAVE_DOXYGEN], [AC_CONFIG_FILES([docs/Doxyfile])])
AM_COND_IF([HAVE_DOXYGEN], [AC_CONFIG_FILES([docs/Makefile])])
在PROJECTDIR/docs目录
添加两个文件:Doxyfile.in和Makefile.am
例如用产品的替代变量:
PROJECT_NAME = @[email protected]
PROJECT_NUMBER = @[email protected]
INPUT = @[email protected]
然后作出适当的修改,以其他的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 > [email protected]
CLEANFILES = doxyfile.stamp
all-local: doxyfile.stamp
clean-local:
-rm -rf $(top_srcdir)/docs/man
endif
(请确保你尊重的Makefile压痕而复制此。)
这似乎为我工作。生成的文档在docs文件夹中生成。如果我犯了错误,请让我知道。
感谢提示。您的代码中的建议似乎与我的“html_DATA = html /*.*”相当,所以看起来我从一开始就处于“正确”轨道。 –
上面的链接是我浏览器中的空白页面 –
如果链接到外部内容,那么也可以在这里包含答案。链接对我来说很重要。 – ePirat