[efi] Centralise architecture-independent EFI Makefile and linker script
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
parent
86f96a40f4
commit
a8037ee131
|
@ -0,0 +1,46 @@
|
||||||
|
# -*- makefile -*- : Force emacs to use Makefile mode
|
||||||
|
|
||||||
|
# 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 driver in the all-drivers build
|
||||||
|
#
|
||||||
|
DRIVERS_net += snp
|
||||||
|
|
||||||
|
# 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 $(TGT_PCI_VENDOR) -d $(TGT_PCI_DEVICE) $< $@
|
||||||
|
|
||||||
|
$(BIN)/efidrv.cab : $(BIN)/alldrv.efis # $(ALL_drv.efi) is not yet defined
|
||||||
|
$(QM)$(ECHO) " [CAB] $@"
|
||||||
|
$(Q)$(LCAB) -n -q $(ALL_drv.efi) $@
|
||||||
|
|
||||||
|
$(BIN)/%.usb : $(BIN)/%.efi
|
||||||
|
$(QM)$(ECHO) " [GENEFIDSK] $@"
|
||||||
|
$(Q)bash util/genefidsk -o $@ -b $(EFI_BOOT_FILE) $<
|
|
@ -1,46 +1,6 @@
|
||||||
# -*- makefile -*- : Force emacs to use Makefile mode
|
# -*- makefile -*- : Force emacs to use Makefile mode
|
||||||
|
|
||||||
# The EFI linker script
|
# Include generic EFI Makefile
|
||||||
#
|
#
|
||||||
LDSCRIPT = arch/x86/scripts/efi.lds
|
MAKEDEPS += Makefile.efi
|
||||||
|
include Makefile.efi
|
||||||
# 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 driver in the all-drivers build
|
|
||||||
#
|
|
||||||
DRIVERS_net += snp
|
|
||||||
|
|
||||||
# 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 $(TGT_PCI_VENDOR) -d $(TGT_PCI_DEVICE) $< $@
|
|
||||||
|
|
||||||
$(BIN)/efidrv.cab : $(BIN)/alldrv.efis # $(ALL_drv.efi) is not yet defined
|
|
||||||
$(QM)$(ECHO) " [CAB] $@"
|
|
||||||
$(Q)$(LCAB) -n -q $(ALL_drv.efi) $@
|
|
||||||
|
|
||||||
$(BIN)/%.usb : $(BIN)/%.efi
|
|
||||||
$(QM)$(ECHO) " [GENEFIDSK] $@"
|
|
||||||
$(Q)bash util/genefidsk -o $@ -b $(EFI_BOOT_FILE) $<
|
|
||||||
|
|
Reference in New Issue