Message-Id: <199910132340.RAA22230@lakdiva.slt.lk> From: "Kalum Somaratna" To: djgpp AT delorie DOT com Date: Wed, 13 Oct 1999 17:40:55 +0600 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Subject: RE: Please Help. RHIDE generated makefiles don't support dependencies? References: <199910110147 DOT TAA06057 AT lakdiva DOT slt DOT lk> In-reply-to: X-mailer: Pegasus Mail for Win32 (v3.12) Reply-To: djgpp AT delorie DOT com On 11 Oct 99, at 12:17, Eli Zaretskii wrote: >>On Sun, 10 Oct 1999, Kalum Somaratna wrote: > > RHIDE version 1.4 > > This is not: the latest is 1.4.7; perhaps the problem I found (see > below) is corrected there. > Dear Eli, First of all thank's a lot for helping me in my problem. I downloaded v 1.4.7 and have found that the problem area you identified has been corrected in RHIDE 1.4.7. > > test.h still doesn't appear anywhere in the output of make (I did a > > search for test.h in makedump and could't find it) > > Here's the relevant part of the Makefile: > > > all:: test.exe > > DEPS_0=\ > > d:/paint/test.o <<<<<<<< > > NO_LINK= > > LINK_FILES=$(filter-out $(NO_LINK),$(DEPS_0)) > > test.exe:: $(DEPS_0) > > $(RHIDE_COMPILE_LINK) > > DEPS_1=test.cpp\ > > j:/djgpp/include/stdio.h\ > > j:/djgpp/include/sys/djtypes.h\ > > j:/djgpp/include/sys/version.h\ > > d:/paint/test.h > > test.o:: $(DEPS_1) > > $(RHIDE_COMPILE.cpp.o) > > The problem is in the dependency marked with "<<<<<<<<". It names the > full pathname of test.o, whereas the dependency for test.o uses just > "test.o". How's Make supposed to know these two are one and the same > file? Make is just a text-processing program, as far as reading the > Makefile is considered. > > If I change d:/paint/test.o to test.o, everything works like you'd > expect. You are indeed absolutely correct Eli, because in the makefile generated by v1.4.7(please see below) the problem appears to have been corrected. Makefile generated by RHIDE 1.4.7. (relevant bits) all:: DEPS_0= test.o <<<<<<<<< NO_LINK= LINK_FILES=$(filter-out $(NO_LINK),$(DEPS_0)) test.exe:: $(DEPS_0) $(RHIDE_COMPILE_LINK) DEPS_1=test.cpp j:/djgpp/include/stdio.h j:/djgpp/include/sys/djtypes.h\ j:/djgpp/include/sys/version.h test.h test.o:: $(DEPS_1) $(RHIDE_COMPILE.cpp.o) all:: test.exe As you can see v1.4.7 correctly specifies 'test.o' instead of v1.4 wich wrongly specifies 'd:/paint/test.o' . So now MAKE does check for test.h and if it has been changed rebuilds test.o as it should. > > Now, I don't know if this is a bug in RHIDE (I don't use RHIDE myself) > or your own usage error. This in my opinion is certainly a bug in RHIDE 1.4 wich has been remedied in v.14.7. Why does the zip-picker keep recommending v1.4 (rhide14b.zip if I can remember correctly) when v1.4.7 (although a beta) is much better( I got v1.4.7 from Robert's site). The reason I ended up with v1.4 was because the zip-picker suggested it. Once again many thank's to everyone who helped me in my problem, I really appreciate everyones help. Kalum