qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

edk2-build.sh (1505B)


      1 #!/bin/bash
      2 
      3 # Wrapper shell script for building a  virtual platform firmware in edk2.
      4 #
      5 # Copyright (C) 2019 Red Hat, Inc.
      6 #
      7 # This program and the accompanying materials are licensed and made available
      8 # under the terms and conditions of the BSD License that accompanies this
      9 # distribution. The full text of the license may be found at
     10 # <http://opensource.org/licenses/bsd-license.php>.
     11 #
     12 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT
     13 # WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     14 
     15 set -e -u -C
     16 
     17 # Save the command line arguments. We need to reset $# to 0 before sourcing
     18 # "edksetup.sh", as it will inherit $@.
     19 emulation_target=$1
     20 shift
     21 num_args=0
     22 args=()
     23 for arg in "$@"; do
     24   args[num_args++]="$arg"
     25 done
     26 shift $num_args
     27 
     28 cd edk2
     29 
     30 export PYTHON_COMMAND=${EDK2_PYTHON_COMMAND:-python3}
     31 
     32 # Source "edksetup.sh" carefully.
     33 set +e +u +C
     34 source ./edksetup.sh
     35 ret=$?
     36 set -e -u -C
     37 if [ $ret -ne 0 ]; then
     38   exit $ret
     39 fi
     40 
     41 # Fetch some option arguments, and set the cross-compilation environment (if
     42 # any), for the edk2 "build" utility.
     43 source ../edk2-funcs.sh
     44 edk2_toolchain=$(qemu_edk2_get_toolchain "$emulation_target")
     45 MAKEFLAGS=$(qemu_edk2_quirk_tianocore_1607 "$MAKEFLAGS")
     46 edk2_thread_count=$(qemu_edk2_get_thread_count "$MAKEFLAGS")
     47 qemu_edk2_set_cross_env "$emulation_target"
     48 
     49 # Build the platform firmware.
     50 build \
     51   --cmd-len=65536 \
     52   -n "$edk2_thread_count" \
     53   --buildtarget=RELEASE \
     54   --tagname="$edk2_toolchain" \
     55   "${args[@]}"