Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1555)

Unified Diff: src/third_party/bootstub/files/Makefile

Issue 2071024: Add new bootstub source. (Closed) Base URL: ssh://git@chromiumos-git/chromeos
Patch Set: Respond to feedback with more comments. Created 10 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 $@

Powered by Google App Engine
This is Rietveld 408576698