X-Spam-Check-By: sourceware.org From: "Dave Korn" To: Subject: RE: downgrading make version Date: Thu, 21 Sep 2006 10:04:50 +0100 Message-ID: <033e01c6dd5c$fe7a3770$a501a8c0@CAM.ARTIMI.COM> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook 11 In-Reply-To: <20060921050447.GH6790@ns1.anodized.com> Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On 21 September 2006 06:05, Christopher Layne wrote: > On Thu, Sep 21, 2006 at 12:57:58AM -0400, Christopher Faylor wrote: >>> (CP) = \cp >>> >>> install: $(PROGS) >>> $(CP) $(PROGS) $(INSTBINDIR) >>> >>> \cp nda.exe mtk.exe sda.exe /home/mast/CYGMOD/bin >>> make: \cp: Command not found >> >> The above is not valid makefile syntax but if I make obvious >> corrections, I get the same thing on Linux. I don't know what you were >> expecting \cp to be translated to, but it shouldn't, IMO, be interpreted >> as a MS-DOS path. > > Within a shell, one may also use \command to override an alias. Either way, > Makefile isn't a shell so it's bogus there. Actually, make invokes a shell if it detects any metacharacters on the commandline. We need to take a look at that sh_chars_sh or whatever it's called variable and verify whether or not it includes backslash and why. FWIW, you can work-around it by appending "| cat" to the end of the command line. That forces make to invoke bash: dk AT rainbow /tmp> cat mf PROGS=foo INSTBINDIR=./bin CP = \cp install: $(PROGS) $(CP) $(PROGS) $(INSTBINDIR) dk AT rainbow /tmp> diff -u mf mf2 --- mf 2006-09-21 10:00:14.498410000 +0100 +++ mf2 2006-09-21 10:02:17.826535000 +0100 @@ -3,5 +3,5 @@ CP = \cp install: $(PROGS) - $(CP) $(PROGS) $(INSTBINDIR) + $(CP) $(PROGS) $(INSTBINDIR) | cat dk AT rainbow /tmp> make -f mf \cp foo ./bin make: \cp: Command not found mf:6: *** [install] Error 127 #0 install at /tmp/mf:6 Command-line arguments: "-f mf" dk AT rainbow /tmp> make -f mf2 \cp foo ./bin | cat dk AT rainbow /tmp> cheers, DaveK -- Can't think of a witty .sigline today.... -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/