# -*- makefile -*- : Force emacs to use Makefile mode
# EFI probably doesn't guarantee us a red zone, so let's not rely on it.
#
CFLAGS += -mno-red-zone
# The EFI linker script
LDSCRIPT = arch/x86_64/scripts/efi.lds
# Use a relocatable link; we perform final relocations in the efilink utility.
LDFLAGS += -r -d -S
# Media types.
NON_AUTO_MEDIA += efi
# Rule for building EFI files
$(BIN)/%.efi.tmp-reloc : $(BIN)/%.efi.tmp $(EFILINK)
$(QM)$(ECHO) " [EFILINK] $@"
$(Q)# Check for unresolved symbols
$(Q)$(LD) -e 0 --no-warn-mismatch -o /dev/null $<
$(Q)$(EFILINK) $< $@
$(BIN)/%.efi : $(BIN)/%.efi.tmp-reloc
$(QM)$(ECHO) " [FINISH] $@"
$(Q)$(OBJCOPY) -Obinary $< $@