Initial website generation-fu using Doxygen

* doc/website/mainpage.txt: New file representing the input for
	the website.
	* doc/website/libabigail-website.doxy: New file representing the
	doxygen configuration for the website generation.
	* doc/api/libabigail.doxy: Output doxygen generation warnings into
	a file.
	* doc/Makefile.am: Support generating the website from doxygen.
	Update the api generation relevant macros names for better
	consistency.  Make "make html" generate the website too.  Make
	"make clean" erase the website bits too.  Add a 'website'
	target to make the website.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
This commit is contained in:
Dodji Seketeli 2013-08-21 14:58:03 +02:00
parent 56253ee20a
commit 2927145da4
4 changed files with 2025 additions and 17 deletions

View File

@ -1,34 +1,56 @@
html: $(DO_HTML)
install-html: $(DO_INSTALL_HTML)
website: website-html-doxygen
DO_HTML = doc-html-doxygen
DO_HTML = doc-html-doxygen website-html-doxygen
DO_INSTALL_HTML = doc-install-html-doxygen
#doxygen
DOXY_SRC_CFG = ${abs_srcdir}/api/libabigail.doxy
DOXY_BLD_DIR = ${abs_builddir}/api
DOXY_BLD_CFG = ${abs_builddir}/api/html.doxy
DOXY_API_SRC_CFG = ${abs_srcdir}/api/libabigail.doxy
DOXY_API_BLD_DIR = ${abs_builddir}/api
DOXY_API_BLD_CFG = ${abs_builddir}/api/html.doxy
DOXY_WEBSITE_BLD_DIR = ${abs_builddir}/website
DOXY_WEBSITE_SRC_CFG = ${abs_srcdir}/website/libabigail-website.doxy
DOXY_WEBSITE_BLD_CFG = ${abs_builddir}/website/libabigail-website.doxy
$(DOXY_BLD_DIR):
if test ! -d $(DOXY_BLD_DIR); then \
mkdir -p $(DOXY_BLD_DIR); \
$(DOXY_API_BLD_DIR):
if test ! -d $(DOXY_API_BLD_DIR); then \
mkdir -p $(DOXY_API_BLD_DIR); \
fi
doxygen-cfg: $(DOXY_SRC_CFG) $(DOXY_BLD_DIR)
sed -e "s=LIBABIGAIL_INPUT=${abs_srcdir}/..=g" < $(DOXY_SRC_CFG) \
> $(DOXY_BLD_CFG)
$(DOXY_WEBSITE_BLD_DIR):
if test ! -d $(DOXY_WEBSITE_BLD_DIR); then \
mkdir -p $(DOXY_WEBSITE_BLD_DIR); \
fi
doc-html-doxygen: doxygen-cfg
doxygen $(DOXY_BLD_CFG)
doxygen-api-cfg: $(DOXY_API_SRC_CFG) $(DOXY_API_BLD_DIR)
sed -e "s=LIBABIGAIL_INPUT=${abs_srcdir}/..=g" < $(DOXY_API_SRC_CFG) \
> $(DOXY_API_BLD_CFG)
sed -i -e "s=LIBABIGAIL_OUTPUT=${abs_builddir}/..=g" $(DOXY_API_BLD_CFG)
doxygen-website-cfg: $(DOXY_WEBSITE_SRC_CFG) $(DOXY_WEBSITE_BLD_DIR)
sed -e "s=LIBABIGAIL_INPUT=${abs_srcdir}/..=g" < $(DOXY_WEBSITE_SRC_CFG) \
> $(DOXY_WEBSITE_BLD_CFG)
sed -i -e "s=LIBABIGAIL_OUTPUT=${abs_builddir}/..=g" $(DOXY_WEBSITE_BLD_CFG)
doc-html-doxygen: doxygen-api-cfg
doxygen $(DOXY_API_BLD_CFG)
website-html-doxygen: doxygen-website-cfg
doxygen $(DOXY_WEBSITE_BLD_CFG)
doc-install-html-doxygen: doc-html-doxygen
test -z ${htmldir} || $(mkinstalldirs) ${htmldir}
cp -r ${DOXY_BLD_DIR} "$(DESTDIR)@docdir@"
test -z "$(DESTDIR)@docdir@" || $(mkinstalldirs) "$(DESTDIR)@docdir@"
cp -r ${DOXY_API_BLD_DIR} "$(DESTDIR)@docdir@"
website-install-html-doxygen: doxygen-website-cfg
test -z "$(DESTDIR)@docdir@/website" || $(mkinstalldirs) "$(DESTDIR)@docdir@/website"
cp -r $(DOXY_WEBSITE_BLD_DIR) "$(DESTDIR)@docdir@/website"
# By adding these files here, automake will remove them for 'make clean'
CLEANFILES = api/html.doxy
CLEANFILES = $(DOXY_API_BLD_CFG) $(DOXY_WEBSITE_BLD_CFG)
# To remove directories.
clean-local:
rm -rf api
rm -rf $(DOXY_API_BLD_DIR) $(DOXY_WEBSITE_BLD_DIR)

View File

@ -672,7 +672,7 @@ WARN_FORMAT = "$file:$line: $text"
# and error messages should be written. If left blank the output is written
# to stderr.
WARN_LOGFILE =
WARN_LOGFILE = LIBABIGAIL_OUTPUT/doc/api/doxygen-warnings.txt
#---------------------------------------------------------------------------
# configuration options related to the input files

File diff suppressed because it is too large Load Diff

100
doc/website/mainpage.txt Normal file
View File

@ -0,0 +1,100 @@
/*!
\mainpage Home page of the ABI Generic Analysis and Instrumentation Library
\par Introduction
This project aims at providing a C++ library for constructing,
manipulating, serializing and de-serializing ABI-relevant artifacts.
The set of artifacts that we are interested in is made of
constructions like types, variables, fonctions and declarations of a
given library or program. For a given program or library, this set of
constructions is called an ABI corpus.
Thus This project aims at providing a library to manipulate ABI
corpuses, compare them, provide detailed information about their
differences and help build tools to infer interesting conclusions
about these differences.
\par Documentation
The html documentation of the library is available online <a
href="http://sourceware.org/libabigail/apidoc">here</a>.
\par Getting the source code
This project is still in an early stage; we haven't released any
official tarball yet. You can get the source code in a read-only
manner from our <a
href="http://sourceware.org/git/gitweb.cgi?p=libabigail.git">Git
repository</a> by doing:
\code{.sh}
git clone git://sourceware.org/git/libabigail.git
\endcode
If you have write access on sourceware.org, you can check the source
out in read-write by doing:
\code{.sh}
git clone ssh://sourceware.org/git/libabigail.git
\endcode
\par Compiling
To compile libabigail, you first need to install its dependencies. At
the moment the dependencies are the following Free Software packages:
\li <a href="http://www.xmlsoft.org">libxml2</a>
\li <a href="http://www.gnu.org/software/autoconf/">autoconf</a>
Then go to your local libabigail.git directory where the source code
you've checked out lies and create a 'build' directory that will
receive the binaries resulting from the compilation:
\code{.sh}
cd libabigail.git
mkdir build
\endcode
Generate the relevant build-system-related information needed to
configure the package for compilation, by typing:
\code{.sh}
autoreconf
\endcode
Then configure the package:
\code{.sh}
cd build
../configure --prefix=<absolute-path-of-where-you-want-the-binaries-to-be-installed>
\endcode
Then build the package
\code{.sh}
make
\endcode
And then install its resulting binaries and documentation:
\code{.sh}
make install
\endcode
\par Contribute and file bug reports
To send us patches or just drop by to say hi, feel free to send an
email to our mailing list libabigail@sourceware.org.
Bug reports are to be filed into our <a
href="http://sourceware.org/bugzilla/enter_bug.cgi?product=libabigail">Bugzilla
database</a>.
\par License
The source code of the library is under <a href="http://www.gnu.org/licenses/lgpl.html"> LGPL version 3</a> or later.
*/