From: Manni Heumann Newsgroups: comp.os.msdos.djgpp Subject: Re: Need a little help with make Date: 23 May 2002 14:59:29 GMT Lines: 43 Message-ID: References: NNTP-Posting-Host: computer-name.uni-bielefeld.de (129.70.100.226) Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: fu-berlin.de 1022165969 27395362 129.70.100.226 (16 1428 [54749]) User-Agent: Xnews/5.04.25 X-Face: "c)Go+A65AgR*9'!B)BMLM$kYg6HDG!_g'DAsj*ALo%=kp{X&abs&t\G0F~*r?VRj#|4=6)M.RJPnD]Ql:B<-7A^EAYFpDpZRMoJy?80^3B3b AT DXb%MTyOD.*4wu&Xt6o*+6`r5E To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Eli Zaretskii wrote: > > On 23 May 2002, Manni Heumann wrote: > >> > - change the %.o: %.cpp rule to produce *.o files in the >> > special directory (tweak the "-o $@" part of the rule's >> > command); >> >> Ok, I did that. Sadly, it didn't work. Make did build the *.o >> files and put them in the subdirectory. But: It would build >> them every time, whether the were up to date or not, and it >> couldn't link my exe file. Instead I got a "No such file or >> directory" error for each of them. It seems like make did not >> look into my subdirectory at all. I tried both absolute and >> relative path, no change. Sorry, this was not quite correct. The *.o files are only produced when they are not up to date. But the error messge remains. > Was that before or after you started to use VPATH? If before, > try adding VPATH and see if it helps. If after, please show > your Makefile after all the changes. After! It happened after I added a VPATH statement. Here's my makefile: TARGET = rs.exe CC = gpp VPATH=objs OBJECTS = main.o cstring.o config.o data.o $(TARGET) : $(OBJECTS) $(CC) $(OBJECTS) $(LDFLAGS) -o $(TARGET) %.o : %.cpp $(CC) $< $(WARNINGS) $(CXXFLAGS) -c -o $(VPATH)\$@ Hope I missed something. Thank you, Manni