Bonsoir,

J'ai voulut organiser un peu mes fichiers d'un même programme qui commence a prendre de l'ampleur en créant des sous dossiers TOOLS et BUILTINS, j'utilise le même Makefile qui fonctionnait bien quand tout était dans mon dossier principal, sauf que j'y ai ajoute ce que je met en rouge.

Le Makefile crée les fichiers.o mais ceux des sous dossiers sont crées dans le dossier principal, et donc gcc me dit qu'il ne trouve pas les fichier .o dans les sous dossiers...

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
CC              =       gcc

NAME            =       minishell

INCLUDE         =       -I.

CFLAGS          +=      -g3 -W -Wall -pedantic -ansi

SRC             =       main.c                                  \
                        print_error.c                           \
                        my_epur.c                               \
                        init_values.c                           \
                        use_path.c                              \
                        execute.c

BUILTINS        =       builtins/point_coma.c

TOOLS           =       tools/print.c                           \
                        tools/action.c

OBJ             =       $(SRC:.c=.o) $(BUILTINS:.c=.o) $(TOOLS:.c=.o)

RM              =       rm -rf

all             :       $(NAME) clean

$(NAME)         :       $(OBJ)
                        $(CC) $(CFLAGS) -o $(NAME) $(OBJ)
clean           :
                        $(RM) $(OBJ)

fclean          :       clean
                        $(RM) $(NAME)

re              :       fclean all

.PHONY          :       all clean fclean re
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
gcc -O -pipe  -g3 -W -Wall -pedantic -ansi -c builtins/point_coma.c
gcc -O -pipe  -g3 -W -Wall -pedantic -ansi -c tools/print.c
gcc -O -pipe  -g3 -W -Wall -pedantic -ansi -c tools/action.c
gcc -O -pipe  -g3 -W -Wall -pedantic -ansi -o minishell main.o print_error.o my_epur.o init_values.o use_path.o execute.o builtins/point_coma.o tools/print.o tools/action.o
gcc: builtins/point_coma.o: No such file or directory
gcc: tools/print.o: No such file or directory
gcc: tools/action.o: No such file or directory
Merci de m'expliquer pourquoi les .o des sous dossiers ne restent pas dans leur sous dossiers !