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