IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

changer de repertoire lors de l'exécution d'une makefile


Sujet :

C

  1. #1
    Inactif
    Inscrit en
    Avril 2009
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 55
    Par défaut changer de repertoire lors de l'exécution d'une makefile
    salut,

    j'ai creer un projet avce 4 dossiers bin, lib, include et source
    j'ai creer mon makefile et tout va bien seulement que je veux à la fin de l'execution du makefile changer de repertoire c.a.d
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    .....
    BIN=bin/
     
     
    all:Prog
     
            @mv -f $(EXEC) $(BIN)
            cd $(BIN)
    je m'explique un peu: lorsque je construit mon executable je le place sous le repertoire bin/ et je veux me placer sous ce repoitoire.

    toutes les commandes s'exécutent normalement sauf elle s'exute mais elle ne fait rien.
    explication pourquoi pas le cd????
    et quelle est la solution???


    merci d'avance

  2. #2
    Membre très actif Avatar de J4e8a16n
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 271
    Par défaut
    cd bin c'est bin en-dessous de bin

    cd ../bin c'est le dossier x contenant bin

    non?

  3. #3
    Inactif
    Inscrit en
    Avril 2009
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 55
    Par défaut
    le dossier bin et dans le meme repertoire que le makefile

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2006
    Messages : 107
    Par défaut
    Je ne pense pas que tu puisses le faire dans le makefile.
    Il me semble que make retourne toujours au répertoire d'où il est lancé.
    Par contre un simple "make && cd bin" suffit.

    édit :
    d'ailleurs en tapant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strace make 2>&1 | grep -e "getcwd"
    tu peux t'apercevoir que make enregistre le current working directory lorsqu'il est lancé, et avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strace make 2>&1 | grep -e "chdir"
    qu'il retourne au répertoire d'où il a été lancé.

  5. #5
    Inactif
    Inscrit en
    Avril 2009
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 55
    Par défaut
    je pense il faut toucher peut etre le .configure????

  6. #6
    Membre très actif Avatar de J4e8a16n
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 271
    Par défaut
    Pourquoi n'essais - tu pas? Comme le dit apesle. C'est moins de travail en fin de compte.
    Sur vista 64 dans cygwin 1.7

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $ strace make 2>&1 | grep -e "chdir"
       58  113712 [main] sh 3972 chdir: dir '/home/Jean Pierre/smtp'
      158  114298 [main] sh 3972 chdir: 0 = chdir() cygheap->cwd.posix '/home/Jean Pierre
    /smtp' native '\??\C:\cygwin\home\Jean Pierre\smtp'
       72 1147047 [main] make 5624 chdir: dir '/home/Jean Pierre/maketest'
      165 1147910 [main] make 5624 chdir: 0 = chdir() cygheap->cwd.posix '/home/Jean Pierre/maketest' native '\??\C:\cygwin\home\Jean Pierre\maketest'
    Il été dans smtp et est revenu dans maketest.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ...
    	@echo "@" : $@
    	@echo "^" : $^
    	@echo "<" : $<
    	cd ../smtp
    	for fichier in "ls  *.c"
    	do
    	echo $fichier
    	done
    ....
    JPD

Discussions similaires

  1. [MySQL] Probleme lors de l'excution d'une requete
    Par JmL40 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/06/2007, 13h21
  2. [Requête]Aide sur méssage lors de l'exécution d'une Req.MàJ
    Par nomade333 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 05/04/2007, 22h26
  3. Erreur SQL0104N lors de l'exécution d'une stored proc
    Par bladerunners dans le forum DB2
    Réponses: 1
    Dernier message: 22/03/2007, 19h50
  4. [Excel] Changer de profil lors de l'éxécution d'une macro
    Par TeetyTweety dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/02/2007, 08h35
  5. Réponses: 1
    Dernier message: 05/12/2005, 23h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo