diff --git a/configure.ac b/configure.ac
index 318a2c73d1af27cf7fceba8511357a227c797a93_Y29uZmlndXJlLmFj..384e26b53d5ea4f8635a3cec30a32d83d2bca445_Y29uZmlndXJlLmFj 100644
--- a/configure.ac
+++ b/configure.ac
@@ -109,6 +109,13 @@
 
 AC_SUBST(HTML_DIR)
 
+AC_ARG_ENABLE(rebuild-docs,
+[  --enable-rebuild-docs[[=yes/no]]  rebuild some generated docs [[default=no]]])
+if test "$enable_rebuild_docs" = "yes" -a "$srcdir" != "."; then
+  AC_MSG_ERROR([cannot rebuild docs when builddir != srcdir])
+fi
+AM_CONDITIONAL([REBUILD_DOCS], [test "$enable_rebuild_docs" = "yes"])
+
 dnl
 dnl Check the environment
 dnl
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 318a2c73d1af27cf7fceba8511357a227c797a93_ZG9jL01ha2VmaWxlLmFt..384e26b53d5ea4f8635a3cec30a32d83d2bca445_ZG9jL01ha2VmaWxlLmFt 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -136,6 +136,8 @@
 
 man_MANS = xsltproc.1
 
+if REBUILD_DOCS
+
 all-local:	web ../NEWS libxslt.xsa $(man_MANS)
 
 api:	libxslt-api.xml libxslt-refs.xml $(APIPAGES) search.php \
@@ -306,6 +308,8 @@
 		test -n "$$present" || echo "not in EXTRA_DIST: $$a" ; \
 	done
 
+endif
+
 install-data-local:
 	$(MKDIR_P) $(DESTDIR)$(HTML_DIR)
 	-$(INSTALL) -m 0644 $(srcdir)/*.html $(DESTDIR)$(HTML_DIR)