[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #58556] Make is confused by a target named ".o" and neither emptyin
[bug #58556] Make is confused by a target named ".o" and neither emptying .SUFFIXES nor MAKEFLAGS=r can prevent this
Tue, 3 Nov 2020 02:32:23 -0500 (EST)
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0
Follow-up Comment #2, bug #58556 (project make):
Reading internal definitions before reading the makefile is fine, but this bug
report specifically makes the following points:
- There are no prerequisites in the empty directory, so an implicit rule with
prerequisites should not be invoked at all, whether the rule is builtin or is
actually defined in the main makefile. Neither "make foo" nor "make foo.o"
tries to invoke "cc" in any way, only "make .o" does.
- "make -dp" behaves as if this is an *explicit* internal rule, specifically
matching exactly ".o" and nothing else, not an *implicit* rule, which seems
like a bug.
- True that the internal rules are read before the makefile, but MAKEFLAGS=r
should be able to disable their use. It does disable them properly for a file
named "foo.o", it only gets confused by a file named ".o".
- In any case, if there are internal rules that are impossible to disable and
are going to be used anyway, they should be printed by "make -p", which they
Is all of this still expected?
Reply to this item at:
Message sent via Savannah