URL:
  <https://savannah.gnu.org/bugs/?55532>

                 Summary: Missing prerequisites are not included in $^ if
.SECONDARY is present
                 Project: make
            Submitted by: None
            Submitted on: Mon 21 Jan 2019 01:03:46 AM UTC
                Severity: 3 - Normal
              Item Group: Bug
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
       Component Version: None
        Operating System: Any
           Fixed Release: None
           Triage Status: None

    _______________________________________________________

Details:

The $^ should contain all the prerequisites that are newer than the target,
including missing prerequisites.

However, the '.SECONDARY' special target is present,
the missing prerequisites are not included in the ^$.


[Test code]

foo: bar baz
        @echo newer prerequisites are: $?

bar:

.SECONDARY:


[Result]

$ touch foo
$ touch baz
$ make 
newer prerequisites are: baz


The 'baz' is correctly contained in $^ since it is newer than 'foo'.

We expect 'bar' in $^ as well because it does not exist. However, this
behavior is changed by the presence of .SECONDARY.

If you delete the '.SECONDARY:' line, the result is what we expect:

$ make
newer prerequisites are: bar baz





    _______________________________________________________

Reply to this item at:

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

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


_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to