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 :

Ecriture d'un Makefile


Sujet :

C

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 3
    Points : 5
    Points
    5
    Par défaut Ecriture d'un Makefile
    Bonjour à tous,
    j'aimerai écrire un Makefile pour mon projet. L'organisation est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    |-bin         //.o .a et .exe
    |-src
    |   |-module1 //.c
    |   |...
    |-inc          //.h
    |-tst          //.c
    |-Makefile
    |...
    Voici mon Makefile simplifié:
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    NAME	= exec
    LIBNAME	= lib.a
    CC	= gcc
    CFLAGS	= -Wall -Wextra -Werror -I$(INCDIR)
    SRCDIR	= src/subdir/
    BINDIR	= bin/
    INCDIR	= inc/
    SRC	= $(wildcard $(SRCDIR)*.c)
    OBJ	= $(addprefix $(BINDIR), $(notdir $(SRC:.c=.o)))
    RM	= /bin/rm
     
    $(NAME): $(BINDIR)$(NAME)
     
    $(BINDIR)$(NAME): $(LIBNAME)
    	$(CC) $(CFLAGS) -o $@ $(BINDIR)$<
     
    $(LIBNAME): $(BINDIR)$(LIBNAME)
     
    $(BINDIR)$(LIBNAME): $(OBJ)
    	ar rc $@ $^
    	ranlib $@
     
    $(BINDIR)%.o: $(SRCDIR)%.c
    	$(CC) $(CFLAGS) -c $< -o $@
     
    all: $(NAME)
     
    clean:
    	$(RM) $(OBJ)
     
    fclean: clean
    	$(RM) $(BINDIR)$(LIBNAME)
    	/bin/rm $(BINDIR)$(NAME)	#pourquoi $(RM) ne fonctionne pas ?
     
    re: fclean all
     
    .PHONY: all clean fclean re
    J'aimerai avoir un fichier de test pour chaque module et une règle pour le construire indépendamment des autres, plus une règle NAME pour construire la librairie avec tous les modules.
    Toute critique de l'organisation et du Makefile sont les bienvenues.
    Et merci d'avance pour vos conseils pour l'écriture du Makefile.

  2. #2
    Expert confirmé
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Points : 4 182
    Points
    4 182
    Par défaut
    Quelle est la question ? Y a-t-il quelque chose qui ne fonctionne pas comme tu le voudrais ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 3
    Points : 5
    Points
    5
    Par défaut
    Le Makefile que j'ai écrit ne me semble pas terrible, je ne sais pas s'il y a moyen de faire mieux. Mais surtout ce Makefile ne fait pas ce que je veux, c'est à dire ce que j'ai décrit à la fin de mon post, "avoir un fichier de test pour chaque module et une règle pour le construire indépendamment des autres, plus une règle NAME pour construire la librairie avec tous les modules." Et je ne sais pas comment faire cela.

Discussions similaires

  1. lecture/ecriture des broches RTS/CTS du port RS232
    Par .:: sly51 ::. dans le forum C
    Réponses: 3
    Dernier message: 24/10/2006, 15h28
  2. Lecture et ecriture fichier .ini
    Par despe dans le forum C
    Réponses: 6
    Dernier message: 23/07/2003, 20h40
  3. Ecriture d'une procedure stockée XP
    Par WOLO Laurent dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/07/2003, 13h09
  4. Réponses: 13
    Dernier message: 14/06/2003, 22h15
  5. Compilation avec un Makefile
    Par Mau dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 28/02/2003, 11h30

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