Page 1 of 1

[GP] Makefile - verschillende directories

Posted: Fri Jan 02, 2009 5:23 pm
by Fristi
Loha

heb hier een problemeke mee:

Code: Select all


CC = g++ 
CXXFLAGS = -Wall
LDFLAGS =
SOURCES = main.cpp Klant/klant.cpp Datum/datum.cpp Optreden/optreden.cpp Concertzaal/concertzaal.cpp Plaatsen/plaatsen.cpp Reservatie/reservatie.cpp
DEPEND=$(SOURCES:.cpp=.d)
OBJECTS = $(SOURCES:.cpp=.o)
BIN = project


all : $(OBJECTS)
$(CC) -o $(BIN) $(OBJECTS)

.cpp.o:
$(CC) $(CXXFLAGS) -c $(SOURCES)

%.d: %.cpp
g++ -MM $< | sed 's/:/ $@:/' > $@


include $(DEPEND)

clean :
-rm -f $(OBJECTS)
-rm -f $(DEPEND)
is opt moment men makefile
In mijn codefiles als ik include doe ik schoonekes:

Code: Select all


#include "../Optreden/optreden.h"
#include "../Reservatie/reservatie.h"
Al mijn codefiles steken dus in aparte directories, in men algemene map Project heb ik dan men main.cpp en men makefile steken, maar dit doet ie dus ni en ik weet ni hoe of wat ik moet aanpassen om em het wel te laten doen..

Greets
Fristi

Posted: Fri Jan 02, 2009 5:29 pm
by zarry
ge kunt mss is proberen me VPATH..

Re: [GP] Makefile - verschillende directories

Posted: Fri Jan 02, 2009 5:31 pm
by Tom
CXXFLAGS = -Wall -I./ -I./Klant -I./Datum -I./Optreden -I./Concertzaal -I./Plaatsen -I./Reservatie

Re: [GP] Makefile - verschillende directories

Posted: Fri Jan 02, 2009 6:01 pm
by Robbe
Tom wrote:CXXFLAGS = -Wall -I./ -I./Klant -I./Datum -I./Optreden -I./Concertzaal -I./Plaatsen -I./Reservatie
Zal waarschijnlijk wel werken, maar is verwarrend als je relatieve padnamen gebruikt in je bronbestanden. Deze methode kan je best gebruiken als je ipv ../Klant/Klant.h gewoon Klant.h includeert, zodat je eigelijk je hoofdingen apart kan bewaren en eventueel in een ander project includeren, zonder daar alle bronbestanden erbij te moeten hebben.

@Fristi: wat moet .cpp.o voorstellen?

Posted: Fri Jan 02, 2009 6:16 pm
by Fristi
Tis idd zo dat als ik de -I toepas ik 27 keer meer output krijg omdat ik al relatieve pathnames gebruik bij het includen zelf.

.cpp.o kwam van assistent..maar da veranderen maakt niks uit.

Nu zit ik met het probleem dat men .o's terechtkomen in men main directory ipv hun respectievelijke subdirs.

Edit: Opgelost by Robbe- thanks a lot!