È possibile aggiornare l'ambiente da un makefile? Voglio essere in grado di creare un obiettivo per impostare le variabili di ambiente client per loro. Qualcosa di simile a questo:Un makefile può aggiornare l'ambiente di chiamata?
AXIS2_HOME ?= /usr/local/axis2-1.4.1
JAVA_HOME ?= /usr/java/latest
CLASSPATH := foo foo
setenv:
export AXIS2_HOME
export JAVA_HOME
export CLASSPATH
modo che il cliente può semplicemente fare:
make setenv all
java MainClass
e farlo funzionare senza la necessità di impostare il classpath per l'esecuzione di Java stessi.
O sto cercando di farlo nel modo sbagliato e c'è un modo migliore?
In alternativa, è possibile omettere l'ultima riga ('java MainClass') e quindi comunicare agli utenti di * source * lo script, che è stato progettato esattamente per la propria situazione di impostazione delle variabili di ambiente nel processo della shell principale. – JasonSmith
Trivia: i file .BAT e .CMD su Windows vengono elaborati all'interno della stessa istanza di CMD.EXE che richiede e esegue comandi interattivi. Questo è equivalente al comando source in csh o il. comando in sh. – RBerteig