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é.
Pourriez vous me dire ce qui ne permet pas aux .o d'aller se placer dans le /build ?
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
Merci de votre future réponse.
Partager