Follow-up Comment #6, bug #28456 (project make):
The handling of *$<* under *SECONDEXPANSION* seems well broken as of 4.2.1.
With an implicit rule:
$ cat Makefile
.SECONDEXPANSION:
%.2: %.1 $$(info [$$<] [$$@]) ; : $@ Success
$ ls
foo.1 Makefile
$ make foo.2
[foo.2] [foo.2]
: foo.2 Success
Notice that $< expands to the target rather than a pre-requisite (!).
The situation for explicit rules is arguably worse:
$ cat Makefile
.SECONDEXPANSION:
foo.2: %.2: %.1 $$(info [$$<] [$$@]) ; : $@ Success
$ ls
foo.1 Makefile
$ make foo.2
[] [foo.2]
: foo.2 Success
$< is now empty. Can't find any syntax to change this.
Current cygwin make BTW
$ make --version
GNU Make 4.2.1
Built for x86_64-unknown-cygwin
Copyright (C) 1988-2016 Free Software Foundation, Inc.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?28456>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
_______________________________________________
Bug-make mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-make