1#!/bin/sh 2 3set -e 4 5# Initialise the gnu-efi submodule and ensure the source is up-to-date. 6# Then build and install it for the given architecture. 7 8if [ $# -lt 2 ]; then 9cat <<EOF 10Usage: $0: <arch> <objdir> 11 12Build the <arch> gnu-efi libs and header files and install in <objdir>. 13 14 <arch> - A gnu-efi \$ARCH argument, i.e. ia32, x86_64 15 <objdir> - The Syslinux object directory 16 17EOF 18 exit 1 19fi 20 21ARCH="$1" 22objdir="$(readlink -f $2)" 23 24if [ ! -e ../version.h ]; then 25 printf "build-gnu-efi.sh: Cannot be run outside Syslinux object tree\n" 26 pwd 27 exit 1 28fi 29 30( 31 cd ../.. 32 git submodule update --init 33) 34 35mkdir -p "$objdir/gnu-efi" 36cd "$objdir/gnu-efi" 37 38EFIDIR="$(readlink -f "$objdir/../gnu-efi/gnu-efi-3.0")" 39 40make SRCDIR="$EFIDIR" TOPDIR="$EFIDIR" -f "$EFIDIR/Makefile" ARCH=$ARCH 41make SRCDIR="$EFIDIR" TOPDIR="$EFIDIR" -f "$EFIDIR/Makefile" ARCH=$ARCH PREFIX="$objdir" install 42 43cd "$objdir/efi" 44