1 # -*- makefile -*- : Force emacs to use Makefile mode
3 # Enable stack protection if available
5 SPG_TEST = $(CC) -fstack-protector-strong -mstack-protector-guard=global \
6 -x c -c /dev/null -o /dev/null >/dev/null 2>&1
7 SPG_FLAGS := $(shell $(SPG_TEST) && $(ECHO) '-fstack-protector-strong ' \
8 '-mstack-protector-guard=global')
11 # The EFI linker script
13 LDSCRIPT = scripts/efi.lds
15 # Retain relocation information for elf2efi
22 NON_AUTO_MEDIA += efidrv
23 NON_AUTO_MEDIA += drv.efi
24 NON_AUTO_MEDIA += efirom
26 # Include SNP driver in the all-drivers build
30 # Rules for building EFI files
32 $(BIN)/%.efi : $(BIN)/%.efi.tmp $(ELF2EFI)
33 $(QM)$(ECHO) " [FINISH] $@"
34 $(Q)$(ELF2EFI) --subsystem=10 $< $@
36 $(BIN)/%.efidrv : $(BIN)/%.efidrv.tmp $(ELF2EFI)
37 $(QM)$(ECHO) " [FINISH] $@"
38 $(Q)$(ELF2EFI) --subsystem=11 $< $@
40 $(BIN)/%.drv.efi : $(BIN)/%.efidrv
41 $(QM)$(ECHO) " [FINISH] $@"
44 $(BIN)/%.efirom : $(BIN)/%.efidrv $(EFIROM)
45 $(QM)$(ECHO) " [FINISH] $@"
46 $(Q)$(EFIROM) -v $(firstword $(TGT_PCI_VENDOR) 0) \
47 -d $(firstword $(TGT_PCI_DEVICE) 0) -c $< $@
49 $(BIN)/efidrv.cab : $(BIN)/alldrv.efis # $(ALL_drv.efi) is not yet defined
50 $(QM)$(ECHO) " [CAB] $@"
51 $(Q)$(LCAB) -n -q $(ALL_drv.efi) $@
53 $(BIN)/%.iso $(BIN)/%.usb : $(BIN)/%.efi util/genfsimg
54 $(QM)$(ECHO) " [GENFSIMG] $@"
55 $(Q)util/genfsimg -o $@ $<