summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Makefile1
-rw-r--r--src/Makefile.housekeeping4
-rw-r--r--src/arch/i386/Makefile.pcbios8
-rw-r--r--src/arch/x86/Makefile.efi10
4 files changed, 17 insertions, 6 deletions
diff --git a/src/Makefile b/src/Makefile
index 207369a9..c6f090d9 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -49,6 +49,7 @@ ICCFIX := ./util/iccfix
EINFO := ./util/einfo
GENKEYMAP := ./util/genkeymap.pl
DOXYGEN := doxygen
+LCAB := lcab
BINUTILS_DIR := /usr
BFD_DIR := $(BINUTILS_DIR)
ZLIB_DIR := /usr
diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping
index b4023ac6..80b70f5c 100644
--- a/src/Makefile.housekeeping
+++ b/src/Makefile.housekeeping
@@ -1086,7 +1086,9 @@ automedia :
#
define media_template
$(if $(filter $(1),$(AUTO_MEDIA)),$(call auto_media_template,$(1)))
-$$(BIN)/all$(1)s : $$(foreach DRIVER,$$(DRIVERS),$$(BIN)/$$(DRIVER).$(1))
+LIST_$(1) := $$(if $$(LIST_NAME_$(1)),$$($$(LIST_NAME_$(1))),$$(DRIVERS))
+ALL_$(1) = $$(foreach ITEM,$$(LIST_$(1)),$$(BIN)/$$(ITEM).$(1))
+$$(BIN)/all$(1)s : $$(ALL_$(1))
$$(BIN)/allall : $$(BIN)/all$(1)s
all$(1)s : $$(BIN)/all$(1)s
allall : $$(BIN)/allall
diff --git a/src/arch/i386/Makefile.pcbios b/src/arch/i386/Makefile.pcbios
index 32800cde..d3fe8b9e 100644
--- a/src/arch/i386/Makefile.pcbios
+++ b/src/arch/i386/Makefile.pcbios
@@ -40,12 +40,10 @@ PAD_exe = $(PERL) $(PADIMG) --blksize=512
FINALISE_rom = $(PERL) $(FIXROM)
FINALISE_mrom = $(FINALISE_rom)
-# Add per-ROM targets for "allroms"
+# Use $(ROMS) rather than $(DRIVERS) for "allroms" and "allmroms"
#
-$(BIN)/allroms : $(foreach ROM,$(ROMS),$(BIN)/$(ROM).rom)
-$(BIN)/allmroms : $(foreach ROM,$(ROMS),$(BIN)/$(ROM).mrom)
-allroms : $(BIN)/allroms
-allmroms : $(BIN)/allmroms
+LIST_NAME_rom := ROMS
+LIST_NAME_mrom := ROMS
# rule to make a non-emulation ISO boot image
NON_AUTO_MEDIA += iso
diff --git a/src/arch/x86/Makefile.efi b/src/arch/x86/Makefile.efi
index bef8d59d..3e3fbe3c 100644
--- a/src/arch/x86/Makefile.efi
+++ b/src/arch/x86/Makefile.efi
@@ -12,6 +12,8 @@ LDFLAGS += -q -S
#
NON_AUTO_MEDIA += efi
NON_AUTO_MEDIA += efidrv
+NON_AUTO_MEDIA += drv.efi
+NON_AUTO_MEDIA += efirom
# Rules for building EFI files
#
@@ -23,6 +25,14 @@ $(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) $@