A patch from Larry to fix pristine source builds (again).
I just can't seem to _not_ break it.  Sigh.
diff --git a/Makefile b/Makefile
index 91ed745..540e96c 100644
--- a/Makefile
+++ b/Makefile
@@ -274,7 +274,7 @@
 	@if [ ! -L sh.c ] ; then ln -s lash.c sh.c ; fi
 
 applet_source_list: sh.c busybox.sh Config.h
-	(echo -n "APPLET_SOURCES := "; $(SHELL) $(filter-out sh.c, $^) $(BB_SRC_DIR)) > $@
+	(echo -n "APPLET_SOURCES := "; BB_SRC_DIR=$(BB_SRC_DIR) $(SHELL) $^) > $@
 
 doc: olddoc
 
diff --git a/applets/busybox.sh b/applets/busybox.sh
index 2f9a905..6b25dff 100755
--- a/applets/busybox.sh
+++ b/applets/busybox.sh
@@ -9,7 +9,7 @@
     | tr A-Z a-z | sort
 `
 test "${RAW}" != "" ||  exit
-cd ${2:-.}
+if [ -d $BB_SRC_DIR ]; then cd $BB_SRC_DIR; fi
 # By running $RAW through "ls", we avoid listing
 # source files that don't exist.
 ls $RAW 2>/dev/null | tr '\n' ' '
diff --git a/busybox.sh b/busybox.sh
index 2f9a905..6b25dff 100755
--- a/busybox.sh
+++ b/busybox.sh
@@ -9,7 +9,7 @@
     | tr A-Z a-z | sort
 `
 test "${RAW}" != "" ||  exit
-cd ${2:-.}
+if [ -d $BB_SRC_DIR ]; then cd $BB_SRC_DIR; fi
 # By running $RAW through "ls", we avoid listing
 # source files that don't exist.
 ls $RAW 2>/dev/null | tr '\n' ' '