Liebe Newsgroup,
ich habe gerade ein kleines Projekt begonnen und schon tauchen die
ersten Probleme auf, wenn ich das Tool "make" nicht in der einfachsten
Form benutzen will. Die Situation ist folgende. Ich habe meinen
Quellcode und meine Header-Dateien in der unten abgebildeten
Verzeichnis-Struktur gespeichert.
project_dir
|
+- source
| |
| +- main.cpp
| +- foo.cpp
|
+- include
| |
| +- foo.h
|
+- bin
|
+- temp
Die Objektdateien sollen dann im <temp> Verzeichnis stehen und die
ausführbare Datei in <bin>.
Das makefile sieht dazu wie folgt aus:
------------------ MAKEFILE -----------------------
PROJ_DIR= project_dir
BIN_DIR= $(PROJ_DIR)/bin
TEMP_DIR= $(PROJ_DIR)/temp
INCLUDE_DIR= $(PROJ_DIR)/include
SOURCE_DIR= $(PROJ_DIR)/source
CC=g++
CXXFLAGS= -g -Wall
LFLAGS= -g -Wall -o $(BIN_DIR)/a.out
OBJS= foo.o main.o
vpath x.cpp $(SOURCE_DIR)
vpath x.h $(INCLUDE_DIR)
vpath x.o $(TEMP_DIR)
vpath x $(BIN_DIR)
a.out : $(OBJS)
$(CC) $(LFLAGS) $(OBJS)
main.o : main.cpp foo.h
foo.o : foo.cpp foo.h
---------------- MAKEFILE ENDE -----------------------
Wenn ich "make" jetzt so ausführe, dann wird die ausführbare Datei
korrekt erzeugt, allerdings stehen meine Objektdateien immer im
Verzeichnis