Choisir le répertoire des .o dans un makefile.
Bonjour,
J'ai un projet contenant dont les sources sont organisées ainsi :
Code:
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:
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:
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?