makefile comment recupere le resultat d'une commande shell

Le
Chris
Bonjour,

je fais de petit makefile et je cherche le moyen de recupere dans une
variable le resultat d'une commande shell

ainsi voici un exemple qui tu

DIST_DIR=`pwd`

distrib:
rm -fr $(DIST_DIR)

lance en fait un rm -fr `pwd` soit => on flingue le repertoire courant
super !

bref comment on fait pour avoir dans DIST_DIR le repertoire courant par
exemple ?

A+
chris
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pascal Bourguignon
Le #744173
Chris
Bonjour,

je fais de petit makefile et je cherche le moyen de recupere dans une
variable le resultat d'une commande shell

ainsi voici un exemple qui tu

DIST_DIR=`pwd`

distrib:
rm -fr $(DIST_DIR)

lance en fait un rm -fr `pwd` soit => on flingue le repertoire courant
super !

bref comment on fait pour avoir dans DIST_DIR le repertoire courant
par exemple ?


En GNU make, tu peux utiliser := au lieu de
-*- mode: compilation; default-directory: "/tmp/" -*-
Compilation started at Tue Mar 13 17:40:56

cat Makefile ; echo '-------------------' ; make -k
DISTDIR:=`pwd`

distrib:
touch keepit
mkdir test
touch test/toto
cd test ; rm -rf $(DISTDIR)
-ls -l test
ls -l keepit



-------------------
touch keepit
mkdir test
touch test/toto
cd test ; rm -rf `pwd`
ls -l test
ls: test: No such file or directory
make: [distrib] Error 1 (ignored)
ls -l keepit
-rw-r--r-- 1 pjb pjb 0 Mar 13 17:40 keepit

Compilation finished at Tue Mar 13 17:40:56

--
__Pascal Bourguignon__
http://www.informatimago.com
http://pjb.ogamita.org

Chris
Le #743865
Merci beaucoup !

cela va me simplifier moultement la vie ce truc

A+
chris

Chris
Bonjour,

je fais de petit makefile et je cherche le moyen de recupere dans une
variable le resultat d'une commande shell

ainsi voici un exemple qui tu

DIST_DIR=`pwd`

distrib:
rm -fr $(DIST_DIR)

lance en fait un rm -fr `pwd` soit => on flingue le repertoire courant
super !

bref comment on fait pour avoir dans DIST_DIR le repertoire courant
par exemple ?


En GNU make, tu peux utiliser := au lieu de >
-*- mode: compilation; default-directory: "/tmp/" -*-
Compilation started at Tue Mar 13 17:40:56

cat Makefile ; echo '-------------------' ; make -k
DISTDIR:=`pwd`

distrib:
touch keepit
mkdir test
touch test/toto
cd test ; rm -rf $(DISTDIR)
-ls -l test
ls -l keepit



-------------------
touch keepit
mkdir test
touch test/toto
cd test ; rm -rf `pwd`
ls -l test
ls: test: No such file or directory
make: [distrib] Error 1 (ignored)
ls -l keepit
-rw-r--r-- 1 pjb pjb 0 Mar 13 17:40 keepit

Compilation finished at Tue Mar 13 17:40:56




olivier chaze
Le #743862
DIST_DIR=`pwd`
rm -fr "$DIST_DIR"


Bonjour,

je fais de petit makefile et je cherche le moyen de recupere dans une
variable le resultat d'une commande shell

ainsi voici un exemple qui tu

DIST_DIR=`pwd`

distrib:
rm -fr $(DIST_DIR)

lance en fait un rm -fr `pwd` soit => on flingue le repertoire courant
super !

bref comment on fait pour avoir dans DIST_DIR le repertoire courant par
exemple ?

A+
chris


Chris
Le #743861
Attention
si make = gmake (GNU make)

DIST_DIR=$(shell pwd)

A+


DIST_DIR=`pwd`
rm -fr "$DIST_DIR"


Ce qui va effacer ton répertoire courant
car en fait il va executer [ rm -fr "`pwd`" ]
et donc rm -fr repertoire_courant

essaye si tu veux mais dans un repertoire de test
non je veux recuperer la chaine de caractere pour l'utiliser
et il faut gmake ou gnu make et la syntaxe VAR=$(shell commande_shell)

Merci
A+
chris



Bonjour,

je fais de petit makefile et je cherche le moyen de recupere dans une
variable le resultat d'une commande shell

ainsi voici un exemple qui tu

DIST_DIR=`pwd`

distrib:
rm -fr $(DIST_DIR)

lance en fait un rm -fr `pwd` soit => on flingue le repertoire courant
super !

bref comment on fait pour avoir dans DIST_DIR le repertoire courant
par exemple ?

A+
chris




Publicité
Poster une réponse
Anonyme