GNU Make 4.2.1 as shipped in Ubuntu 20.04 has a problem with secondary expansion and variable names containing the '/' character. Make 4.3 and 4.4 don't have the problem. Instead of using the variable name from riscv/sbi-deps and matching it from the riscv/sbi.* target name, name the variable sbi-deps and match it by stripping the riscv/ directory name off the riscv/sbi.* target name. Reported-by: Joel Stanley Signed-off-by: Nicholas Piggin --- riscv/Makefile | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/riscv/Makefile b/riscv/Makefile index beaeaefa..64720c38 100644 --- a/riscv/Makefile +++ b/riscv/Makefile @@ -18,12 +18,12 @@ tests += $(TEST_DIR)/isa-dbltrp.$(exe) all: $(tests) -$(TEST_DIR)/sbi-deps += $(TEST_DIR)/sbi-asm.o -$(TEST_DIR)/sbi-deps += $(TEST_DIR)/sbi-dbtr.o -$(TEST_DIR)/sbi-deps += $(TEST_DIR)/sbi-fwft.o -$(TEST_DIR)/sbi-deps += $(TEST_DIR)/sbi-sse.o +sbi-deps += $(TEST_DIR)/sbi-asm.o +sbi-deps += $(TEST_DIR)/sbi-dbtr.o +sbi-deps += $(TEST_DIR)/sbi-fwft.o +sbi-deps += $(TEST_DIR)/sbi-sse.o -all_deps += $($(TEST_DIR)/sbi-deps) +all_deps += $(sbi-deps) # When built for EFI sieve needs extra memory, run with e.g. '-m 256' on QEMU $(TEST_DIR)/sieve.$(exe): AUXFLAGS = 0x1 @@ -113,7 +113,7 @@ cflatobjs += lib/efi.o .PRECIOUS: %.so %.so: EFI_LDFLAGS += -defsym=EFI_SUBSYSTEM=0xa --no-undefined -%.so: %.o $(FLATLIBS) $(SRCDIR)/riscv/efi/elf_riscv64_efi.lds $(cstart.o) %.aux.o $$($$*-deps) +%.so: %.o $(FLATLIBS) $(SRCDIR)/riscv/efi/elf_riscv64_efi.lds $(cstart.o) %.aux.o $$($$(notdir $$*)-deps) $(LD) $(EFI_LDFLAGS) -o $@ -T $(SRCDIR)/riscv/efi/elf_riscv64_efi.lds \ $(filter %.o, $^) $(FLATLIBS) $(EFI_LIBS) @@ -129,7 +129,7 @@ cflatobjs += lib/efi.o -O binary $^ $@ else %.elf: LDFLAGS += -pie -n -z notext -%.elf: %.o $(FLATLIBS) $(SRCDIR)/riscv/flat.lds $(cstart.o) %.aux.o $$($$*-deps) +%.elf: %.o $(FLATLIBS) $(SRCDIR)/riscv/flat.lds $(cstart.o) %.aux.o $$($$(notdir $$*)-deps) $(LD) $(LDFLAGS) -o $@ -T $(SRCDIR)/riscv/flat.lds \ $(filter %.o, $^) $(FLATLIBS) @chmod a-x $@ -- 2.51.0