191fe48d5SPhilipp Schuster#!/usr/bin/env bash 2944d0920SAnatol Belski 3944d0920SAnatol BelskiWORKLOADS_DIR="$HOME/workloads" 4944d0920SAnatol Belski 5944d0920SAnatol Belskimkdir -p "$WORKLOADS_DIR" 6944d0920SAnatol Belski 7944d0920SAnatol Belskibuild_edk2() { 8944d0920SAnatol Belski EDK2_BUILD_DIR="$WORKLOADS_DIR/edk2_build" 9944d0920SAnatol Belski EDK2_REPO="https://github.com/tianocore/edk2.git" 10944d0920SAnatol Belski EDK2_DIR="$EDK2_BUILD_DIR/edk2" 11944d0920SAnatol Belski EDK2_PLAT_REPO="https://github.com/tianocore/edk2-platforms.git" 12944d0920SAnatol Belski EDK2_PLAT_DIR="$EDK2_BUILD_DIR/edk2-platforms" 13944d0920SAnatol Belski ACPICA_REPO="https://github.com/acpica/acpica.git" 14944d0920SAnatol Belski ACPICA_DIR="$EDK2_BUILD_DIR/acpica" 15944d0920SAnatol Belski export WORKSPACE="$EDK2_BUILD_DIR" 16944d0920SAnatol Belski export PACKAGES_PATH="$EDK2_DIR:$EDK2_PLAT_DIR" 17944d0920SAnatol Belski export IASL_PREFIX="$ACPICA_DIR/generate/unix/bin/" 18944d0920SAnatol Belski 19944d0920SAnatol Belski if [ ! -d "$EDK2_BUILD_DIR" ]; then 20944d0920SAnatol Belski mkdir -p "$EDK2_BUILD_DIR" 21944d0920SAnatol Belski fi 22944d0920SAnatol Belski 23944d0920SAnatol Belski # Prepare source code 24944d0920SAnatol Belski checkout_repo "$EDK2_DIR" "$EDK2_REPO" master "46b4606ba23498d3d0e66b53e498eb3d5d592586" 25*2b2d0065SRuslan Mstoi pushd "$EDK2_DIR" || exit 26944d0920SAnatol Belski git submodule update --init 27*2b2d0065SRuslan Mstoi popd || exit 28944d0920SAnatol Belski checkout_repo "$EDK2_PLAT_DIR" "$EDK2_PLAT_REPO" master "8227e9e9f6a8aefbd772b40138f835121ccb2307" 29944d0920SAnatol Belski checkout_repo "$ACPICA_DIR" "$ACPICA_REPO" master "b9c69f81a05c45611c91ea9cbce8756078d76233" 30944d0920SAnatol Belski 31318caeb9SRuslan Mstoi if [[ ! -f "$EDK2_DIR/.built" || 32318caeb9SRuslan Mstoi ! -f "$EDK2_PLAT_DIR/.built" || 33944d0920SAnatol Belski ! -f "$ACPICA_DIR/.built" ]]; then 34*2b2d0065SRuslan Mstoi pushd "$EDK2_BUILD_DIR" || exit 35944d0920SAnatol Belski # Build 36*2b2d0065SRuslan Mstoi make -C acpica -j "$(nproc)" 37*2b2d0065SRuslan Mstoi # shellcheck disable=SC1091 38944d0920SAnatol Belski source edk2/edksetup.sh 39*2b2d0065SRuslan Mstoi make -C edk2/BaseTools -j "$(nproc)" 40944d0920SAnatol Belski build -a AARCH64 -t GCC5 -p ArmVirtPkg/ArmVirtCloudHv.dsc -b RELEASE -n 0 41944d0920SAnatol Belski cp Build/ArmVirtCloudHv-AARCH64/RELEASE_GCC5/FV/CLOUDHV_EFI.fd "$WORKLOADS_DIR" 42944d0920SAnatol Belski touch "$EDK2_DIR"/.built 43944d0920SAnatol Belski touch "$EDK2_PLAT_DIR"/.built 44944d0920SAnatol Belski touch "$ACPICA_DIR"/.built 45*2b2d0065SRuslan Mstoi popd || exit 46944d0920SAnatol Belski fi 47944d0920SAnatol Belski} 48