Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

makefile comment recupere le resultat d'une commande shell

4 réponses
Avatar
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

4 réponses

Avatar
Pascal Bourguignon
Chris writes:

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

Avatar
Chris
Merci beaucoup !

cela va me simplifier moultement la vie ce truc

A+
chris

Chris writes:

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




Avatar
olivier chaze
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


Avatar
Chris
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