|
From: | Steven Simpson |
Subject: | Re: Possible GNU Make 4.3 bug |
Date: | Sat, 20 Mar 2021 18:24:07 +0000 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 |
The bug is the following two lines:
Must remake target 'res/tpnk_dev_logo_tiles.2bpp.pb16.size'.
Successfully remade target file 'res/tpnk_dev_logo_tiles.2bpp.pb16.size'.
This .size file appears to be a generated header for assembly
source, and the assembler has generated rules for it:
obj/starting_screen.o dep/starting_screen.mk : res/tpnk_dev_logo_tiles.2bpp.pb16.size res/tpnk_dev_logo_tiles.2bpp.pb16.size:
I understand the need for the second rule, but it also defines an empty recipe, and this one doesn't apply:
$(RESDIR)/%.pb16.size: $(RESDIR)/% @$(MKDIR_P) $(@D) $(call filesize,$<,16) > $(RESDIR)/$*.pb16.size
...because the prerequisite res/tpnk_dev_logo_tiles.2bpp doesn't
exist, and no rule exists to create it.
There is a src/res/starting_screen/tpnk_dev_logo/tpnk_dev_logo_tiles.2bpp, and you have VPATH set to src, but I don't think VPATH is supposed to recursively search subdirectories. A solution would have to identify these subdirectories somehow, e.g.:
SRCDIRS := $(shell find $(SRCDIR) -type d) vpath %.2bpp $(SRCDIRS) $(RESDIR)/%.2bpp: %.2bpp @$(MKDIR_P) $(@D) cp $< $@
That allowed res/tpnk_dev_logo_tiles.2bpp.pb16.size to build for
me.
Cheers,
Steven
[Prev in Thread] | Current Thread | [Next in Thread] |