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 $@ |