headers.sh (1008B)
1 #!/bin/sh 2 set -eu 3 4 . $PWD/scripts/config.sh 5 6 LINUX_TAR=$(ls "$PROOT"/sources/linux-*.tar.* 2>/dev/null | head -n 1 | xargs basename) 7 if [ -z "$LINUX_TAR" ]; then 8 echo "ERR: No Linux tarball found in sources directory" 9 exit 1 10 fi 11 LINUX_SOURCE="${LINUX_TAR%%.tar*}" 12 13 if command -v "clang" >/dev/null 2>&1 && command -v "lld" >/dev/null 2>&1; then 14 export LLVM=1 15 export LLVM_IAS=1 16 fi 17 18 if [ ! -d $PROOT/build/"$LINUX_SOURCE" ]; then 19 echo "Extracting Linux tarball to ./build/" 20 tar -xpf $PROOT/sources/"$LINUX_TAR" -C $PROOT/build 21 else 22 echo "Linux source already extracted." 23 fi 24 25 echo "Creating target include directory" 26 mkdir -pv $PROOT/build/"$FROOT"/include 27 28 echo "Building Headers" 29 if [ -d $PROOT/build/"$FROOT"/include/linux ]; then 30 echo "Headers already built, skipping..." 31 exit 32 fi 33 34 cd ./build/"$LINUX_SOURCE" 35 36 make mrproper 37 make headers 38 find usr/include -type f ! -name '*.h' -delete 39 cp -rv usr/include/* $PROOT/build/"$FROOT"/include/ 40