使用一些貢獻的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