Partage
  • Partager sur Facebook
  • Partager sur Twitter

Makefile appelant un autre Makefile

    24 novembre 2017 à 9:20:12

    Bonjour,

    J'ai un petit soucis avec mon Makefile, en effet mon dossier de projet contient un sous-dossier avec ma lib contenant mes fonction (.c) et mon MakeFile et celui-ci fonctionne (créer mes fichier objet et compile ma lib .a).

    Dans la racine de mon projet j'ai un autre MakeFile, celui-ci est sensé appelé le MakeFile contenu dans le sous-dossier de ma lib, pour par la suite compiler mon projet avec ma lib (.a).

    Voici le MakeFile de mon projet :

    NAME = fillit
    LIB = libft.a
    FLAG = -Wall -Wextra -Werror
    OPTION = -c
    SRC = test.c
    
    OBJETS = $(SRCLIB:.c=.o)
    
    all: $(NAME)
    
    %.o : %.c
    	gcc $(OPTION) $(FLAG) $< -o $@ -I libft
    
    
    libcomp: $(OBJET)
    	ar rc $(LIB) $(OBJETS)
    
    
    $(NAME): $(LIB)
    	gcc -o $(NAME) $(FLAG) $(SRC) -L. -lft
    
    $(LIB):
    	make -C libft all
    
    clean:
    	/bin/rm -f $(OBJETS)
    
    fclean: clean
    	/bin/rm -f $(NAME)
    
    re: fclean all

    Quand je "Make all" :

    make -C libft all

    make[1]: Nothing to be done for `all'.

    Je pense que je m'y prend mal pour appeler le Makefile du sous-dossier de ma lib.

    Merci par avance pour votre aide.

    ================================UPDATE================================

    Solved :

    NAME = fillit
    LIB = libft.a
    FLAG = -Wall -Wextra -Werror
    OPTION = -c
    SRC = test.c
    
    OBJETS = $(SRCLIB:.c=.o)
    
    all: $(NAME)
    
    $(NAME): $(LIB)
    	gcc -o $(NAME) $(FLAG) $(SRC) -L./libft -lft
    
    $(LIB):
    	make -C libft re
    
    clean:
    	make -C libft clean
    
    fclean: clean
    	/bin/rm -f $(NAME)
    	make -C libft fclean
    
    re: fclean all



    -
    Edité par tyboy60 24 novembre 2017 à 9:37:21

    • Partager sur Facebook
    • Partager sur Twitter

    Makefile appelant un autre Makefile

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown