| Index: src/third_party/bootstub/files/Makefile
|
| diff --git a/src/third_party/bootstub/files/Makefile b/src/third_party/bootstub/files/Makefile
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f5820066e6594853aff002dffda311c0b9f5726c
|
| --- /dev/null
|
| +++ b/src/third_party/bootstub/files/Makefile
|
| @@ -0,0 +1,83 @@
|
| +#
|
| +# Copyright (C) 1999-2001 Hewlett-Packard Co.
|
| +# Contributed by David Mosberger <davidm@hpl.hp.com>
|
| +# Contributed by Stephane Eranian <eranian@hpl.hp.com>
|
| +#
|
| +# This file is part of the gnu-efi package.
|
| +#
|
| +# GNU-EFI is free software; you can redistribute it and/or modify
|
| +# it under the terms of the GNU General Public License as published by
|
| +# the Free Software Foundation; either version 2, or (at your option)
|
| +# any later version.
|
| +#
|
| +# GNU-EFI is distributed in the hope that it will be useful,
|
| +# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
| +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
| +# GNU General Public License for more details.
|
| +#
|
| +# You should have received a copy of the GNU General Public License
|
| +# along with GNU-EFI; see the file COPYING. If not, write to the Free
|
| +# Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
| +# 02111-1307, USA.
|
| +#
|
| +
|
| +PREFIX ?= /usr/bin/x86_64-pc-linux-gnu-
|
| +CC ?= $(PREFIX)gcc
|
| +LD ?= $(PREFIX)ld
|
| +OBJCOPY ?= $(PREFIX)objcopy
|
| +
|
| +
|
| +EFIINC = /usr/include/efi
|
| +EFILIB = /usr/lib
|
| +EFICRT0 = /usr/lib
|
| +
|
| +ARCH = $(shell uname -m | sed s,i[3456789]86,ia32,)
|
| +
|
| +INCDIR = -I$(EFIINC) -I$(EFIINC)/$(ARCH)
|
| +
|
| +CPPFLAGS = -DCONFIG_$(ARCH)
|
| +
|
| +OPTIMFLAGS = -O2
|
| +DEBUGFLAGS = -Wall
|
| +CFLAGS = $(OPTIMFLAGS) -fpic -fshort-wchar $(DEBUGFLAGS)
|
| +CFLAGS += -DEFI_FUNCTION_WRAPPER
|
| +LDFLAGS = -nostdlib -znocombreloc
|
| +
|
| +
|
| +CRTOBJS = $(EFICRT0)/crt0-efi-$(ARCH).o
|
| +LDSCRIPT = $(EFICRT0)/elf_$(ARCH)_efi.lds
|
| +
|
| +LDFLAGS += -T $(LDSCRIPT) -shared -Bsymbolic -L$(EFILIB) $(CRTOBJS)
|
| +LOADLIBES = -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name)
|
| +FORMAT = efi-app-$(ARCH)
|
| +
|
| +
|
| +TARGETS = bootstub.efi
|
| +
|
| +all: $(TARGETS)
|
| +
|
| +clean:
|
| + rm -f $(TARGETS) *~ *.o *.so
|
| +
|
| +install: bootstub.efi
|
| + mkdir -p $(DESTDIR)
|
| + cp -f $^ $(DESTDIR)
|
| +
|
| +.PHONY: all clean install
|
| +
|
| +
|
| +bootstub.so: bootstub.o trampoline.o
|
| + $(LD) $(LDFLAGS) $^ -o $@ $(LOADLIBES)
|
| +
|
| +%.efi: %.so
|
| + $(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic -j .dynsym -j .rel \
|
| + -j .rela -j .reloc --target=$(FORMAT) $*.so $@
|
| +
|
| +%.so: %.o
|
| + $(LD) $(LDFLAGS) $^ -o $@ $(LOADLIBES)
|
| +
|
| +%.o: %.c
|
| + $(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
|
| +
|
| +%.o: %.S
|
| + $(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
|
|
|