summaryrefslogtreecommitdiff
path: root/efi/build-gnu-efi.sh
diff options
context:
space:
mode:
authorGene Cumm <gene.cumm@gmail.com>2014-02-22 12:00:11 -0500
committerGene Cumm <gene.cumm@gmail.com>2014-02-22 12:00:11 -0500
commitdd68a012cbf39d543d34ac6927cb4e4737e16445 (patch)
tree90d2b1659a1df7a6b780e46ac5aca8ea70385501 /efi/build-gnu-efi.sh
parent269a518780bd33f3c1085c402c30e225e5c48663 (diff)
downloadsyslinux-dd68a012cbf39d543d34ac6927cb4e4737e16445.tar.gz
efi: fix up gnu-efi build
This eliminates the forking and pushes the build under the efi32/ and efi64/ object directories eliminating a build race and preventing the build from breaking as gnu-efi takes a few seconds to complete. Depends on gnu-efi commit 52d88dd Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
Diffstat (limited to 'efi/build-gnu-efi.sh')
-rwxr-xr-xefi/build-gnu-efi.sh23
1 files changed, 13 insertions, 10 deletions
diff --git a/efi/build-gnu-efi.sh b/efi/build-gnu-efi.sh
index f9bab988..c87e67c2 100755
--- a/efi/build-gnu-efi.sh
+++ b/efi/build-gnu-efi.sh
@@ -18,23 +18,26 @@ EOF
exit 1
fi
-ARCH=$1
-objdir=`readlink -f $2`
+ARCH="$1"
+objdir="$(readlink -f $2)"
if [ ! -e ../version.h ]; then
printf "build-gnu-efi.sh: Cannot be run outside Syslinux object tree\n"
+ pwd
exit 1
fi
-cd ../..
-git submodule init
-git submodule update
+(
+ cd ../..
+ git submodule update --init
+)
-cd gnu-efi/gnu-efi-3.0/
+mkdir -p "$objdir/gnu-efi"
+cd "$objdir/gnu-efi"
-make ARCH=$ARCH
+EFIDIR="$(readlink -f "$objdir/../gnu-efi/gnu-efi-3.0")"
-make ARCH=$ARCH PREFIX=$objdir install
-make ARCH=$ARCH clean
+make SRCDIR="$EFIDIR" TOPDIR="$EFIDIR" -f "$EFIDIR/Makefile" ARCH=$ARCH
+make SRCDIR="$EFIDIR" TOPDIR="$EFIDIR" -f "$EFIDIR/Makefile" ARCH=$ARCH PREFIX="$objdir" install
-cd $objdir/efi
+cd "$objdir/efi"