7e07088de3113e8bf5e396f6a9a01a7aba95984f
[people/asdlkf/gpxe.git] / src / arch / x86_64 / Makefile.efi
1 # -*- makefile -*- : Force emacs to use Makefile mode
2
3 # EFI probably doesn't guarantee us a red zone, so let's not rely on it.
4 #
5 CFLAGS          += -mno-red-zone
6
7 # The EFI linker script
8 #
9 LDSCRIPT        = arch/x86_64/scripts/efi.lds
10
11 # Use a relocatable link; we perform final relocations in the efilink utility.
12 #
13 LDFLAGS         += -r -d -S
14
15 # Media types.
16 #
17 NON_AUTO_MEDIA  += efi
18
19 # Rule for building EFI files
20 #
21 $(BIN)/%.efi.tmp-reloc : $(BIN)/%.efi.tmp $(EFILINK)
22         $(QM)$(ECHO) "  [EFILINK] $@"
23         $(Q)$(LD) -e 0 -o /dev/null $< # Check for unresolved symbols
24         $(Q)$(EFILINK) $< $@
25
26 $(BIN)/%.efi : $(BIN)/%.efi.tmp-reloc
27         $(QM)$(ECHO) "  [FINISH] $@"
28         $(Q)$(OBJCOPY) -Obinary $< $@