#!/bin/ksh LC_ALL=C LANG=C export LC_ALL export LANG echo_eval(){ echo "$@" eval "$@" } set_tar_dir(){ b="$1" eval "${b}_tar"=$(find . -name "${b}-*.tar*" | tail -n 1) #eval echo "\$${b}_tar" eval "${b}_dir"=$(eval tar tzf "\$${b}_tar" | head -n 1) #eval echo "\$${b}_dir" } for b in \ xnu \ ; do set_tar_dir "$b" && eval tar="\$${b}_tar" && eval dir="\$${b}_dir" && [ -d "$dir" ] || case "$tar" in *.tar.lzma) echo_eval tar --lzma -xf "'$tar'" ;; *.tar.xz) echo_eval tar xJf "'$tar'" ;; *.tar.bz2) echo_eval tar xjf "'$tar'" ;; *.tar.gz) echo_eval tar xzf "'$tar'" ;; *.tar.Z) echo_eval tar xZf "'$tar'" ;; *.tar) echo_eval tar xf "'$tar'" ;; *) break ;; esac done && ( echo_eval cd "'$xnu_dir'" && echo_eval mkdir -p obj sym dst && echo_eval make CC=gcc ARCH_CONFIGS="'I386 X86_64'"SRCROOT="'$PWD'" OBJROOT="'$PWD/obj'" SYMROOT="'$PWD/sym'" DSTROOT="'$PWD/dst'" exporthdrs all && : ) && echo ok || echo ng