diff --git a/Makefile b/Makefile
index 057adfc92340ee7fbbf5869d981015b3cb9f4e82..7033cad57b3716a61d98359bb04825c738ffb6bf 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
 #
-# $Id: Makefile,v 1.1 1999/02/05 05:22:48 mast Exp $
+# $Id: Makefile,v 1.2 1999/02/05 17:35:28 mast Exp $
 #
 # Meta Makefile
 #
@@ -11,7 +11,7 @@ OS=`uname -srm|sed -e 's/ /-/g'|tr '[A-Z]' '[a-z]'|tr '/' '_'`
 BUILDDIR=build/$(OS)
 METATARGET=
 
-all: compile
+all: bin/pike compile
 
 src/configure: src/configure.in
 	cd src && ./run_autoconfig . 2>&1 | grep -v warning
@@ -45,30 +45,36 @@ compile: configure
 	  $(MAKE) all $$metatarget || ( test -f remake && $(MAKE) all $$metatarget ) \
 	)
 
+force:
+
+bin/pike: force
+	sed -e "s|\"BASEDIR\"|\"`pwd`\"|" < bin/pike.in > bin/pike
+	chmod a+x bin/pike
+
 install:
-	@$(MAKE) "MAKE=$(MAKE)" "prefix=$(prefix)" "BUILDDIR=$(BUILDDIR)" "METATARGET=install" compile
+	@$(MAKE) "MAKE=$(MAKE)" "prefix=$(prefix)" "BUILDDIR=$(BUILDDIR)" "METATARGET=install"
 
 verify:
-	@$(MAKE) "MAKE=$(MAKE)" "prefix=$(prefix)" "BUILDDIR=$(BUILDDIR)" "METATARGET=verify" compile
+	@$(MAKE) "MAKE=$(MAKE)" "prefix=$(prefix)" "BUILDDIR=$(BUILDDIR)" "METATARGET=verify"
 
 verify_installed:
-	@$(MAKE) "MAKE=$(MAKE)" "prefix=$(prefix)" "BUILDDIR=$(BUILDDIR)" "METATARGET=verify_installed" compile
+	@$(MAKE) "MAKE=$(MAKE)" "prefix=$(prefix)" "BUILDDIR=$(BUILDDIR)" "METATARGET=verify_installed"
 
 check: verify
 
 sure: verify
 
 verbose_verify:
-	@$(MAKE) "MAKE=$(MAKE)" "prefix=$(prefix)" "BUILDDIR=$(BUILDDIR)" "METATARGET=verbose_verify" compile
+	@$(MAKE) "MAKE=$(MAKE)" "prefix=$(prefix)" "BUILDDIR=$(BUILDDIR)" "METATARGET=verbose_verify"
 
 gdb_verify:
-	@$(MAKE) "MAKE=$(MAKE)" "prefix=$(prefix)" "BUILDDIR=$(BUILDDIR)" "METATARGET=gdb_verify" compile
+	@$(MAKE) "MAKE=$(MAKE)" "prefix=$(prefix)" "BUILDDIR=$(BUILDDIR)" "METATARGET=gdb_verify"
 
 run_hilfe:
-	@$(MAKE) "MAKE=$(MAKE)" "prefix=$(prefix)" "BUILDDIR=$(BUILDDIR)" "METATARGET=run_hilfe" compile
+	@$(MAKE) "MAKE=$(MAKE)" "prefix=$(prefix)" "BUILDDIR=$(BUILDDIR)" "METATARGET=run_hilfe"
 
 feature_list:
-	@$(MAKE) "MAKE=$(MAKE)" "prefix=$(prefix)" "BUILDDIR=$(BUILDDIR)" "METATARGET=feature_list" compile
+	@$(MAKE) "MAKE=$(MAKE)" "prefix=$(prefix)" "BUILDDIR=$(BUILDDIR)" "METATARGET=feature_list"
 
 clean:
 	-cd "$(BUILDDIR)" && $(MAKE) clean
diff --git a/bin/pike.in b/bin/pike.in
new file mode 100644
index 0000000000000000000000000000000000000000..bd83a8c655ed523ffc0b4a3d8c31f03122d60313
--- /dev/null
+++ b/bin/pike.in
@@ -0,0 +1,18 @@
+#!/bin/sh
+# Runs Pike from the build directory.
+
+PIKE_BASEDIR="BASEDIR"
+if test "$PIKE_BASEDIR" = BASEDIR; then
+  echo Run make in the parent directory to generate this script.
+  exit 1
+fi
+
+OS=${OS:-`uname -srm|sed -e 's/ /-/g'|tr '[A-Z]' '[a-z]'|tr '/' '_'`}
+BUILDDIR=${BUILDDIR:-"build/$OS"}
+
+case "$BUILDDIR" in
+  /*) :;;
+  *) BUILDDIR="$PIKE_BASEDIR/$BUILDDIR";;
+esac
+
+exec "$BUILDDIR/pike" -DNOT_INSTALLED -m "$BUILDDIR/master.pike" "$@"