bug-make
[Top][All Lists]
Advanced

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

[bug #63840] make allows match-anything rules to match files with the de


From: Dmitry Goncharov
Subject: [bug #63840] make allows match-anything rules to match files with the default suffixes
Date: Sun, 26 Feb 2023 22:18:23 -0500 (EST)

Follow-up Comment #3, bug #63840 (project make):

> If you use -r then you've removed all the implicit rules in the makefile,
including suffix rules, and so I don't necessarily agree with the idea that
even in this case we should still treat these suffixes as special when
considering match-anything rules.    
                                                                              
                                                   
My opinion is that, removal of the built-in rules is all about relieving make
from doing extra work.  This helps performance, troubleshooting and reduces -d
output. imo, the current behavior, when -r causes match-anything rules to be
eligible does the opposite of -r should do, which is it increases the amount
of work, rather then reduces it. i also think, presence or absence of built-in
rules, including suffix rules, is orthogonal to whether match-anything rules
are eligible for files with specific data.                                   

                                                                              
                                                   
Looks like i did not convey it well enough in the original description. It is
removal of the built-in rules that causes match-anything rules to be eligible.
It is not clearing of the default suffixes that causes this behavior. If you
clear the list of the default suffixes, match-anything rules are still not
eligible for the files with the (now cleared) default suffixes.               
  
                                                                              
                                                   
Example 5                                                                     
                                                   
                                                                              
                                                   
++++                                                                          
                                         
$ ls                                                                          
                                                   
hello.c.o  makefile                                                           
                                                   
$ cat makefile                                                                
                                                   
.SUFFIXES:                                                                    
                                                   
hello.c:                                                                      
                                                   
%: %.o; $(info $@ from $<)                                                    
                                                   
$ make-4.4                                                                    
                                                   
make-4.4: Nothing to be done for 'hello.c'.                                   
                                                   
----


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?63840>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/




reply via email to

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