Bonjour,

J'ai un projet contenant dont les sources sont organisées ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
src
    util
        util.cpp
    ressources
       ressource1.cpp
       ressource2.cpp
       ...
    lib
       lib.cpp
build
    makefile
J'ai créé le makefile suivant pour compiler ma lib :
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
 
CPP=g++
INCLUDE=-I"../src"
CXXFLAGS=$(INCLUDE) -O0 -g3 -Wall -fmessage-length=0
LIB=lib.a
LIBDEST=./Debug/
LIBSRC= ../src/util/util.cpp \
               ../src/ressources/ressource1.cpp \
               ...
LIBOBJ= $(LIBSRC:../src/%.cpp=./obj/%.o)
AR=ar
 
all: $(LIB)
 
$(LIB): $(LIBOBJ)
	$(AR) -r $(LIB) $(LIBOBJ)
	mv $(LIB) $(LIBDEST)
 
./obj/%.o:../src/%.cpp
	$(CPP) -c $< -o $@ $(CXXFLAGS)
Quand je lance make depuis le répertoire build j'aimerai que les fichiers .o soient placés dans /build/obj/ mais j'obtiens l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
g++ -c ../src/util/util.cpp -o obj/util/util.o -I"../src" -O0 -g3 -Wall -fmessage-length=0
Assembler messages:
Fatal error: can't create obj/util/util.o: No such file or directory
Avez-vous une idée de comment faire?