Sign in to follow this  

Backticks in makefiles

Recommended Posts

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
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