Frage zu Makefile und g++

Neue Frage »

Auf diesen Beitrag antworten »
sax Frage zu Makefile und g++

Hallo allerseits,

ich habe mal ne Makefile Frage

ich habe ein kleines C++ Projekt und moechte in
meinem dem Verzeichnis mit dem Source Code
auch nur den Source Code und kein .o dateien und sonstiges
haben. Ich benutze g++ +makefile. Ich benutze das Makefile unten.
Hat jemand ne Idee wie ich es hinbekomme das auch die .o Dateien
im buildfolder gespeichert werden ?

Vielen Dank schonmal.

CC = g++
CFLAGS = -c -O0 -g
LFLAGS = -g
buildfolder = /scratch/DEM/build

SRC = main.cc System.cc Particle.cc
OBJ = $(SRC:%.cc=%.o)

EXEC = DEM
DEPENDFILE = .depend


DEM: $(OBJ)
$(CC) -o $(buildfolder)/DEM $(OBJ) $(LFLAGS)
dep: $(SRC)
$(CC) -MM $(SRC) > $(DEPENDFILE)
-include $(DEPENDFILE)
%.o: %.cc
$(CC) $(CFLAGS) -o$(buildfolder)/$@ $<

.PHONY: clean
clean:
rm -rf *.o $(EXEC)
 
Auf diesen Beitrag antworten »
ed209

Dazu musst du zwei Sachen ändern:

1. Wohin die Objektdateien beim compilieren gepackt werden.
2. Woher die Objektdateien beim linken geholt werden.

Bei meinem Projekt hab ich zweiteres so gelöst, daß ich die OBJ-Liste um den Output-Pfad erweitert habe:

Zitat:

OBJ = $(addprefix $(buildfolder),$(SRC:%.cc=%.o))


Weil er jetzt die Dateien woanders braucht, habe ich die Abhängigkeits-Regel auch entsprechend angepasst:

Zitat:

$(buildfolder)%.o: %.cc
$(CC) $(CFLAGS) -o$(buildfolder)/$@ $<


Vielleicht musst Du da noch ein bisschen dran rumspielen.

Gruß,
ED209
Auf diesen Beitrag antworten »
sax

Okay, Danke
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »