From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27130 invoked by alias); 12 Nov 2010 15:02:54 -0000 Received: (qmail 27116 invoked by uid 22791); 12 Nov 2010 15:02:53 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Received: from c60.cesmail.net (HELO c60.cesmail.net) (216.154.195.49) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 12 Nov 2010 15:02:06 +0000 Received: from unknown (HELO epsilon2) ([192.168.1.60]) by c60.cesmail.net with ESMTP; 12 Nov 2010 10:02:04 -0500 Received: from 89.241.153.155 ([89.241.153.155]) by webmail.spamcop.net (Horde MIME library) with HTTP; Fri, 12 Nov 2010 10:02:04 -0500 Message-ID: <20101112100204.lhw5uyhrpcswogo8-nzlynne@webmail.spamcop.net> Date: Fri, 12 Nov 2010 15:46:00 -0000 From: Joern Rennecke To: Paolo Bonzini Cc: gcc-patches@gcc.gnu.org, DJ Delorie , Alexandre Oliva Subject: Re: Ping^2: RFA (build): Avoid circular dependency References: <20100629172139.7sxigvan4g48koss-nzlynne@webmail.spamcop.net> <20101104090834.yzg2549rks8o84wg-nzlynne@webmail.spamcop.net> <20101112091310.xfc3pvh9ogw0sskg-nzlynne@webmail.spamcop.net> <4CDD502D.9060405@gnu.org> In-Reply-To: <4CDD502D.9060405@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; DelSp="Yes"; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable User-Agent: Internet Messaging Program (IMP) H3 (4.1.4) Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2010-11/txt/msg01297.txt.bz2 Quoting Paolo Bonzini : > On 11/12/2010 03:13 PM, Joern Rennecke wrote: ... >> Are you still planning to do the review in the near future? > > Yes. Your patch has the disadvantage that a normal "make" will not > do the check anymore, because you removed the dependency from all to > s-tm-texi (which previously went all -> info -> gccint.info -> > tm.texi -> s-tm-texi). We still have a gccint.info -> new-tm.texi -> s-tm-texi link. > What about this instead, which breaks the circular dependency by > making tm.texi phony. This way "$(MAKE) tm.texi" is effectively > a synonym of "$(MAKE s-tm-texi)". > > --- Makefile.in (revision 166517) > +++ Makefile.in (working copy) > @@ -3688,7 +3688,10 @@ s-constrs-h: $(MD_DEPS) build/genpreds$( > $(STAMP) s-constrs-h > > target-hooks-def.h: s-target-hooks-def-h; @true > -tm.texi: s-tm-texi; @true > + > +all: tm.texi > +tm.texi: force > + $(MAKE) s-tm-texi This looks unsafe in a parallel make context. make could decide to build tm.texi and s-tm-texi simultaneously. Then in order to build tm.texi, it will invoke another make that builds s-tm-texi, too.