diff --git a/src/Makefile.in b/src/Makefile.in
index 8a45ca6ec423dafe5d409b5eb92b05edfba0d69f..bbc26d61ebc221844e457f38615c69e0b9eb1a6b 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,5 +1,5 @@
 #
-# $Id: Makefile.in,v 1.160 1999/10/27 13:51:57 grubba Exp $
+# $Id: Makefile.in,v 1.161 1999/11/07 01:40:48 per Exp $
 #
 
 # This line is needed on some machines.
@@ -140,6 +140,17 @@ OBJ= \
 #
 
 
+# Ouch.
+# It turns out that we really do need to do it this way.
+#
+# First compile pike, to generate the peep engine, and more
+# importantly, the lower_case() support, since that is needed by the
+# post_module.
+#
+# Then relink pike once more, since the post modules might be
+# static modules, and thus have to be linked into pike.
+# 
+# No rest for the wicked.
 all: module_objects hilfe
 	$(MAKE) $(MAKE_FLAGS) $(MAKE_PARALLEL) pike
 	@rm -f dummy_engine >/dev/null 2>&1; echo "" >dummy_engine && \
@@ -147,6 +158,15 @@ all: module_objects hilfe
 	    echo "Warning: No peep_engine." >&2; \
 	  else :; fi; \
 	  rm -f dummy_engine >/dev/null 2>&1
+#	$(MAKE) $(MAKE_FLAGS) $(MAKE_PARALLEL) new_peep_engine
+	$(MAKE) $(MAKE_FLAGS) $(MAKE_PARALLEL) pike
+	$(MAKE) $(MAKE_FLAGS) $(MAKE_PARALLEL) post_modules
+	$(MAKE) $(MAKE_FLAGS) $(MAKE_PARALLEL) pike
+
+post_modules: force
+	@( cd post_modules ; rm remake >/dev/null 2>&1 || : ; \
+	   $(MAKE) $(MAKE_PARALLEL) $(MAKE_FLAGS) || \
+	     ( test -f remake && $(MAKE) $(MAKE_PARALLEL) $(MAKE_FLAGS) ) ) || exit $$?
 
 compiler-warnings : clean
 	@echo Summarizing compiler warnings.
diff --git a/src/configure.in b/src/configure.in
index 0a52d5dff779030812f54d8e92722f150415b04c..b4083822b24708a2ee85761e77cde2ba9a67b37e 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -1,4 +1,4 @@
-AC_REVISION("$Id: configure.in,v 1.328 1999/10/30 23:23:43 hubbe Exp $")
+AC_REVISION("$Id: configure.in,v 1.329 1999/11/07 01:41:00 per Exp $")
 AC_INIT(interpret.c)
 AC_CONFIG_HEADER(machine.h)
 
@@ -3286,7 +3286,7 @@ export LDFLAGS CFLAGS CPPFLAGS LIBS
 export prefix exec_prefix OTHERFLAGS
 export TMP_BINDIR DEFINES INSTALL
 
-AC_CONFIG_SUBDIRS(modules)
+AC_CONFIG_SUBDIRS(modules post_modules)
 
 default_master=$prefix/pike/%d.%d.%d/lib/master.pike
 AC_DEFINE_UNQUOTED(DEFAULT_MASTER,"$default_master")
@@ -3319,6 +3319,6 @@ fi
 
 AC_SUBST(dmmsrc)
 
-AC_OUTPUT(Makefile modules/static_module_makefile modules/dynamic_module_makefile:$dmmsrc,[echo foo >stamp-h])
+AC_OUTPUT(Makefile modules/static_module_makefile  post_modules/static_module_makefile:modules/static_module_makefile.in modules/dynamic_module_makefile:$dmmsrc post_modules/dynamic_module_makefile:$dmmsrc,[echo foo >stamp-h])