| # source this script in bash | 
 |  | 
 | source ${ANDROID_BUILD_TOP}/build/envsetup.sh | 
 |  | 
 | # See envsetup.sh for an example of using --dumpvars-mode to set shell variables. | 
 | eval "$(cd ${ANDROID_BUILD_TOP}; build/soong/soong_ui.bash --dumpvars-mode --vars="\ | 
 |     TARGET_ARCH \ | 
 |     TARGET_OUT \ | 
 |     TARGET_OUT_EXECUTABLES \ | 
 |     TARGET_OUT_DATA \ | 
 |     HOST_OS \ | 
 |     HOST_ARCH \ | 
 |     HOST_OUT \ | 
 |     ")" | 
 |  | 
 | function prepare() | 
 | { | 
 |     local BITS=$1 | 
 |     shift | 
 |  | 
 |     BENCHMARKS=${TARGET_OUT_DATA}/benchmarktest | 
 |     NATIVETEST=${TARGET_OUT_DATA}/nativetest | 
 |     if [ "${BITS}" = 64 ]; then | 
 |         BENCHMARKS=${BENCHMARKS}64 | 
 |         NATIVETEST=${NATIVETEST}64 | 
 |     fi | 
 |  | 
 |     if [ ${TARGET_ARCH} = x86 -o ${TARGET_ARCH} = x86_64 ]; then | 
 |         m -j MODULES-IN-bionic MODULES-IN-external-icu MODULES-IN-external-mksh ${TARGET_OUT}/etc/hosts "$@" | 
 |  | 
 |         if [ ! -d /system ]; then | 
 |             echo "Attempting to create /system" | 
 |             sudo mkdir -p -m 0777 /system | 
 |             mkdir -p -m 0777 /system/bin | 
 |             mkdir -p -m 0777 /system/lib | 
 |             mkdir -p -m 0777 /system/lib64 | 
 |         fi | 
 |         ( | 
 |             function make_link() { | 
 |                 dir=$1 | 
 |                 tgt=$2 | 
 |                 name=`basename ${tgt}` | 
 |                 src=$dir/$name | 
 |                 if [ -e $tgt ]; then | 
 |                     ln -sfT `realpath ${tgt}` $src | 
 |                 fi | 
 |             } | 
 |             cd ${ANDROID_BUILD_TOP} | 
 |             mkdir -p ${TARGET_OUT_DATA}/local/tmp | 
 |             for i in ${TARGET_OUT}/bin/bootstrap/* ${TARGET_OUT}/bin/*; do | 
 |                 make_link /system/bin ${i} | 
 |             done | 
 |             ln -fs `realpath ${TARGET_OUT}/etc` /system/ | 
 |             for i in ${TARGET_OUT}/lib/bootstrap/* ${TARGET_OUT}/lib/*; do | 
 |                 make_link /system/lib ${i} | 
 |             done | 
 |             for i in ${TARGET_OUT}/lib64/bootstrap/* ${TARGET_OUT}/lib64/*; do | 
 |                 make_link /system/lib64 ${i} | 
 |             done | 
 |         ) | 
 |     fi | 
 | } |