6

I've a makefile where all the environment variables are defined (top directory) and I want to use some of these variables in a shell script present at innermost level.

How should I access those variables in the script? Do I need to IPC for passing the variables or is there any other method to do the same?

2 Answers 2

6

If make exports the variables, you can use them right away (but note that changes to shell variables will not change the make variables). If you use GNU make, you can use the export directive.

If make does not export the variable, you can use the shell's one-shot assignment, like in

UNEXPORTED_VAR = foo
all:
     UNEXPORTED_VAR='$(UNEXPORTED_VAR)' OTHERVAR='$(OTHERVAR)' script.sh
Sign up to request clarification or add additional context in comments.

Comments

1

Like Jens said is correct, export make variables can be used. But his solution is not working for me. So what you can also do is just export them in the makefile:

export UNEXPORTED_VAR

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.