diff options
author | Michael Brown <mcb30@ipxe.org> | 2016-03-12 21:47:13 +0000 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2016-03-12 21:47:13 +0000 |
commit | a8037ee131a9501ddfc89ce157e3718b1a3b86a7 (patch) | |
tree | 918210dd467c16d5778a9ebd229d5060957a3ce5 /src | |
parent | 86f96a40f490b1f10662a2d94a86a01276d2a125 (diff) | |
download | ipxe-a8037ee131a9501ddfc89ce157e3718b1a3b86a7.zip ipxe-a8037ee131a9501ddfc89ce157e3718b1a3b86a7.tar.gz ipxe-a8037ee131a9501ddfc89ce157e3718b1a3b86a7.tar.bz2 |
[efi] Centralise architecture-independent EFI Makefile and linker script
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile.efi | 46 | ||||
-rw-r--r-- | src/arch/x86/Makefile.efi | 46 | ||||
-rw-r--r-- | src/scripts/efi.lds (renamed from src/arch/x86/scripts/efi.lds) | 0 |
3 files changed, 49 insertions, 43 deletions
diff --git a/src/Makefile.efi b/src/Makefile.efi new file mode 100644 index 0000000..151b331 --- /dev/null +++ b/src/Makefile.efi @@ -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) $< diff --git a/src/arch/x86/Makefile.efi b/src/arch/x86/Makefile.efi index c4bc230..f04be42 100644 --- a/src/arch/x86/Makefile.efi +++ b/src/arch/x86/Makefile.efi @@ -1,46 +1,6 @@ # -*- makefile -*- : Force emacs to use Makefile mode -# The EFI linker script +# Include generic EFI Makefile # -LDSCRIPT = arch/x86/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) $< +MAKEDEPS += Makefile.efi +include Makefile.efi diff --git a/src/arch/x86/scripts/efi.lds b/src/scripts/efi.lds index f1049f2..f1049f2 100644 --- a/src/arch/x86/scripts/efi.lds +++ b/src/scripts/efi.lds |