Euh... Je vais poster mes Makefiles pour plus de simplicité.
Mon projet est structuré comme suit :
[répertoire "racine"]
[Sous-répertoire "includes"]
[Sous-répertoire "main"]
[Sous-répertoire "functions"]
Makefile du répertoire "racine":
	
	1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
   | # ./Makefile
 
CC = gcc
CFLAGS = `pkg-config --libs --cflags gtk+-2.0` -Wall -Werror -pedantic -std=c99 -I ./includes
OBJ = functions/*.o main/*.o
NAME = myProg
 
all:
	make -C main
	make -C functions
	$(CC) $(OBJ) $(CFLAGS) -o $(NAME)
 
clean:
	make -C main clean
	make -C functions clean
	make -C includes clean
	rm -f *~
	rm -f $(NAME)  | 
 Makefile du sous-répertoire "includes": (qui ne sert qu'au "clean")
	
	1 2 3 4
   | # ./includes/Makefile
 
clean:
	rm -f *~  | 
 Makefile du sous-répertoire "main":
	
	1 2 3 4 5 6 7 8 9 10 11 12 13 14
   | # ./main/Makefile
 
CC = gcc
CFLAGS = `pkg-config --libs --cflags gtk+-2.0` -Wall -Werror -pedantic -std=c99 -I ../includes
OBJ = main.o
 
all: $(OBJ)
 
%o: %c
	$(CC) $(CFLAGS) -c $^ -o $@
 
clean:
	rm -f *.o
	rm -f *~  | 
 Makefile du sous-répertoire "functions":
	
	1 2 3 4 5 6 7 8 9 10 11 12 13 14
   | # ./functions/Makefile
 
CC = gcc
CFLAGS = `pkg-config --libs --cflags gtk+-2.0` -Wall -Werror -pedantic -std=c99 -I ../includes 
OBJ = afficherFenetre.o chiffrer.o dechiffrer.o
 
all: $(OBJ)
 
%o: %c
	$(CC) $(CFLAGS) -c $^ -o $@
 
clean: 
	rm -f *.o
	rm -f *~  | 
 J'ai fais ça un peu à ma sauce, n'hesite pas à faire des commentaires sur ce qui ne vas pas. 
Merci !
						
					 
					
				
Partager