bug-make
[Top][All Lists]
Advanced

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

[bug #43677] .DELETE_ON_ERROR doesn't work with patterns for main goal's


From: Ivan Boldyrev
Subject: [bug #43677] .DELETE_ON_ERROR doesn't work with patterns for main goal's dependencies
Date: Mon, 24 Nov 2014 06:19:17 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:33.0) Gecko/20100101 Firefox/33.0

URL:
  <http://savannah.gnu.org/bugs/?43677>

                 Summary: .DELETE_ON_ERROR doesn't work with patterns for main
goal's dependencies
                 Project: make
            Submitted by: monoid
            Submitted on: Пнд 24 Ноя 2014 06:19:16
                Severity: 3 - Normal
              Item Group: Bug
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
       Component Version: 3.81
        Operating System: POSIX-Based
           Fixed Release: None
           Triage Status: None

    _______________________________________________________

Details:

This is a sample of Makefile:


.DELETE_ON_ERROR:


bug: c_foobar ;

c_%: a_% b_%
        echo $^ > $@

b_%: a_%
        echo $^ > $@

a_%:
        false > $@


I tested it with make 3.81 on Ubuntu 12.04 LTS, make 4.0 on Ubuntu 14.04.1
LTS, and make 4.0 on Gentoo.


$ make
false > a_foobar
Makefile:13: recipe for target 'a_foobar' failed
make: *** [a_foobar] Error 1
$ make
echo a_foobar > b_foobar
echo a_foobar b_foobar > c_foobar
rm b_foobar
-verbatiim-

while when you specify a_foobar directly, it is deleted, as expected:


$ make a_foobar
false > a_foobar
Makefile:13: recipe for target 'a_foobar' failed
make: *** [a_foobar] Error 1
make: *** Deleting file 'a_foobar'


If you replace '%' in Makefile with 'foobar', everything works too, so it
seems to be pattern-related problem.

When you call pattern rule directly:

$ make c_foobar
false > a_foobar
Makefile:13: recipe for target 'a_foobar' failed
make: *** [a_foobar] Error 1

(not failing rule, but its parent), it also doesn't remove a_foobar, so it is
just pattern handling problem.




    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?43677>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

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