diff --git a/am/checklog b/am/checklog
index 524b3a75e6561d7751befb3eb32fa94a6e32cd9b..5b720144f08bb4ebcbcc50226a5068394631df9c 100644
--- a/am/checklog
+++ b/am/checklog
@@ -11,7 +11,7 @@ LOG_SET_OPTIONS = \
 	dir=$$(basename $$path)
 
 $(DUNE_COMMON_ROOT)/bin/check-log-store: $(DUNE_COMMON_ROOT)/bin/check-log-store.in
-	$(MAKE) -C $(DUNE_COMMON_ROOT)/bin/ check-log-store
+	cd $(DUNE_COMMON_ROOT)/bin/ && $(MAKE) check-log-store
 
 check-log: $(DUNE_COMMON_ROOT)/bin/check-log-store
 check-log:
diff --git a/am/update-libs b/am/update-libs
index 7f548567679064f3f2c494ce737353572f43b2bf..fdcbeeb4f6e9fe835672e2628bbd798642b48fb7 100644
--- a/am/update-libs
+++ b/am/update-libs
@@ -18,6 +18,8 @@
 LOCAL_LIBS = @LOCAL_LIBS@
 
 %.la: MAKELIBS.force
-	make -C $$(dirname $@) $$(basename $@)
+	cd $$(dirname $@) && $(MAKE) $$(basename $@)
+
+MAKELIBS.force:
 
 .PHONY: MAKELIBS.force
diff --git a/am/webstuff b/am/webstuff
index e3f4aa2d60e926fa9fd516e8fbd984fbaee86ea2..0e73330028e30b0413043f974e5d2a68fe9dba5a 100644
--- a/am/webstuff
+++ b/am/webstuff
@@ -9,13 +9,11 @@
 
 # CURDIR should be defined in the same way as in dune-web
 
-
-# pass on this variables to wmlwrap via environment
-export DUNEWEBDIR
-export BASEDIR
-
 # pass files through wrapper
+# pass variables to wmlwrap via environment
 .wml.html:
+	export DUNEWEBDIR=$(DUNEWEBDIR); \
+	export BASEDIR=$(BASEDIR); \
 	sh $(DUNE_COMMON_ROOT)/bin/wmlwrap -I $(srcdir) $< -o $@
 
 web-install: all
diff --git a/doc/doxygen/Makefile.am b/doc/doxygen/Makefile.am
index 4627cf96df9c6770a219fc98880794d5389bd9b7..6ca3b587440c853b5adcb8b61bc0f31d1d0a4334 100644
--- a/doc/doxygen/Makefile.am
+++ b/doc/doxygen/Makefile.am
@@ -20,7 +20,7 @@ DOXYGENINSTALL = *.html *.css *.png *.gif
 
 if WML
 # themeing doxygen
-DOXYGENHEADER = doxy-header.html
+DOXYGENHEADER = doxy-header.html.build
 DOXYGENFOOTER = doxy-footer.html
 DOXYGENSTYLESHEET = dune-doxy.css
 DOYXFILE_OVERWRITE = echo "HTML_HEADER = $(DOXYGENHEADER)"; \
@@ -53,13 +53,14 @@ DEPENDON = -name \*.cc -o -name \*.hh -o -name \*.png
 
 # as all doxygen files fill be installed in the html subdirectory
 # the BASEDIR has to be adjusted
-doxy-header.html:BASEDIR=../../..
+doxy-header.html.build: FORCE
+	$(MAKE) doxy-header.html BASEDIR=../../..
 
 # check dependency ourself to be robust
 doxygen-tag: FORCE $(DOXYGENHEADER)
 	set -e; \
 	if test -e Doxyfile; then \
-	  if test ! -e doxygen-tag || test x"`find $(top_srcdir) \( $(DEPENDON) \) -a -cnewer doxygen-tag -print`" != x ; then \
+	  if test ! -e doxygen-tag || test x"`find $(top_srcdir) \( $(DEPENDON) \) -a -newer doxygen-tag -print`" != x ; then \
 	    echo Running doxygen. This may take a while... ; \
 	    ( cat Doxyfile; $(DOYXFILE_OVERWRITE) ) > Doxyfile.tmp; \
 	    $(DOXYGEN) Doxyfile.tmp > doxygen.log 2>&1 <&- ; \