diff --git a/Doc/Makefile b/Doc/Makefile
index a38063c477cff5c138b1037ee83c530e5226ad47..7745f465c3bd3f7cb06b1fd82b79bbeb2779c800 100644
--- a/Doc/Makefile
+++ b/Doc/Makefile
@@ -21,43 +21,51 @@ clean:
 	- rm -f INPUT_*.html INPUT_*.txt INPUT_*.xml qe-input-ref.html
 
 developer_man: developer_man.pdf
-	rm -rf developer_man/
-	latex2html \
+	- rm -rf developer_man/
+	- latex2html \
                 -t "Developer's Manual for Quantum-ESPRESSO" \
                 -html_version 3.2,math \
                 -toc_depth 3 -split 3 -toc_stars -show_section_numbers \
                 -local_icons -image_type png \
                 developer_man.tex
-	cd developer_man; \
-        for file in *.html; do \
-                cp $$file /tmp/$$file; \
-                cat /tmp/$$file | sed 's/HREF="http/NAME="http/g' | sed 's/mathend000#//g' - > $$file; \
-                rm -f /tmp/$$file; \
-        done
-	@echo ""
-	@echo "***"
-	@echo "*** Developer's Manual created in developers_manual/developers_manual.html"
-	@echo "***"
-	@echo ""
+	if test -d developer_man; then \
+		cd developer_man; \
+	        for file in *.html; do \
+	 	        cp $$file /tmp/$$file; \
+			cat /tmp/$$file | sed 's/HREF="http/NAME="http/g' | sed 's/mathend000#//g' - > $$file; \
+			rm -f /tmp/$$file; \
+	        done; \
+	fi
+	@if test -d developer_man; then \
+		echo ""; \
+		echo "***"; \
+		echo "*** Developer's Manual created in developers_manual/developers_manual.html"; \
+		echo "***"; \
+		echo ""; \
+	fi
 
 user_guide: user_guide.pdf
-	 rm -rf user_guide/
-	 latex2html \
+	 - rm -rf user_guide/
+	 - latex2html \
                 -t "User's Guide for Quantum-ESPRESSO" \
                 -html_version 3.2,math \
                 -toc_depth 5 -split 5 -toc_stars -show_section_numbers \
                 -local_icons -image_type png \
                 user_guide.tex
-	cd user_guide; \
-        for file in *.html; do \
-                cp $$file /tmp/$$file; \
-                cat /tmp/$$file | sed 's/HREF="http/NAME="http/g' | sed 's/mathend000#//g' - > $$file; \
-                rm -f /tmp/$$file; \
-        done
-	@echo ""
-	@echo "***"
-	@echo "*** User's Guide created in user_guide/user_guide.html"
-	@echo "***"
-	@echo ""
+	if test -d user_guide; then \
+		cd user_guide; \
+	        for file in *.html; do \
+	                cp $$file /tmp/$$file; \
+	                cat /tmp/$$file | sed 's/HREF="http/NAME="http/g' | sed 's/mathend000#//g' - > $$file; \
+	                rm -f /tmp/$$file; \
+	        done; \
+	fi
+	@if test -d user_guide; then \
+		echo ""; \
+		echo "***"; \
+		echo "*** User's Guide created in user_guide/user_guide.html"; \
+		echo "***"; \
+		echo ""; \
+	fi
 
 brillouin_zones: brillouin_zones.pdf
diff --git a/GUI/Makefile b/GUI/Makefile
index 0979e253b094e060266b5ed2b0324a8e6ebf178b..dbcdcc79da39d6ff2c59b1a8991bb67d8b7e4b2c 100644
--- a/GUI/Makefile
+++ b/GUI/Makefile
@@ -3,8 +3,13 @@ sinclude ../make.inc
 # do nothing by default !!!
 default:
 
+clean:
+	- if test -d PWgui ; then ( cd PWgui; $(MAKE) clean ) ; fi
+	- if test -d QE-modes ; then ( cd QE-modes; $(MAKE) clean ) ; fi
+
 veryclean:
 	- if test -d Guib ; then ( cd Guib; $(MAKE) veryclean ) ; fi
 	- if test -d PWgui ; then ( cd PWgui; $(MAKE) distclean ) ; fi
 	- if test -d QE-modes ; then ( cd QE-modes; $(MAKE) veryclean ) ; fi
 
+distclean: veryclean
diff --git a/GUI/PWgui/Makefile b/GUI/PWgui/Makefile
index debff34f596565d1d145d3dd7510b73fbcaefcd2..17c1e4925b723303cb452b778e869671aa3fab2c 100644
--- a/GUI/PWgui/Makefile
+++ b/GUI/PWgui/Makefile
@@ -68,6 +68,7 @@ clean:
 	-rm -f *~ */*~ */*/*~
 	-rm -f *.tgz 
 	-rm -f *.tar
+	-cd doc/pwdocs; $(MAKE) clean
 
 veryclean: 
 	$(MAKE) clean
diff --git a/GUI/PWgui/doc/pwdocs/Makefile b/GUI/PWgui/doc/pwdocs/Makefile
index 3d3309bc2da769c6d8c709e9bfa498b1572e858e..9127c9b33dd8e76005377ad9c4a6a9e740b66482 100644
--- a/GUI/PWgui/doc/pwdocs/Makefile
+++ b/GUI/PWgui/doc/pwdocs/Makefile
@@ -19,7 +19,7 @@ all: input_html make_user_guide
 
 
 links:
-	( cd $(TOPDIR); $(MAKE) doc )
+	- ( cd $(TOPDIR); $(MAKE) doc )
 	for file in $(LINK_FILES); do \
 		if test ! -f $$file; then ln -sf $(QE_DOC_DIR)/$$file . ; fi; \
 	done
@@ -52,7 +52,7 @@ make_user_guide: links
 
 
 clean: clean_links
-	-rm -f INPUT_*.html *~
+	-rm -f INPUT_*.html INPUT_*.txt *~
 	-rm -f *.tex *.aux *.log *.out *.toc *.gif *.pdf *.png
 	-rm -rf user_guide/	
 
diff --git a/GUI/PWgui/src/pwscf.itcl b/GUI/PWgui/src/pwscf.itcl
index adfc0ad0b7f1f6f2cbc59f5cbed2e2cf2d28dba2..42875a868454488d3de8bd5abb09dc45dbe39df4 100644
--- a/GUI/PWgui/src/pwscf.itcl
+++ b/GUI/PWgui/src/pwscf.itcl
@@ -108,10 +108,12 @@ $gui addModule module ld "LD1.X" [file join $env(PWGUI) modules atomic atomic.tc
 # ------------------------------------------------------------------------
 # help Files
 # ------------------------------------------------------------------------
-#$gui addHelp help usersguide "User's Guide for Quantum-ESPRESSO" [file join $env(PWGUI) doc pwdocs users-guide users-guide.html]
-$gui addHelp help usersguide "User's Guide for Quantum-ESPRESSO" [file join $env(PWGUI) doc pwdocs user_guide user_guide.html] word
 
-$gui addHelp separator
+set user_guide_html [file join $env(PWGUI) doc pwdocs user_guide user_guide.html]
+if { [file exists $user_guide_html] } {
+    $gui addHelp help usersguide "User's Guide for Quantum-ESPRESSO" $user_guide_html word
+    $gui addHelp separator
+}
 
 $gui addHelp help pw           "PW.X Input Syntax"  [file join $env(PWGUI) doc pwdocs INPUT_PW.html] none
 $gui addHelp help neb       "NEB.DAT Input Syntax"  [file join $env(PWGUI) doc pwdocs INPUT_NEB.html] none
diff --git a/GUI/QE-modes/Makefile b/GUI/QE-modes/Makefile
index 02beb101b841158653f070a482cbc5d66a9cda9c..1dcc8a8255b0df984797a6c3ffded9a314101778 100644
--- a/GUI/QE-modes/Makefile
+++ b/GUI/QE-modes/Makefile
@@ -98,7 +98,6 @@ doc:
 	cd Doc; $(MAKE)
 
 clean:
-	- rm -f qe-modes/$(ELISP_FILES)	
 	- cd Doc; $(MAKE) clean
 
 veryclean: clean
diff --git a/Makefile b/Makefile
index 075c897a6e1b4f7f9c9cc7724c4dd80c7a29f9bb..ebbd52b777e53428f2c1a15c01f9290f8b5648e9 100644
--- a/Makefile
+++ b/Makefile
@@ -321,7 +321,7 @@ clean :
 		CPV LAXlib FFTXlib UtilXlib Modules PP PW EPW KS_Solvers \
 		NEB ACFDT COUPLE GWW XSpectra PWCOND dft-d3 \
 		atomic clib LR_Modules pwtools upftools \
-		dev-tools extlibs Environ TDDFPT PHonon HP GWW \
+		dev-tools extlibs Environ TDDFPT PHonon HP GWW Doc GUI \
 	; do \
 	    if test -d $$dir ; then \
 		( cd $$dir ; \
diff --git a/NEB/Doc/Makefile b/NEB/Doc/Makefile
index 838922fe56f51a1752a377b9d1587960e642e77c..656cf3424a725d8e3d7f3de87c4be2b623169d9f 100644
--- a/NEB/Doc/Makefile
+++ b/NEB/Doc/Makefile
@@ -10,7 +10,7 @@ OUTS = $(PDFS:.pdf=.out)
 TOCS = $(PDFS:.pdf=.toc)
 
 doc:  all
-all:  pdf html defs
+all:  defs pdf html
 pdf:  $(PDFS)
 html: user_guide
 
@@ -26,7 +26,7 @@ clean:
 	- rm -rf ../../Doc/INPUT_NEB.*
 
 user_guide: user_guide.pdf
-	 rm -rf user_guide/
+	 - rm -rf user_guide/
 	 latex2html \
                 -t "User's Guide for The Quantum ESPRESSO Nudged Elastic Band" \
                 -html_version 3.2,math \
diff --git a/PHonon/Doc/Makefile b/PHonon/Doc/Makefile
index ce01e8a278de016aae1705ff9d8fb94e79802d88..fbd6fee483deb38eeb7aab948601493de8dfad78 100644
--- a/PHonon/Doc/Makefile
+++ b/PHonon/Doc/Makefile
@@ -12,7 +12,7 @@ TOCS = $(PDFS:.pdf=.toc)
 
 
 doc:  all
-all:  pdf html defs
+all:  defs pdf html
 pdf: $(PDFS)
 html: user_guide developer_man
 
@@ -28,7 +28,7 @@ clean:
 	- rm -rf ../../Doc/INPUT_PH.*
 
 user_guide: user_guide.pdf
-	rm -rf user_guide/
+	- rm -rf user_guide/
 	latex2html \
                 -t "User's Guide for the PHonon package" \
                 -html_version 3.2,math \
diff --git a/PP/Doc/Makefile b/PP/Doc/Makefile
index 2696b667fe77a14f9db2932127746495adc130de..ae6d7a70b9f346c9f6921cbb7603997f280c98fd 100644
--- a/PP/Doc/Makefile
+++ b/PP/Doc/Makefile
@@ -23,7 +23,7 @@ XMLS = $(HTMLS:.html=.xml)
 TXTS = $(HTMLS:.html=.txt)
 
 doc: all
-all: pdf defs html
+all: defs pdf html
 pdf: $(PDFS)
 html: user_guide
 
@@ -77,7 +77,7 @@ link_on_main_doc:
 	ln -fs ../PP/Doc/INPUT_molecularpdos.txt .)
 
 user_guide: user_guide.pdf
-	rm -rf user_guide/
+	- rm -rf user_guide/
 	latex2html \
 		-t "User's Guide for the PP package" \
                 -html_version 3.2,math \
diff --git a/PW/Doc/Makefile b/PW/Doc/Makefile
index 0e1299f73ac26f67a26920f71ca2b8ed8ab4b498..330520863e250b11bb11b6b93da6082323f8e80b 100644
--- a/PW/Doc/Makefile
+++ b/PW/Doc/Makefile
@@ -11,7 +11,7 @@ TOCS = $(PDFS:.pdf=.toc)
 
 
 doc:  all
-all:  pdf html defs
+all:  defs pdf html 
 pdf: $(PDFS)
 html: user_guide
 
@@ -28,7 +28,7 @@ clean:
 
 
 user_guide: user_guide.pdf
-	rm -rf user_guide/
+	- rm -rf user_guide/
 	latex2html \
                 -t "User's Guide for the PWscf package" \
                 -html_version 3.2,math \
diff --git a/atomic/Doc/Makefile b/atomic/Doc/Makefile
index 302ed42fcbaf84c9139150515ee8cc265a647a25..af387ed14aef35958360d5b7487ae5a3d139b463 100644
--- a/atomic/Doc/Makefile
+++ b/atomic/Doc/Makefile
@@ -9,7 +9,7 @@ LOGS = $(PDFS:.pdf=.log)
 OUTS = $(PDFS:.pdf=.out)
 TOCS = $(PDFS:.pdf=.toc)
 
-all:  pdf html defs
+all:  defs pdf html
 pdf:  $(PDFS)
 html: pseudo-gen
 
@@ -25,7 +25,7 @@ clean:
 	- rm -rf ../../Doc/input_xx.xsl
 
 pseudo-gen: pseudo-gen.pdf
-	 rm -rf pseudo-gen/
+	 - rm -rf pseudo-gen/
 	 latex2html \
                 -t "User's Guide for LD1" \
                 -html_version 3.2,math \