# -*- makefile -*- : Force emacs to use Makefile mode # Enable stack protection if available # SPG_TEST = $(CC) -fstack-protector-strong -mstack-protector-guard=global \ -x c -c /dev/null -o /dev/null >/dev/null 2>&1 SPG_FLAGS := $(shell $(SPG_TEST) && $(ECHO) '-fstack-protector-strong ' \ '-mstack-protector-guard=global') CFLAGS += $(SPG_FLAGS) # The EFI linker script # LDSCRIPT = scripts/efi.lds # Retain relocation information for elf2efi # LDFLAGS += -q -S # Media types. # NON_AUTO_MEDIA += efi NON_AUTO_MEDIA += efidrv NON_AUTO_MEDIA += drv.efi NON_AUTO_MEDIA += efirom # Include SNP and MNP drivers in the all-drivers build # DRIVERS_net += snp mnp # Rules for building EFI files # $(BIN)/%.efi : $(BIN)/%.efi.tmp $(ELF2EFI) $(QM)$(ECHO) " [FINISH] $@" $(Q)$(ELF2EFI) --subsystem=10 $< $@ $(BIN)/%.efidrv : $(BIN)/%.efidrv.tmp $(ELF2EFI) $(QM)$(ECHO) " [FINISH] $@" $(Q)$(ELF2EFI) --subsystem=11 $< $@ $(BIN)/%.drv.efi : $(BIN)/%.efidrv $(QM)$(ECHO) " [FINISH] $@" $(Q)$(CP) $< $@ $(BIN)/%.efirom : $(BIN)/%.efidrv $(EFIROM) $(QM)$(ECHO) " [FINISH] $@" $(Q)$(EFIROM) -v $(firstword $(TGT_PCI_VENDOR) 0) \ -d $(firstword $(TGT_PCI_DEVICE) 0) -c $< $@ $(BIN)/efidrv.cab : $(BIN)/alldrv.efis # $(ALL_drv.efi) is not yet defined $(QM)$(ECHO) " [CAB] $@" $(Q)$(LCAB) -n -q $(ALL_drv.efi) $@ $(BIN)/%.iso : $(BIN)/%.efi util/genfsimg $(QM)$(ECHO) " [GENFSIMG] $@" $(Q)util/genfsimg -o $@ $< $(BIN)/%.usb : $(BIN)/%.efi util/genfsimg $(QM)$(ECHO) " [GENFSIMG] $@" $(Q)util/genfsimg -o $@ $<