Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
845 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  problème avec un makefile

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème avec un makefile

n°728984
freewol
Ceci n'est pas une citation
Posté le 13-09-2005 à 10:41:40  profilanswer
 

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

mood
Publicité
Posté le 13-09-2005 à 10:41:40  profilanswer
 

n°729002
ory
Posté le 13-09-2005 à 11:33:31  profilanswer
 

cp both test
test/test.sh|blabla


 
serait plus propre

n°729007
freewol
Ceci n'est pas une citation
Posté le 13-09-2005 à 11:37:58  profilanswer
 

ory a écrit :

cp both test
test/test.sh|blabla


 
serait plus propre


 
ah oui tiens c'est vrai :o
 
mais sinon juste pour ma culture générale, une idée sur la raison de ce problème ?

n°729009
freewol
Ceci n'est pas une citation
Posté le 13-09-2005 à 11:40:21  profilanswer
 

hum, en fait non :sweat:
 
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)


Message édité par freewol le 13-09-2005 à 11:40:42
n°729012
ory
Posté le 13-09-2005 à 11:43:41  profilanswer
 

Sûrement une variable d'environnement réinitialisée à chaque nouvelle commande, genre $CURDIR:
 

bla:
        rm -rf plop
        mkdir plop
        @echo ${CURDIR}
        cd plop
        @echo ${CURDIR}
        touch foo


 
 


$ make bla
rm -rf plop
mkdir plop
/tmp
cd plop
/tmp
touch foo


n°729043
freewol
Ceci n'est pas une citation
Posté le 13-09-2005 à 12:33:09  profilanswer
 

ory a écrit :

Sûrement une variable d'environnement réinitialisée à chaque nouvelle commande, genre $CURDIR:
 

bla:
        rm -rf plop
        mkdir plop
        @echo ${CURDIR}
        cd plop
        @echo ${CURDIR}
        touch foo


 
 


$ make bla
rm -rf plop
mkdir plop
/tmp
cd plop
/tmp
touch foo



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

n°729045
ory
Posté le 13-09-2005 à 12:45:19  profilanswer
 

définir ta propre variable ?

n°729158
matafan
Posté le 13-09-2005 à 17:33:20  profilanswer
 

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.

n°729177
Profil sup​primé
Posté le 13-09-2005 à 18:41:06  answer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  problème avec un makefile

 

Sujets relatifs
Problème avec lilo pour multiboot entre xp et linuxGentoo => probleme durant l'installation de Gnome -Installation rezeau
Fedora Core 3 Problème Carte Son "High Definition Audio Controller"problème logiciel et carte son audigyLS
Problème lors de l'installation de Mandriva Linux 10.1probleme linux skype et wolfenstein et
[RESOLU]Problème au lancement de startx - ATI - Debian[glib-2.0 / Makefile] petit problème d'inclusion
problème avec Makefile 
Plus de sujets relatifs à : problème avec un makefile


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR