problème avec un makefile - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 13-09-2005 à 11:37:58
ory a écrit :
|
ah oui tiens c'est vrai
mais sinon juste pour ma culture générale, une idée sur la raison de ce problème ?
Marsh Posté le 13-09-2005 à 11:40:21
hum, en fait non
en fait test.sh a besoin d'être executé depuis son répertoire car il utilise des fichiers qui sont dedans sans les préfixer par le répertoire
(il a des instructions du genre cat machin.txt)
Marsh Posté le 13-09-2005 à 11:43:41
Sûrement une variable d'environnement réinitialisée à chaque nouvelle commande, genre $CURDIR:
bla: |
|
Marsh Posté le 13-09-2005 à 12:33:09
ory a écrit : Sûrement une variable d'environnement réinitialisée à chaque nouvelle commande, genre $CURDIR:
|
et comment faire pour l'outrepasser ?
j'ai essayé un CURDIR=${CURDIR}/test, et non seulement c'est moche mais en plus ça ne marche pas
Marsh Posté le 13-09-2005 à 17:33:20
Tu met tout sur une ligne, comme tu l'as deja fait. Si ca ne tiens pas sur une ligne, coupe la ligne avec un \. Cela dit je suis sur qu'il y a une meilleur solution.
Marsh Posté le 13-09-2005 à 18:41:06
chaque ligne d'un makefile est lancé dans un shell different... donc, si tu fait uncd sur une ligne, puis que tu essaye de lancer ton prog sur une autre ligne, ca ne peut pas marcher...
Marsh Posté le 13-09-2005 à 10:41:40
Voilà je ne comprends pas pourquoi, mais si dans mon makefile j'écris ça :
test: both
cp both test
cd test
./test.sh | uniq
cd ..
Celà ne marche pas car il ne fait pas vraiment le "cd test" et du coup ne trouve pas test.sh.
Par contre si j'écris ça :
test: both
cp both test; cd test; ./test.sh | uniq; cd ..
Ca marche ...
Pourriez-vous m'expliquer pourquoi ?
merci beaucoup