diff --git a/.gitignore b/.gitignore
index 0502c63d8dd7381156832dc4689198f43ecf8021..d645685a2785a3d7b6e3aab409b7e3f68a307b4f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -42,6 +42,8 @@ ylwrap
 *.blg
 *.lof
 /doc/manual-html/
+/doc/manual.texi
+/doc/manual.info
 !/doc/guide.bbl
 !/doc/macroprocessor/new-design.pdf
 !/doc/macroprocessor/old-design.pdf
diff --git a/configure.ac b/configure.ac
index 7623122a0d13e0ec5e40b16ee5d464ddf8e6b678..5774f84480df6c57c3ac662322b7a0b45f98e7f0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -135,6 +135,10 @@ AX_PROG_XSLTPROC
 AX_CHECK_DOCBOOK_XSLT_MIN(1.69.0)
 AM_CONDITIONAL([HAVE_XSLT], [test "x$XSLTPROC" != "x" -a "x$DOCBOOK_XSLT_CURRENT_VERSION" != "xno"])
 
+AC_CHECK_PROG([DOCBOOK2XTEXI], [docbook2x-texi], [docbook2x-texi])
+AC_CHECK_PROG([MAKEINFO], [makeinfo], [makeinfo])
+AM_CONDITIONAL([HAVE_DOCBOOK2XTEXI_MAKEINFO], [test "x$DOCBOOK2XTEXI" != "x" -a "x$MAKEINFO" != "x"])
+
 AC_CHECK_PROG([DOXYGEN], [doxygen], [doxygen])
 AM_CONDITIONAL([HAVE_DOXYGEN], [test "x$DOXYGEN" != "x"])
 
@@ -271,6 +275,12 @@ else
   BUILD_DYNARE_INTERNAL_DOC="no (Org export not enabled)"
 fi
 
+if test "x$DOCBOOK2XTEXI" != "x" -a "x$MAKEINFO" != "x"; then
+  BUILD_DYNARE_INFO="yes"
+else
+  BUILD_DYNARE_INFO="no (missing docbook2x-texi and/or makeinfo)"
+fi
+
 if test "x$OCTAVE" != "x"; then
   TESTSUITE_OCTAVE="yes"
 else
@@ -303,6 +313,8 @@ HTML documentation (with "make html"):
  Dynare preprocessor developer doc:     $BUILD_DYNARE_PREPROC_DOC
  Dynare internal doc:                   $BUILD_DYNARE_INTERNAL_DOC
 
+Info documentation (with "make info"):  $BUILD_DYNARE_INFO
+
 Testsuites (run with "make check"):
  Dynare for Octave:                     $TESTSUITE_OCTAVE
  Dynare++:                              $TESTSUITE_DYNAREPLUSPLUS
diff --git a/doc/Makefile.am b/doc/Makefile.am
index f0c0d355637b49fe04eb7f25b123d594ce1f5f72..564eddb882d69f195e85e122567b0055c125fe7d 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -12,6 +12,16 @@ endif
 
 pdf-local: $(PDF_TARGETS)
 
+# We don't use info_TEXINFOS because otherwise it generates a manual.pdf rule
+# which conflict with ours. Hence we have to manually specify building rules.
+INFO_TARGETS =
+
+if HAVE_DOCBOOK2XTEXI_MAKEINFO
+INFO_TARGETS += manual.info
+endif
+
+info-local: $(INFO_TARGETS)
+
 if HAVE_XSLT
 html-local: manual-html/index.html
 endif
@@ -36,6 +46,12 @@ manual-html/index.html: manual.xml dynare_html.xsl dynare.xsl
 manual.pdf: manual.xml
 	$(DBLATEX) manual.xml
 
+manual.texi: manual.xml
+	$(DOCBOOK2XTEXI) --encoding=utf-8//TRANSLIT --string-param output-file=manual $<
+
+manual.info: manual.texi
+	$(MAKEINFO) $<
+
 clean-local:
-	rm -f *~ *.pdf *.log *.aux *.out
+	rm -f *~ *.pdf *.log *.aux *.out manual.texi manual.info
 	rm -rf manual-html