Bonjour tout le monde, un problème se pose lors de l’exécution de mon script make, j'ai un recipe for target (je pense que cela viens de l'organisation de mes dossiers).
En fait mon dossier racine est composé de la sorte :
|_makefile
|_src / foo.c bar.c azerty.h
|_build

Lors de la compilation je souhaite placer mes objets et mon exécutable dans le dossier build, hors quand je lance mon make je me retrouve avec cette hiérarchie :
|_makefile
|_foo.o
|_bar.o
|_src / foo.c bar.c azerty.h
|_build

Et l'erreur me dit de ce fait que exécutable ne peut être compilé.

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
 
CC=gcc
SRC=src
BLD=build
 
.PHONY: clean
 
all: $(BLD)/foo.o $(BLD)/bar.o
 
$(BLD)/foo.o: $(SRC)/foo.c $(SRC)/azerty.h
	$(CC) -c $^
 
$(BLD)/bar.o: $(SRC)/bar.c $(SRC)/azerty.h
	$(CC) -c $^
 
$(BLD)/executable: $(BLD)/foo.o $(BLD)/bar.o
	$(CC) -o $@ $^
 
clean:
	rm $(BLD)/executable $(BLD)/foo.o $(BLD)/bar.o
Pourriez vous me dire ce qui ne permet pas aux .o d'aller se placer dans le /build ?
Merci de votre future réponse.