Setting environment variables in Makefile


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Setting environment variables in Makefile
# 1  
Old 05-19-2006
Setting environment variables in Makefile

I've seen a few other threads like this, but they either went unanswered or failed to answer my question.

How do I set an environment variable in a Makefile?

What I'm trying to do is use GNU make to automate an ant build.
In order to run ant, I've got to first set a few environment variables.. ie ANT_HOME, JAVA_HOME and alter PATH.

Here's what I have in the makefile:
Code:
tinker:
        ANT_HOME=/usr/local/ant
        PATH=$${PATH}:$${ANT_HOME}/bin
        JAVA_HOME=/usr/jdk/jdk1.5.0_06
        export ANT_HOME JAVA_HOME PATH
        echo $$ANT_HOME
        echo $$JAVA_HOME
        echo $$PATH
        ant

When I run it:
Code:
> make tinker
ANT_HOME=/usr/local/ant
PATH=${PATH}:${ANT_HOME}/bin
JAVA_HOME=/usr/jdk/jdk1.5.0_06
export ANT_HOME JAVA_HOME PATH
echo $ANT_HOME

echo $JAVA_HOME

echo $PATH
.:/bin:/usr/bin:/usr/sbin:/usr/openwin/bin:/usr/dt/bin:/sbin:/usr/ucb:/usr/local/bin:/usr/local/sbin:/usr/ccs/bin
ant
make: ant: Command not found
make: *** [setdown] Error 127

As you can see via the Echo statements, my variable declarations aren't doing the trick..

Thanks for any help you can give.
# 2  
Old 05-19-2006
The solution is:
Code:
ANT_HOME := /usr/local/ant
JAVA_HOME := /usr/jdk/jdk1.5.0_06
PATH := ${PATH}:${ANT_HOME}/bin

tinker:
        @echo ${ANT_HOME}
        @echo ${JAVA_HOME}
        @echo ${PATH}
        ant

Enjoy.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Setting environment variables from a file :

Hi, I have around 10 environment variables in my shell script. i want to set this all in a file and just call that file in my shell script. How can i do that ? Please help. TIA! (6 Replies)
Discussion started by: qwertyu
6 Replies

2. Shell Programming and Scripting

setting environment variables with space

Hi, I'm having problems setting environment variable that has space value. Below is my shell script. export LINE=$@ TO=`echo $LINE | awk '{print $1}'` CC=`echo $LINE | awk '{print $2}'` BC=`echo $LINE | awk '{print $3}'` echo "TO=$TO" echo "CC=$CC" echo "BC=$BC" echo "1=$1" echo... (5 Replies)
Discussion started by: adshocker
5 Replies

3. UNIX for Dummies Questions & Answers

Setting up environment variables

Hi all, This is my first post here. I need to set up a few environment variables with a shell script. Some are hard-coded, but some should come from other commands or as input from the user. How do I do that? For example, I need to export a variable as such: export DISPLAY=127.0.0.1:8.0 ... (2 Replies)
Discussion started by: exchequer598
2 Replies

4. UNIX for Dummies Questions & Answers

Setting Environment Variables

#!/bin/bash if ; then ASS1_DATA_DIR=./ echo $ASS1_DATA_DIR export ASS1_DATA_DIR echo "data dir" fi if ; then ASS1_OUTPUT_DIR=./ export ASS1_OUTPUT_DIR fi I want to create a new environment variable ASS1_DATA_DIR and ASS1_OUTPUT_DIR in bash and set them to the current... (4 Replies)
Discussion started by: bigubosu
4 Replies

5. UNIX for Dummies Questions & Answers

Need help with setting up environment variables

hi all, I would appreciate if some one could explain me the difference between setting up the variables as shown below HOME=${HOME:-"/home/user1"} HOME=/home/user1 (1 Reply)
Discussion started by: SSSB
1 Replies

6. UNIX for Dummies Questions & Answers

change makefile environment variables

this is my first post so Hello, here is my question @top level Makefile should not set values for environment variables FC, CC, FFLAGS (etc) but use the ones that mpi_make sets. So as you can see i have to run an mpi program, in fortran and i am supposed to do the above.the program was... (3 Replies)
Discussion started by: Kwstas
3 Replies

7. Shell Programming and Scripting

Help in Setting Environment variables in TCSH

Hello All, I am writing a script to set some environment variables which are required for a particular application. I understand that the environment variables set by Shell script can, at the max, be valid for the session. They will have to be set again once the session is closed and re-opened.... (1 Reply)
Discussion started by: kssandeep
1 Replies

8. Solaris

Setting environment variables within cron jobs!!

Is it possible to use environment variables within cron jobs. I am using a cron job to run a c program at regular intervals. The C program uses a library and i have set the library path in the LD_LIBRARY_PATH environment variable. But when i ran the job i got the error library not found!! Any... (1 Reply)
Discussion started by: atheek
1 Replies

9. Shell Programming and Scripting

Setting up Environment Variables

Hi all, I am trying to set up some variables in a shell script. The variables contain values of various paths needed to run a java module. The problem is the variables dont seem to be setting at all. here is what i am trying to do : JAR_HOME=/home/was5/bdcms/scheduledjobs/lib export... (6 Replies)
Discussion started by: rpandey
6 Replies

10. UNIX for Dummies Questions & Answers

setting environment variables ???

Hello, I want to set some environment variables with this script: ip=$@ echo Remote Computer: $ip PERLDB_OPTS="CallKomodo=$ip:9000 RemotePort=$ip:9010 PrintRet=0" export PERLDB_OPTS PERL5LIB=/opt/komodo export PERL5LIB echo PERLDB_OPTS: $PERLDB_OPTS echo PERL5LIB: $PERL5LIB But it... (5 Replies)
Discussion started by: Gargamel
5 Replies
Login or Register to Ask a Question