[espeak-ng:master] new issue: warning: ignoring prerequisites on suffix rule definition #github


espeak-ng@groups.io Integration <espeak-ng@...>
 

[espeak-ng:master] New Issue Created by sthibaul:
#1086 warning: ignoring prerequisites on suffix rule definition

Hello,

While building espeak-ng, we get this:

Makefile:2632: warning: ignoring prerequisites on suffix rule definition

This is:

md.html: _layouts/webpage.html
	@echo "  MD        $@"
	@cat $< | sed -e 's/\.md)/.html)/g' -e 's/\.ronn/.html/g' | \
		kramdown --template _layouts/webpage.html > $@

Indeed, the GNU make manual (https://www.gnu.org/software/make/manual/html_node/Error-Messages.html) says:

‘warning: ignoring prerequisites on suffix rule definition’

According to POSIX, a suffix rule cannot contain prerequisites. If a rule that could be a suffix rule has prerequisites it is interpreted as a simple explicit rule, with an odd target name. This requirement is obeyed when POSIX-conforming mode is enabled (the .POSIX target is defined). In versions of GNU make prior to 4.3, no warning was emitted and a suffix rule was created, however all prerequisites were ignored and were not part of the suffix rule. Starting with GNU make 4.3 the behavior is the same, and in addition this warning is generated. In a future version the POSIX-conforming behavior will be the only behavior: no rule with a prerequisite can be suffix rule and this warning will be removed.

Unfortunately it doesn't say how one would be able to add such prerequisite :/

Join espeak-ng@groups.io to automatically receive all group messages.