Kip Warner <k...@thevertigo.com> writes: > On Sun, 2017-08-27 at 19:44 +0200, Mathieu Lirzin wrote: >> Would something like this work for you? >> >> files_with_path = `for f in $(files_only); do echo "dir/$$f"; done` > > Hey Mathieu, > > Thank you for the suggestion. I'm only hesitant to use that because I'm > not sure if Automake needs to initialize the variable prior to emitting > Makefile from Makefile.am. Do you know if this is the case?
'files_with_path' will not be interpreted by Automake, it will just copy the line in the generated Makefile. Since Make variables are macros the content of the variable will be simply be copied by Make where $(files_with_path) is used. As a consequence it should only be used in the recipe of a rule, not as a target or prerequisite. > I went to test it, but for some reason I keep getting these errors on > that line: > > Makefile:836: *** missing separator. Stop. There is a bug in my suggestion. I guess this error is related to that. o--8<---------------cut here---------------start------------->8--- files_only = foo.x bar.x baz.x files_with_path = `for f in $(files_only); do echo "dir/$$f"; done` all: @echo "$(files_with_path)" --8<---------------cut here---------------end--------------->8--- $ make dir/foo.x dir/bar.x dir/baz.x with that version it seems to work better: --8<---------------cut here---------------start------------->8--- files_only = foo.x bar.x baz.x files_with_path = `for f in $(files_only); do printf "dir/%s " $$f; done` all: @echo "$(files_with_path)" --8<---------------cut here---------------end--------------->8--- $ make dir/foo.x dir/bar.x dir/baz.x HTH. -- Mathieu Lirzin GPG: F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37