Multiple target patterns in pattern rules are treated as grouped targets regardless of the separator character. Newer verions of make will generate "warning: pattern recipe did not update peer target" to warn that the rule was expected to update all of the (implicitly) grouped targets. Fix by splitting all multiple target pattern rules into single target pattern rules. Signed-off-by: Michael Brown <mcb30@ipxe.org>
60 lines
1.5 KiB
Makefile
60 lines
1.5 KiB
Makefile
# -*- makefile -*- : Force emacs to use Makefile mode
|
|
|
|
# Enable stack protection if available
|
|
#
|
|
SPG_TEST = $(CC) -fstack-protector-strong -mstack-protector-guard=global \
|
|
-x c -c /dev/null -o /dev/null >/dev/null 2>&1
|
|
SPG_FLAGS := $(shell $(SPG_TEST) && $(ECHO) '-fstack-protector-strong ' \
|
|
'-mstack-protector-guard=global')
|
|
CFLAGS += $(SPG_FLAGS)
|
|
|
|
# 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 $(firstword $(TGT_PCI_VENDOR) 0) \
|
|
-d $(firstword $(TGT_PCI_DEVICE) 0) -c $< $@
|
|
|
|
$(BIN)/efidrv.cab : $(BIN)/alldrv.efis # $(ALL_drv.efi) is not yet defined
|
|
$(QM)$(ECHO) " [CAB] $@"
|
|
$(Q)$(LCAB) -n -q $(ALL_drv.efi) $@
|
|
|
|
$(BIN)/%.iso : $(BIN)/%.efi util/genfsimg
|
|
$(QM)$(ECHO) " [GENFSIMG] $@"
|
|
$(Q)util/genfsimg -o $@ $<
|
|
|
|
$(BIN)/%.usb : $(BIN)/%.efi util/genfsimg
|
|
$(QM)$(ECHO) " [GENFSIMG] $@"
|
|
$(Q)util/genfsimg -o $@ $<
|