DOC: run doxygen separately for internal/external API

Also only install the external API on gh-pages.
This commit is contained in:
hasufell 2014-06-09 02:11:52 +02:00
parent 03f3b4b230
commit 4fbb63e67f
No known key found for this signature in database
GPG Key ID: 220CD1C5BDEED020
9 changed files with 1939 additions and 20 deletions

View File

@ -16,14 +16,16 @@ uninstall:
$(MAKE) -C include uninstall
clean:
$(MAKE) -C include clean
$(MAKE) -C src clean
$(MAKE) -C doxygen clean
doc:
$(MAKE) -C doxygen doc
$(MAKE) -C include doc
$(MAKE) -C src doc
doc-pdf: doc
$(MAKE) -C doxygen doc-pdf
$(MAKE) -C include doc-pdf
$(MAKE) -C src doc-pdf
.PHONY: clean doc doc-pdf install

View File

@ -1,12 +0,0 @@
doc:
doxygen
doc-pdf: doc
$(MAKE) -C latex pdf
clean:
rm -rf html/ latex/
.PHONY: clean doc doc-pdf

View File

@ -668,7 +668,7 @@ WARN_LOGFILE =
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
INPUT = doxygen.dox ../src/ ../include/
INPUT = doxygen.dox .
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is

View File

@ -16,6 +16,14 @@ uninstall:
$(RM) "$(DESTDIR)$(INSTALL_INCLUDEDIR)"/keypair.h
$(RM) "$(DESTDIR)$(INSTALL_INCLUDEDIR)"/rnd.h
doc:
doxygen
.PHONY: install uninstall
doc-pdf: doc
$(MAKE) -C latex pdf
clean:
rm -rf html/ latex/
.PHONY: clean doc doc-pdf install uninstall

1869
src/Doxyfile Normal file

File diff suppressed because it is too large Load Diff

View File

@ -69,8 +69,14 @@ uninstall:
$(RM) "$(DESTDIR)$(INSTALL_LIBDIR)/libpqc.so.$(SOVER)"
$(RM) "$(DESTDIR)$(INSTALL_LIBDIR)/libpqc.so.$(LIBVER)"
doc:
doxygen
doc-pdf: doc
$(MAKE) -C latex pdf
clean:
rm -f *.o test libpqc.a libpqc.so* main *.dec *.enc *.hex *.orig core
rm -rf html/ latex/ *.o test libpqc.a libpqc.so* main *.dec *.enc *.hex *.orig core
.PHONY: clean install uninstall
.PHONY: clean doc doc-pdf install uninstall

46
src/doxygen.dox Normal file
View File

@ -0,0 +1,46 @@
/**
@author hasufell
\mainpage Index Page
\tableofcontents
\section intro_sec Introduction
Highly optimized C implementation of the NTRUEncrypt algorithm,
using the FLINT library.
This is only the internal API.
\section algos Algorithms
Most of the algorithms in ntru_poly.c, ntru_decrypt.c, ntru_encrypt.c and ntru_keypair.c are based on the pseudo-code from <a href="http://www.crypto.wpi.edu/Publications/Documents/ms_corourke.pdf">Efficient NTRU Implementations by Colleen Marie O'Rourke</a>.
Further work is based on <a href="http://www.math.uni-hamburg.de/home/kuehn/moldenhauer-bsc-NTRUKryptosystem-final.pdf">Das NTRU-Kryptosystem von Anja Moldenhauer</a> and the official <a href="https://www.securityinnovation.com/uploads/Crypto/NTRUTech014.pdf">NTRU Cryptosystems Technical Report #14</a>.
\section license License
<a href="https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">LGPL-2.1</a>
\section deps Dependencies
This library was written for Linux systems. Support for windows will not be added.
\* <a href="http://www.flintlib.org">FLINT-2.4.3 or later</a> (compiled with gmp and mpfr)
\* <a href="https://developer.gnome.org/glib/stable/">glib-2.0</a>
\* <a href="http://www.freedesktop.org/wiki/Software/pkg-config/">pkg-config</a> (for the build only)
\section install_sec Installation
\* make
\* make install
\section usage Usage
See this API doc, the public headers are in the include/ subfolder.
\section perf Performance
See <a href="https://github.com/hasufell/pqc/wiki/Performance-analysis">Performance Analysis on github</a>.
\section ref References
\* <a href="https://github.com/hasufell/pqc">This library on github</a>
\* <a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.25.8422&rep=rep1&type=pdf">Original NTRUEncrypt paper</a>
\* <a href="http://www.crypto.wpi.edu/Publications/Documents/ms_corourke.pdf">Efficient NTRU Implementations by Colleen Marie O'Rourke</a>
\* <a href="http://www.math.uni-hamburg.de/home/kuehn/moldenhauer-bsc-NTRUKryptosystem-final.pdf">Das NTRU-Kryptosystem von Anja Moldenhauer</a>
\* <a href="https://www.securityinnovation.com/uploads/Crypto/NTRUTech014.pdf">NTRU Cryptosystems Technical Report #14</a>
\* <a href="http://teal.gmu.edu/courses/ECE646/project/reports_2001/dsouza.pdf">The NTRU Cryptosystem: Implementation and Comparative Analysis by Rodney D'Souza</a>
\* <a href="http://en.wikipedia.org/wiki/NTRUEncrypt">Wikipedia Article</a>
*/

View File

@ -10,7 +10,7 @@ cd gh-pages || exit 1
echo "Removing old C docs."
git rm -rf .
echo "Adding new C docs."
cp -rf "$TRAVIS_BUILD_DIR"/doxygen/html/* . || exit 1
cp -rf "$TRAVIS_BUILD_DIR"/include/html/* . || exit 1
git add *
if [[ -e ./index.html ]] ; then