summaryrefslogtreecommitdiffstats
path: root/src/arch/x86_64/Makefile.efi
blob: 7e07088de3113e8bf5e396f6a9a01a7aba95984f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# -*- 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)$(LD) -e 0 -o /dev/null $< # Check for unresolved symbols
	$(Q)$(EFILINK) $< $@

$(BIN)/%.efi : $(BIN)/%.efi.tmp-reloc
	$(QM)$(ECHO) "  [FINISH] $@"
	$(Q)$(OBJCOPY) -Obinary $< $@