Linux preempt-rt

Check our new training course

Real-Time Linux with PREEMPT_RT

Check our new training course
with Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

#!/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 " "