bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Possible GNU Make 4.3 bug


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

Hi Eldred,

On 15/03/2021 22:25, Eldred HABERT wrote:

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]