diff --git a/Make.rules.in b/Make.rules.in
index 9e662aa088a61c11841b7ec02954d568fa6a2e7b..73acccbcbe6c8dbcc85ff105103d995f0ffc1342 100644
--- a/Make.rules.in
+++ b/Make.rules.in
@@ -136,9 +136,13 @@ $(BUILD) checkbuild:
 
 # Rule for main module
 
-$(MODULE).o: $(OBJS)
+$(MODULE).o: Makefile $(OBJS)
 	$(LDCOMBINE) $(OBJS) -o $(MODULE).o
 
+Makefile: Makefile.in $(TOPSRCDIR)/configure
+	@echo Makefile is older than $?, please rerun $(TOPSRCDIR)/configure
+	@exit 1
+
 # Rules for auto documentation
 
 man: $(C_SRCS)
diff --git a/Makefile.in b/Makefile.in
index fdda26a96f633ada43d5bb6efa1d96c7a63b6b19..f7f34af847f081e71037dffacce2d1f6b2b3379d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -140,10 +140,14 @@ LIB_TARGET  = @LIB_TARGET@
 
 ALT_LINK    = @ALT_LINK@
 
-all: $(MAIN_TARGET)
+all: Makefile Make.rules $(MAIN_TARGET)
 
 @MAKE_RULES@
 
+Make.rules: Make.rules.in configure
+	@echo $? is newer than 'Make.rules', please rerun ./configure!
+	@exit 1
+
 install:: install_$(MAIN_TARGET)
 
 uninstall:: uninstall_$(MAIN_TARGET)