Bonjour,
Voila je rencontre un petit problème avec mon code.
Ce que je fais
Le makefile arrive creer les fichiers .o dans le sous dossier prog/, mais je n'arrive pas a creer l'executable à partir des fichiers .o
CC = gcc
SRC = $(wildcard *.c)
OBJ = $(SRC:.c=.o)
EXEC = exe CFLAGS = -Wall -pedantic -std=c11 -g
all : $(EXEC)
%.o : %.c
$(CC) -o prog/$@ -c $< $(CFLAGS)
$(EXEC) : $(OBJ)
$(CC) -o $@ prog/$^ $(CFLAGS)
clean : rm -rf *.o
mrproper : clean rm -rf $(EXEC)
Ce que je veux
Ecrire un Makefile qui compile tout les fichiers .c et les mets dans un sous dossier
Ce que j'obtiens
J'arrive à lire seulement un fichier (je met le Makefile et les erreurs ci dessous).
Ce que j'obtiens ci-dessous :
###################ERREUR#####################
gcc -o prog/a.o -c a.c -Wall -pedantic -std=c11 -g
gcc -o prog/b.o -c b.c -Wall -pedantic -std=c11 -g
gcc -o prog/main.o -c main.c -Wall -pedantic -std=c11 -g
gcc -o exe prog/a.o b.o main.o -Wall -pedantic -std=c11 -g
gcc: error: b.o: Aucun fichier ou dossier de ce type
gcc: error: main.o: Aucun fichier ou dossier de ce type
Makefile:13: recipe for target 'exe' failed make: * [exe] Error 1
PS : a.c : affiche A , b.c : Affiche B et main.c fait appel à a.c et b.c