From: earnie_boyd AT yahoo DOT com (Earnie Boyd) Subject: Re: B20: Bug in make with static pattern rules. 11 Nov 1998 20:21:35 -0800 Message-ID: <19981111032245.17283.rocketmail.cygnus.gnu-win32@send104.yahoomail.com> Reply-To: earnie_boyd AT yahoo DOT com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii To: Malcolm Purvis , gnu-win32 AT cygnus DOT com Do you have the environment variable MAKE_MODE set to unix? I.E.: export MAKE_MODE=unix ---Malcolm Purvis wrote: > > I have just downloaded and installed the full.exe version of B20 onto my win > 95B machine, and immediately set about installing some software that had been > ported to B18, but I don't think has been supported since. Unfortunately, it > fails with make generating an error. The following makefile highlights the > problem: > > --------------------------------------------------------------------------- > # Test for a bug in cygwin gnumake > > AA := /a > BB := /a/b > > all :: $(AA) $(BB) > > $(AA) $(BB) : % : > mkdir $@ > > --------------------------------------------------------------------------- > > When run under B20, it produces the message: > > --------------------------------------------------------------------------- > make: *** No rule to make target '/a', needed by 'all'. Stop. > --------------------------------------------------------------------------- > > While gnumake 3.77 under Solaris produces the expected output: > > --------------------------------------------------------------------------- > mkdir /a > mkdir /a/b > --------------------------------------------------------------------------- > > However, it works if the leading '/' is removed from the path in $(BB). Is > there a problem with absolute path names? > > The error seems to be generated because the two paths are being combined into > one path with a space in the name and so the desired targets vanish and make > generates the error. This can be seen if make's database is dumped (with the > -p argument). The following is the relevant part of the dump (the rest is > deleted for brevity): > > --------------------------------------------------------------------------- > /a /a/b: > # Implicit rule search has not been done. > # Implicit/static pattern stem: `/a /a/b' > # Modification time never checked. > # File has not been updated. > # commands to execute (from `Makefile.txt', line 9): > mkdir $@ > --------------------------------------------------------------------------- > > The equivalent parts of the run on Solaris is: > > --------------------------------------------------------------------------- > /a: > # Implicit rule search has not been done. > # Implicit/static pattern stem: `/a' > # File does not exist. > # File has been updated. > # Successfully updated. > # automatic > # ^ := > # automatic > # @ := /a > # automatic > # + := > # automatic > # ? := > # automatic > # * := /a > # automatic > # % := > # automatic > # < := > # 7 variables in 23 hash buckets. > # average of 0.3 variables per bucket, max 2 in one bucket. > # commands to execute (from `Makefile', line 9): > mkdir $@ > > /a/b: > # Implicit rule search has not been done. > # Implicit/static pattern stem: `/a/b' > # File does not exist. > # File has been updated. > # Successfully updated. > # automatic > # ^ := > # automatic > # @ := /a/b > # automatic > # + := > # automatic > # ? := > # automatic > # * := /a/b > # automatic > # % := > # automatic > # < := > # 7 variables in 23 hash buckets. > # average of 0.3 variables per bucket, max 2 in one bucket. > # commands to execute (from `Makefile', line 9): > mkdir $@ > --------------------------------------------------------------------------- > > -- > Malcolm Purvis (malcolmp AT abc DOT gov DOT au) - ABC Technology Research and Development > > "I don't want it to be practical, I want it to be *expensive*." > -- my wife. > - > For help on using this list (especially unsubscribing), send a message to > "gnu-win32-request AT cygnus DOT com" with one line of text: "help". > == - \\||// -------------o0O0--Earnie--0O0o-------------- -- earnie_boyd AT yahoo DOT com -- -- http://www.freeyellow.com/members5/gw32 -- ----------------ooo0O--O0ooo----------------- PS: Newbie's, you should visit my page. _________________________________________________________ DO YOU YAHOO!? Get your free @yahoo.com address at http://mail.yahoo.com - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".