Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Sonstige Fragen (http://www.informatikerboard.de/board/board.php?boardid=25)
--- Frage zu Makefile und g++ (http://www.informatikerboard.de/board/thread.php?threadid=380)
Geschrieben von sax am 29.02.2008 um 14:05:
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)
Geschrieben von ed209 am 29.02.2008 um 19:24:
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
Geschrieben von sax am 03.03.2008 um 15:32:
Okay, Danke
Forensoftware: Burning Board, entwickelt von WoltLab GmbH