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 :

passage variable Makefile - source C


Sujet :

Systèmes de compilation

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 6
    Points : 5
    Points
    5
    Par défaut passage variable Makefile - source C
    bonjour,
    je voudrais savoir s' il es possible en makefile de passer un parametre a mes source en compilation en feasant un "make" pour la version 1 et "make xxxx" pou la version 2 sans pour autant compiler suivant le cas un fichier .c différent.

    en effet jai 2 version d' un meme source c qui diferre sur quelques données.
    je voudrais eviter de manuellement dans mon .h commenter ou pas avant compilation, suivant la version, une ligne #define XXX qui es ensuite utilisé par des #ifdef XXX dans le source code pour différencer les versions.

    es til possible de le faire en Makfile en evitant d'utiliser une compilation de 2 fichier suivant le make, mais un seul avec un passage de parametre "define".

  2. #2
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Bonjour,
    écrire #define _TOTO dans un fichier est équivalent à placer -D_TOTO en paramètre de gcc.
    Après, je ne sais pas gérer les arguments dans un Makefile, mais tu peux faire deux targets, dont un ou tu rajoutes -D_TOTO à ta ligne d'appel de compilateur.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    merci de la réponse , mais ca ne marche pas du tout :p
    ex dans la ligne GCC j ai un -D XXXX

    et dans mon .c
    #ifdef XXX
    ....
    #endif

    ca n 'est pas reconnu jai testé toute les combinaision -DXXXX, -D_XXXX, etc ..

  4. #4
    Membre régulier Avatar de jula
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2003
    Messages : 81
    Points : 83
    Points
    83
    Par défaut
    salut,
    comment ça "ça ne marche pas du tout" ?
    il y a une erreur?
    le code dans le #ifdef...#endif n'est pas compilé?
    on peut voir ton code et ta ligne de commande?
    parce que moi j'utilise ça tous les jours pour compiler sous 2 systèmes d'exploitation le presk-même code (#ifdef LINUX...)...et pas de soucis!
    cordialement,
    jula.
    Promis, avant j'ai cherché sur Google!

Discussions similaires

  1. [FLASH 8] Passage variable Flash -> PHP cryptée
    Par gotcha007 dans le forum Flash
    Réponses: 13
    Dernier message: 20/11/2007, 03h07
  2. [PHP-JS] Passage Variable
    Par snaxisnake dans le forum Langage
    Réponses: 10
    Dernier message: 10/06/2006, 19h00
  3. Passage variable input
    Par zoreil dans le forum Langage
    Réponses: 13
    Dernier message: 30/05/2006, 13h54
  4. Pb Passage variable d'un formulaire
    Par boo64 dans le forum Langage
    Réponses: 13
    Dernier message: 11/05/2006, 16h29
  5. [FLASH MX2004] Passage variable PHP<->Flash
    Par PeZ dans le forum Flash
    Réponses: 4
    Dernier message: 03/04/2006, 14h00

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