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 Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make