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 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <14589.58703.938479.132274@baynetworks.com> Date: Wed, 19 Apr 2000 12:56:47 -0400 (EDT) To: "Christopher Jones" Cc: Bernard Dautrevaux , cygwin AT sourceware DOT cygnus DOT com, bug-make AT gnu DOT org Subject: RE: New Cygwin Net Release (make error) In-Reply-To: References: X-Mailer: VM 6.75 under Emacs 20.6.1 Reply-To: "Paul D. Smith" From: "Paul D. Smith" Organization: GNU's Not Unix! %% "Christopher Jones" writes: HTML isn't necessary on the mailing list; plain text is just fine, thanks. >> From Bernard >> From Brian >>> #--begin Makefile--- >>> SOMEVAR=$(ANOTHERVAR)/etc >>> include $(DEVDIR)/Makefile.mstr >>> #--end Makefile--- >>> DEVDIR is defined in the environment. ANOTHERVAR however is >>> defined in the included makefile. I thought make was supposed to >>> try to do full expansion on a second read of the makefile? Seems >>> to have worked before. >> In fact make is suppose to expand SOMEVAR only when it sees >> $(SOMEVAR), so yo u only have to be sure that ANOTHERVAR is set >> before trying to use SOMEVAR. Right. >> However be careful: if SOMEVAR is used in a dependency (either >> target or dependant part), it will be expanded as soon as it is >> seen. This is true, but not relevant to this situation. A recursive variable like SOMEVAR is expanded again _every_ time it's seen, not just the first time. So even if it's been expanded before, that won't be a problem here. cj> So I went off and tried to duplicate my problem with the smallest cj> Makefile possible and have succeeded. Turns out the problem is cj> with a target macro's value indicating a dos style filename, cj> e.g. e:/dir/file (yes, with UNIX slashes) even with MAKE_MODE=UNIX cj> set in the environment. Using something like //e/dir/file works cj> of course. I think that on win32 e:/dir/file is supposed to be cj> allowed without confusing the make parser but I cannot find much cj> in the info documentation to help make this clearer (it did work cj> in the past with make 3.75, the cygwin 1.1 net release uses 3.77). It would be nice if you'd included the "smallest Makefile possible", as well as the error you got and what you expected it to do :). From the description above I'm pretty lost as to what the problem you're seeing actually is. -- ------------------------------------------------------------------------------- Paul D. Smith Find some GNU make tips at: http://www.gnu.org http://www.ultranet.com/~pauld/gmake/ "Please remain calm...I may be mad, but I am a professional." --Mad Scientist -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com