Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com From: "Kevin Wright" To: "Cygwin" Subject: RE: B20.1: make dependencies broken Date: Fri, 28 Jan 2000 16:54:54 -0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) Importance: Normal In-Reply-To: <20000128141631.28749.qmail@web123.yahoomail.com> X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 Hmmm. I tried make 3.77 from make-3.77-mingw32.zip. It does fix my original problem. However it seems to have real problems with libraries and their dependencies. I've been trying to generate a sample makefile but I can't get make to do _anything_ interesting in a test case. But try this ================================================================ MARK = Mark # Turn off default library rule (%): % > $(MARK) LIB = mylib.a OBS = $(LIB)(f1.o) $(LIB)(f2.o) All: $(OBS) # making $@ due to $? ================================================================= I know this doesn't do anything useful but it just demonstrates a problem. The proper makefile generates a load of objects and then puts them into the library all in one go. touch f1.o f2.o make I expect to get: ------------------- > Mark > Mark # making All due to f1.o f2.o ------------------- On cygwin all I get is make: *** No rule to make target `mylib.a(f1.o)', needed by `All'. Stop. This works on the make versions I listed previously but does not work on cygwin using make 3.76 or 3.77 I'm really puzzled how the cygwin developers manage to use this make. The problem I was trying to demonstrate is that the '# making' line is printed as # making All due to mylib.a(f1.o) mylib.a(f2.o) which is what I get when running this on my real makefile. This is definitely wrong as the make documentation clearly states that $? expands the library members and not the full path. I think I will just give up trying to go down this route as make 3.75 seems to work perfectly well. Thanks for your help. Kevin -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com