Domanda

Sto scrivendo una biblioteca (usando libtools), dove tutta la documentazione API viene eseguita usando DOXYGEN.

Mi chiedo se c'è un modo semplice per integrare l'installazione della documentazione doxygen generata in AutoTools.

Immagino che la costruzione della documentazione dovrebbe essere abbastanza facile. Ma una volta che ho corso Doxygen, qual è il modo corretto per ottenere i file generati (ad esempio) .html in $ (htmldir)?

Il problema sembra essere che non so (né voglio sapere) quali file doxygen creeranno per me, quindi non posso davvero enumerarli tutti in html_data

Immagino qualcosa come 'HTML_DATA= HTML /*.*' è un Bad IDEA

È stato utile?

Soluzione

Mentre non ho molta esperienza con AutoTools me stesso, vengono effettuati diversi suggerimenti su questo thread di posta che potrebbe essere utile: http://old.nabble.comHow-to-Install-Documentazione generata da html-Generato-Generato - TD17029178.html

Altri suggerimenti

Potrebbe essere più compatto usare alcune macro contribuite.Qui ho capito un metodo semplice basato sugli esempi dal libro di autootools da John Calcote PG 246.

Aggiungi quanto segue per configure.ac appena sopra il

AC_CONFIG_FILES([Makefile
.

Linea

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])])
.

Nella directory del progettoDir / docs

Aggiungi due file: doxyfile.in e makefile.am

Utilizzare la variabile di sostituzione ad esempio:

PROJECT_NAME           = @PACKAGE_NAME@
PROJECT_NUMBER         = @PACKAGE_VERSION@
INPUT                  = @top_srcdir@
.

Quindi apportare modifiche corrette ad altri campi di configurazione DOXYGEN.

LATEX_OUTPUT           = latex
PDF_HYPERLINKS         = YES
USE_PDFLATEX           = YES
.

In questo modo genererai il file PDF.

the makefile.am dovrebbe essere semplice:

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
.

(Assicurati di rispettare la rientranza del makefile mentre copia questo.)

Questo sembrava aver funzionato per me.La documentazione risultante viene generata nella cartella Docs.Per favore fatemi sapere se ho fatto errori.

Io uso la macro di Oren Ben-Kiki, vedere http://www.ben-kiki.org/oren/doxample/ o Google.Lo script crea la documentazione DOXYGEN in formato PDF / HTML / Man (configurabile).

Aggiungi i file di guida generati all'elenco * distan_doc_data * in Makefile.am, per averli installati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top