diff --git a/src/modules/Makefile.in b/src/modules/Makefile.in
index 192ad293b68f87316a995ba91da42bcdfb467a8f..f63dde70bcc5d6cf591f40c2b82f97da761f330a 100644
--- a/src/modules/Makefile.in
+++ b/src/modules/Makefile.in
@@ -13,10 +13,15 @@ MAKE_FLAGS = "prefix=$(prefix)" "exec_prefix=$(exec_prefix)" "CC=$(CC)" "OTHERFL
 
 all: modules
 
-modules:
-	for a in $(MODULES) ; do echo making $$a ; ( cd $$a ; $(MAKE) $(MAKE_FLAGS) MODNAME=$$a ) || exit $$? ; done
+modules: $(MODULES)
 	$(MAKE) linker_options modlist.h modlist_headers.h
 
+force:
+
+$(MODULES) : force
+	@echo Making $@ 
+	@( cd $@ ; rm remake >/dev/null 2>&1 || : ; $(MAKE) $(MAKE_FLAGS) MODNAME=$@ || ( test -f remake && $(MAKE) $(MAKE_FLAGS) MODNAME=$@ ) ) || exit $$?
+
 modlist.h: $(MODULE_SEGMENTS)
 	( for a in $(MODULES) ; do cat $$a/modlist_segment ; done ; ) >modlist.h
 
diff --git a/src/modules/dynamic_module_makefile.in b/src/modules/dynamic_module_makefile.in
index 5b271c5c895279de577298271456faaef7ac4c9b..c9aa8f307c69cfecab817bc52703a6b5335f010e 100644
--- a/src/modules/dynamic_module_makefile.in
+++ b/src/modules/dynamic_module_makefile.in
@@ -1,5 +1,5 @@
 #
-# $Id: dynamic_module_makefile.in,v 1.28 1998/02/02 22:44:24 marcus Exp $
+# $Id: dynamic_module_makefile.in,v 1.29 1998/02/11 00:42:13 hubbe Exp $
 #
 
 
@@ -15,7 +15,7 @@ MAKE_FLAGS = "prefix=$(prefix)" "exec_prefix=$(exec_prefix)" "CC=$(CC)" "OTHERFL
 all: subdirs dummy
 
 subdirs:
-	for a in '' $(MODULE_SUBDIRS) ; do if test ! -z "$$a"; then echo making $$a ; ( cd $$a && $(MAKE) $(MAKE_FLAGS) ) || exit $$? ; else :; fi ; done
+	@for a in '' $(MODULE_SUBDIRS) ; do if test ! -z "$$a"; then echo making $$a ; ( cd $$a && $(MAKE) $(MAKE_FLAGS) ) || exit $$? ; else :; fi ; done
 
 dummy:	$(DUMMY) linker_options modlist_headers modlist_segment module.so
 	tmp="$(INSTALL_NAME)" ; \
@@ -34,6 +34,7 @@ modlist_segment: Makefile
 
 Makefile: ../dynamic_module_makefile $(SRCDIR)/Makefile.in $(SRCDIR)/dependencies
 	CONFIG_FILES=Makefile CONFIG_HEADERS="" ./config.status
+	touch remake
 	@echo "Run make again"
 	@exit 1
 
diff --git a/src/modules/static_module_makefile.in b/src/modules/static_module_makefile.in
index 79920891c9ef759975e099659454e34715047e07..82998068485339313f1ffa14dccef65a87f59bb0 100644
--- a/src/modules/static_module_makefile.in
+++ b/src/modules/static_module_makefile.in
@@ -1,5 +1,5 @@
 #
-# $Id: static_module_makefile.in,v 1.22 1997/12/01 20:21:07 grubba Exp $
+# $Id: static_module_makefile.in,v 1.23 1998/02/11 00:42:13 hubbe Exp $
 #
 
 
@@ -15,7 +15,7 @@ MAKE_FLAGS = "prefix=$(prefix)" "exec_prefix=$(exec_prefix)" "CC=$(CC)" "OTHERFL
 all: subdirs dummy
 
 subdirs:
-	for a in '' $(MODULE_SUBDIRS) ; do if test ! -z "$$a"; then echo making $$a ; ( cd $$a && $(MAKE) $(MAKE_FLAGS) ) || exit $$? ; else :; fi ; done
+	@for a in '' $(MODULE_SUBDIRS) ; do if test ! -z "$$a"; then echo making $$a ; ( cd $$a && $(MAKE) $(MAKE_FLAGS) ) || exit $$? ; else :; fi ; done
 
 dummy:	linker_options modlist_headers modlist_segment module.pmod module.a
 	tmp="$(INSTALL_NAME)" ;\
@@ -34,6 +34,7 @@ modlist_segment: Makefile
 
 Makefile: ../static_module_makefile $(SRCDIR)/Makefile.in $(SRCDIR)/dependencies
 	CONFIG_FILES=Makefile CONFIG_HEADERS="" ./config.status
+	touch remake
 	@echo "Run make again"
 	@exit 1