Sign in to follow this  

Backticks in makefiles

Recommended Posts

spraff    100
Hi there. This makefile
FOO = a b
BAR = `for i in $(FOO); do echo $$i.x; done`
        echo $(BAR)
outputs this:
echo `for i in a b; do echo $i.x; done`
a.x b.x
I was expecting it to output
echo a.x b.x
a.x b.x
I need the backticks to be evaluated BEFORE the variable BAR is assigned, not after. How do I do this? The reason is that I'm going to use BAR thusly:
demo: $(BAR)
So if there's a better way to get the transformed FOO into the dependency list of "demo:" then that'll do. Thanks

Share this post

Link to post
Share on other sites
Zahlman    1682
Do you really need something this complicated?

Have you considered moving the shell commands to a batch file and just calling the batch file from the makefile?

Have you considered using a script to generate the makefile (if the goal here is to avoid repeating 'for' commands of a common form)?

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this