From owner-freebsd-bugs Mon Jun 3 22:26:56 1996 Return-Path: owner-bugs Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id WAA16821 for bugs-outgoing; Mon, 3 Jun 1996 22:26:56 -0700 (PDT) Received: from zibbi.mikom.csir.co.za (zibbi.mikom.csir.co.za [146.64.24.58]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id WAA16807 for ; Mon, 3 Jun 1996 22:26:52 -0700 (PDT) Received: (from jhay@localhost) by zibbi.mikom.csir.co.za (8.7.5/8.7.3) id HAA10491; Tue, 4 Jun 1996 07:26:05 +0200 (SAT) From: John Hay Message-Id: <199606040526.HAA10491@zibbi.mikom.csir.co.za> Subject: Re: Shell commands beginning with '@' don't work in make sometimes To: sysseh@devetir.qld.gov.au Date: Tue, 4 Jun 1996 07:26:04 +0200 (SAT) Cc: bugs@freebsd.org In-Reply-To: <199606040402.EAA23538@netfl15a.devetir.qld.gov.au> from Stephen Hocking at "Jun 4, 96 02:02:54 pm" X-Mailer: ELM [version 2.4ME+ PL16 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-bugs@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Looking at it quickly, I would say that either the second for should not have a @ in front of it, or the line above it should not end with a "\" John -- John Hay -- John.Hay@mikom.csir.co.za > >Submitter-Id: current-users > >Originator: Bourne-again Superuser > >Organization: DTIR > >Confidential: no > >Synopsis: Shell commands within make that start with '@' don't work > >Severity: serious > >Priority: medium > >Category: bin > >Release: FreeBSD 2.2-CURRENT i386 > >Class: sw-bug > >Environment: > > FreeBSD-2.2 current > > >Description: > > When a makefile has a target with embedded shell comands that start > with @, it will not execute them properly, actually seeking a > command that begins with '@' (say @for) rather than just not echoing the > command in question. > > >How-To-Repeat: > > A makefile fragment of the form > > # a very simple makefile... > pmake:: > @for flag in ${MAKEFLAGS} ''; do \ > case "$$flag" in *=*) ;; *[i]*) set +e;; esac; done; \ ^^^ > @for i in develhdrs/local; do if [ -d $(DESTDIR)$$i ]; then \ ^^^ > set +x; else (set -x; $(MKDIRHIER) $(DESTDIR)$$i); fi \ > done > @echo 'make started.' > @for i in *.c; do \ > echo $i; \ > done > cc -I. -c *.c > cd lst.lib; cc -I.. -c *.c > cc *.o lst.lib/*.o -o pmake > @echo 'make completed.' > > will cause an error like the following - > > @for: not found > *** Error code 2 > > > > >Fix: > > Unknown at this stage - looks like a perverse make bug > > > > -- > The views expressed above are not those of the Worker's Compensation Board of > Queensland, Australia. > > >