• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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