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

Linux Discussion :

Makefile et sous-répertoires


Sujet :

Linux

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 23
    Par défaut Makefile et sous-répertoires
    Bonjour,

    mes sources (C++) sont organisées hiérarchiquement dans des répertoires.
    Dans mon Makefile j'utilise la directive suivante pour executer les makefiles des sous-répertoires:
    for i in $(SUBDIRS); do (cd $$i && $(MAKE) || exit 1); done

    lorsqu'une erreur de compilation survient dans un répertoire, make quitte le répertoire et va executer le makefile du répertoire suivant de la liste SUBDIRS. J'aurait pensé que le '|| exit 1' stoppe tout, mais ce n'est pas le cas. En fait que je mette '|| exit 1' ou pas il se passe exactement la meme chose, la compilation continue.
    Comment faire pour stopper la compilation complète lorsqu'une erreur survient ?

    merci d'avance

    Xavier

  2. #2
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    Alors je ne sais pas si ça peut t'aider, j'ai un Makefile qui a besoin de compiler dans des sous dossiers, et il est structuré comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SUBDIRS = 
     
    .PHONY: $(SUBDIRS)
     
    $(SUBDIRS):
    	$(MAKE) -w -C $@ $(MAKECMDGOALS)
    Tu spécifie dans SUBDIRS les sous dossiers à compiler. Dès qu'une erreur de compilation se produit, tout s'arrête.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 23
    Par défaut
    merci pour ton aide

  4. #4
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut
    Il y a un tutoriel sur l'écriture de makefiles. Voici le lien => Introduction à Makefile

    Si cela peut t'aider. @++

  5. #5
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    J'ai peur que non, car les sous-Makefiles sont gérés par un CD puis l'appel à $(MAKE) , Tout comme l'a fait travonz.

    De plus, l'avantage de la méthode que j'utilise est que les arguments que l'on passe au makefile (all, clean, ...) sont automatiquements passés aux sous makefiles, ce que je doute avec ce qui est décrit dans le tutoriel.

    Tu sais comme moi que les makefiles BSD sont beaucoup plus puissant ! Rien à voir avec le "bricolage" GNU !

  6. #6
    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
    (up d'enfer)

    Merci pour la solution PRomu@ld, j'avais le même problème.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/01/2011, 15h58
  2. Makefile et sous répertoires
    Par crashtib dans le forum Systèmes de compilation
    Réponses: 4
    Dernier message: 06/05/2009, 11h04
  3. Réponses: 5
    Dernier message: 27/05/2007, 23h20
  4. script qui explore les sous-répertoire ?
    Par farenheit dans le forum Flash
    Réponses: 9
    Dernier message: 20/07/2005, 12h02
  5. fichier .bat : problèmes avec des sous-répertoires
    Par aymron dans le forum Windows
    Réponses: 4
    Dernier message: 23/06/2005, 09h33

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