diff --git a/doc/Makefile.am b/doc/Makefile.am
index cd7286a1a5f0942646b442140a5087fb1f5f595e..aeff762da5ec5d61b65341796bbd4f049380fb22 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -27,7 +27,9 @@ EXTRA_DIST = $(PAGES) example.opts
 include $(top_srcdir)/am/webstuff
 
 # remove html pages on ``make  clean''
-CLEANFILES = $(PAGES)
+SVNCLEANFILES = $(PAGES)
+clean-local:
+	if test -e $(top_srcdir)/doc/doxygen/Doxydep; then rm -rf $(SVNCLEANFILES); fi
 
 # include further rules needed by Dune
 include $(top_srcdir)/am/global-rules
diff --git a/doc/buildsystem/Makefile.am b/doc/buildsystem/Makefile.am
index d5eb3c89815339540229cd5c34627435b4e17eaa..440178e5adf1eefab8878af09225bf33d26f3a7b 100644
--- a/doc/buildsystem/Makefile.am
+++ b/doc/buildsystem/Makefile.am
@@ -25,7 +25,12 @@ include $(top_srcdir)/am/webstuff
 include $(top_srcdir)/am/latex
 
 # remove html pages on ``make  clean''
-CLEANFILES = *.ps *.pdf auto *.aux *.dvi *.log *.out *.toc
+CLEANFILES = auto *.aux *.dvi *.log *.out *.toc
+
+# PDFs and PSs are only clean in svn version not in the tarballs
+SVNCLEANFILES = *.pdf *.ps
+clean-local:
+	if test -e $(top_srcdir)/$(CURDIR)/doxygen/Doxydep; then rm -rf $(SVNCLEANFILES) ; fi
 
 # include further rules needed by Dune
 include $(top_srcdir)/am/global-rules
diff --git a/doc/devel/Makefile.am b/doc/devel/Makefile.am
index 0fa0e673a2753c15bf83d6b959a83d0b7ac4ddb3..61e01290ac9d27e4c5df189374ce10f7c875b722 100644
--- a/doc/devel/Makefile.am
+++ b/doc/devel/Makefile.am
@@ -18,6 +18,9 @@ EXTRA_DIST= $(PAGES)
 
 include $(top_srcdir)/am/webstuff
 
-CLEANFILES = $(PAGES)
+# remove html pages on ``make  clean'' if we are not a tarball
+SVNCLEANFILES = $(PAGES)
+clean-local:
+	if test -e $(top_srcdir)/doc/doxygen/Doxydep; then rm -rf $(SVNCLEANFILES); fi
 
 include $(top_srcdir)/am/global-rules
diff --git a/doc/doxygen/Makefile.am b/doc/doxygen/Makefile.am
index 495da9516babbe69ce2dcc76396d851bb353b1ed..073329882c03f32600b4090eb7975ffe61fef6a6 100644
--- a/doc/doxygen/Makefile.am
+++ b/doc/doxygen/Makefile.am
@@ -15,6 +15,7 @@ all: $(WHAT) $(DOXYGEN_HTML)
 BASEDIR=../..
 CURDIR=doc/doxygen
 EXTRAINSTALL = doxygen.log
+
 # EXTRAINSTALL in the html subdirectory
 DOXYGENINSTALL = *.html *.css *.png *.gif
 
@@ -33,7 +34,7 @@ endif
 
 
 #we need this in the distribution
-EXTRA_DIST = $(WHAT) $(DOXYGEN_DIST) $(DOXYGENHEADER) doxy-footer.html $(PAGES)
+EXTRA_DIST = $(WHAT) html-dist $(DOXYGENHEADER) doxy-footer.html $(PAGES)
 
 doxygendir = $(datadir)/doc/dune-common/doxygen
 doxygen_DATA = $(WHAT)
@@ -99,10 +100,13 @@ FORCE:
 
 include $(top_srcdir)/am/webstuff
 
+# file to clean only in svn and not in tarball tree
+SVNCLEANFILES = html html-dist $(WHAT) $(DOXYGENHEADER)
+
 clean-local:
-	if test -e Doxydep; then rm -rf html html-dist; fi
+	if test -e $(top_srcdir)/doc/doxygen/Doxydep; then rm -rf $(SVNCLEANFILES);fi
 	rm -rf latex *~
 
-CLEANFILES = $(WHAT) $(DOXYGENTAG) $(DOXYGENHEADER)
+CLEANFILES = $(DOXYGENTAG)
 
 include $(top_srcdir)/am/global-rules