summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown2016-03-12 22:47:13 +0100
committerMichael Brown2016-03-12 22:47:13 +0100
commita8037ee131a9501ddfc89ce157e3718b1a3b86a7 (patch)
tree918210dd467c16d5778a9ebd229d5060957a3ce5
parent[tg3] Remove x86-specific inline assembly (diff)
downloadipxe-a8037ee131a9501ddfc89ce157e3718b1a3b86a7.tar.gz
ipxe-a8037ee131a9501ddfc89ce157e3718b1a3b86a7.tar.xz
ipxe-a8037ee131a9501ddfc89ce157e3718b1a3b86a7.zip
[efi] Centralise architecture-independent EFI Makefile and linker script
Signed-off-by: Michael Brown <mcb30@ipxe.org>
-rw-r--r--src/Makefile.efi46
-rw-r--r--src/arch/x86/Makefile.efi46
-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 00000000..151b3318
--- /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 c4bc2308..f04be425 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 f1049f24..f1049f24 100644
--- a/src/arch/x86/scripts/efi.lds
+++ b/src/scripts/efi.lds