[build] Allow extra objects to be included in an all-drivers build
The build system allows for additional drivers (or other objects) to be specified using build targets such as make bin/intel--realtek.usb make bin/8086100e--8086100f.mrom This currently fails if the base target is the "bin/ipxe.*" all-drivers target, e.g. make bin/ipxe--acm.usb Fix the build target parsing logic to allow additional drivers (or other objects) to be included on top of the base all-drivers target. This can be used to include USB network card drivers, which are not yet included by default in the all-drivers build. Reported-by: Andrew Sloma <asloma@lenovo.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
parent
e3012f9949
commit
91dd5524b7
@ -960,13 +960,13 @@ DRIVERS_ipxe = $(DRIVERS_net) $(DRIVERS_infiniband) \
|
|||||||
# TGT_DRIVERS : the driver for each element (e.g. "rtl8139 prism2_pci")
|
# TGT_DRIVERS : the driver for each element (e.g. "rtl8139 prism2_pci")
|
||||||
# TGT_ROM_NAME : the ROM name (e.g. "dfe538")
|
# TGT_ROM_NAME : the ROM name (e.g. "dfe538")
|
||||||
#
|
#
|
||||||
CARD_DRIVER = $(firstword $(DRIVER_$(1)) $(1))
|
|
||||||
TGT_ELEMENTS = $(subst --, ,$(firstword $(subst ., ,$(notdir $@))))
|
TGT_ELEMENTS = $(subst --, ,$(firstword $(subst ., ,$(notdir $@))))
|
||||||
TGT_ROM_NAME = $(firstword $(TGT_ELEMENTS))
|
TGT_ROM_NAME = $(firstword $(TGT_ELEMENTS))
|
||||||
TGT_DRIVERS = $(strip $(if $(DRIVERS_$(TGT_ROM_NAME)), \
|
TGT_DRIVERS = $(strip $(foreach TGT_ELEMENT,$(TGT_ELEMENTS), \
|
||||||
$(DRIVERS_$(TGT_ROM_NAME)), \
|
$(if $(DRIVERS_$(TGT_ELEMENT)), \
|
||||||
$(foreach TGT_ELEMENT,$(TGT_ELEMENTS), \
|
$(DRIVERS_$(TGT_ELEMENT)), \
|
||||||
$(call CARD_DRIVER,$(TGT_ELEMENT))) ))
|
$(firstword $(DRIVER_$(TGT_ELEMENT)) \
|
||||||
|
$(TGT_ELEMENT)))))
|
||||||
TGT_PREFIX_NAME = $(word 2,$(subst ., ,$(notdir $@)))
|
TGT_PREFIX_NAME = $(word 2,$(subst ., ,$(notdir $@)))
|
||||||
TGT_PREFIX = $(strip $(if $(filter rom,$(TGT_PREFIX_NAME)), \
|
TGT_PREFIX = $(strip $(if $(filter rom,$(TGT_PREFIX_NAME)), \
|
||||||
$(ROM_TYPE_$(TGT_ROM_NAME))rom, \
|
$(ROM_TYPE_$(TGT_ROM_NAME))rom, \
|
||||||
|
Reference in New Issue
Block a user