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 :

Defines dans un Makefile multi-clibles


Sujet :

C

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Defines dans un Makefile multi-clibles
    Bonjour.
    Un travail pour mon école consiste à recoder un serveur FTP doté de commandes basiques (put/get/ls/cd/pwd). Pour faire plus clean j'ai unifié les fonctions, et ce sont le même fichier qui sert pour le client ou le serveur.
    Malheureusement il y a une petite difficulté : les messages doivent s'afficher sur la sortie standard pour le client, et sur le socket pour le serveur.
    Je me suis rappelé une astuce que j'avais vu en stage : la définition de macro dans le makefile (comme ça à la compile avec le makefile je défini le fd).
    Malheuresement je ne parviens pas à l'appliquer dans le cas d'un MAkefile multi-cible, qui doit générer le client ET le serveur. Normalement l'option -D DEFINE se met dans les CFLAGS, mais dans ce cas je ne le peux, sinon elle s'applique également au serveur. Je fais suivre le Makefile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    STDSRC  =       func.c xfunc.c my_greps.c
    SRC     =       serveur.c $(STDSRC)
    SRC2    =       client.c $(STDSRC)
    CC      =       gcc
    OBJ     =       $(SRC:.c=.o)
    OBJ2    =       $(SRC2:.c=.o)
     
    CFLAGS  =       -W -Wall -pedantic -g 
    EXEC    =       serveur client
    serveur :	$(OBJ)
     	@gcc $(OBJ) -o $@ $(LDFLAGS)  
     
    client  :       $(OBJ2)
                    @gcc $(OBJ2) -o $@ $(LDFLAGS) -DCLIENT
    Dans ce cas là ça ne fonctionne pas ;
    Par contre si tape :
    gcc -DCLIENT client.c ... -o client, ça marche.

    Merci d'avance.
    Dernière modification par Invité ; 13/04/2008 à 14h14.

Discussions similaires

  1. Erreur dans le makefile
    Par titor dans le forum OpenGL
    Réponses: 1
    Dernier message: 23/11/2005, 21h26
  2. Réfèrence indefinie dans mon makefile
    Par legend666 dans le forum Linux
    Réponses: 2
    Dernier message: 21/11/2005, 20h58
  3. Gestion des headers dans un Makefile
    Par Weren dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 09/11/2004, 10h44
  4. MAKEFILE : Comment récupérer l'OS dans le makefile
    Par nana1 dans le forum Systèmes de compilation
    Réponses: 12
    Dernier message: 14/09/2004, 16h23
  5. Faire un setenv dans un Makefile
    Par papayou42 dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 06/07/2004, 10h37

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