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

Systèmes de compilation Discussion :

Makefile et objet


Sujet :

Systèmes de compilation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Fortran90
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 83
    Par défaut Makefile et objet
    Bonjour,
    J'aimerai faire une chose qui semble assez simple. Me servir d'un make pour créer un objet dans un répertoire autre que celui du source, tout en gardant la fonctionnalité du make quand à la recompilation ou non du source.

    Si par exemple je compile avec dans un make:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    compil: test.o
     
    .c.o:
            gcc -c $< -o../obj/$@
    et que je relance mon make une deuxième fois, il recompile le source.

    Quelqu'un a une idée?

  2. #2
    Membre émérite
    Avatar de D[r]eadLock
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    504
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 504
    Par défaut
    Bah, oui, tant que la cible (le .o) est plus ancien (ou n'existe pas (ce qui est ton cas)), il lance la règle !
    compil ne dépend pas de test.o mais de obj/test.o !

  3. #3
    Membre confirmé Avatar de Fortran90
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 83
    Par défaut
    Ok très bien, mais en faisant ainsi, on ne peut pas généraliser de règles de compilation. Il faudrait en écrire une pour chacun des objets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ../obj/test.o:test.c
               gcc -c $< -o$@
    Il y a t il un moyen de généraliser les règles dans ce cas?

  4. #4
    Membre confirmé Avatar de Fortran90
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 83
    Par défaut
    Bon la solution serait de faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    compil : ../obj/test.o
     
    ../obj/%.o:%.c
            gcc -c $< -o../obj/$@
    Afin de généraliser en utilisant les règles d'inférences.

    Mais comme la vie n'est jamais simple, ça marche avec GNU make. Mais pas avec les make de chez AIX (IBM)...

    Je cherche donc une alternative...Any idea?

Discussions similaires

  1. makefile : utiliser objet dans un autre répertoire
    Par contremaitre dans le forum Systèmes de compilation
    Réponses: 2
    Dernier message: 30/07/2008, 17h41
  2. Pb de makefile : fichiers objets
    Par fabred dans le forum Débuter
    Réponses: 0
    Dernier message: 05/04/2008, 15h35
  3. [débutant]probleme avec makefile-module objet non créé
    Par Invité dans le forum Systèmes de compilation
    Réponses: 5
    Dernier message: 13/06/2007, 18h22
  4. Réponses: 10
    Dernier message: 02/01/2007, 12h07
  5. Objet avec options de compilation dans un makefile
    Par z980x dans le forum Systèmes de compilation
    Réponses: 4
    Dernier message: 27/09/2006, 07h17

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