47 lines
1.3 KiB
Bash
Executable File
47 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# To compile BusyBox without touching the original sources
|
|
# (as might be interesting for multi-target builds), create
|
|
# an empty directory, cd into it, and run this program by
|
|
# giving its explicit path (kind of like how you would run
|
|
# configure, if BusyBox had one). Then you should be ready
|
|
# to "make". Files in the build tree, in particular Config.h,
|
|
# will override those in the pristine source tree.
|
|
#
|
|
# If you use a ? in your path name, you lose, see sed command below.
|
|
|
|
export LC_ALL=POSIX
|
|
export LC_CTYPE=POSIX
|
|
|
|
DIR=${0%%/pristine_setup.sh}
|
|
if [ ! -d $DIR ]; then
|
|
echo "unexpected problem: $DIR is not a directory. Aborting pristine setup"
|
|
exit
|
|
fi
|
|
|
|
echo " "
|
|
|
|
if [ -e ./Config.h ]; then
|
|
echo "./Config.h already exists: not overwriting"
|
|
exit
|
|
fi
|
|
|
|
if [ -e ./Makefile ]; then
|
|
echo "./Makefile already exists: not overwriting"
|
|
fi
|
|
|
|
sed -e "s?BB_SRC_DIR =.*?BB_SRC_DIR = $DIR?" <$DIR/Makefile >Makefile || exit
|
|
cp $DIR/Config.h Config.h || exit
|
|
#mkdir -p pwd_grp
|
|
|
|
if [ ! -r $DIR/sh.c ]; then
|
|
echo "Warning: no shell selected. You must make the symlink (sh.c to either"
|
|
echo "lash.c or hush.c) in $DIR, not here."
|
|
fi
|
|
|
|
echo " "
|
|
echo "You may now type 'make' to build busybox in this directory"
|
|
echo "($PWD) using the pristine sources in $DIR"
|
|
echo " "
|
|
|