From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23294 invoked by alias); 10 Feb 2014 00:58:45 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 23284 invoked by uid 89); 10 Feb 2014 00:58:44 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.5 required=5.0 tests=AWL,BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-yk0-f176.google.com Received: from mail-yk0-f176.google.com (HELO mail-yk0-f176.google.com) (209.85.160.176) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Mon, 10 Feb 2014 00:58:43 +0000 Received: by mail-yk0-f176.google.com with SMTP id 19so5384262ykq.7 for ; Sun, 09 Feb 2014 16:58:41 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.236.81.237 with SMTP id m73mr25173811yhe.29.1391993921195; Sun, 09 Feb 2014 16:58:41 -0800 (PST) Received: by 10.170.189.212 with HTTP; Sun, 9 Feb 2014 16:58:41 -0800 (PST) In-Reply-To: <201402081141.s18Bf6U4019336@glazunov.sibelius.xs4all.nl> References: <201402041033.s14AX8Ai013211@glazunov.sibelius.xs4all.nl> <201402081141.s18Bf6U4019336@glazunov.sibelius.xs4all.nl> Date: Mon, 10 Feb 2014 00:58:00 -0000 Message-ID: Subject: Re: [PATCH] Makefile fix From: Doug Evans To: Mark Kettenis Cc: Doug Evans , "gdb-patches@sourceware.org" Content-Type: text/plain; charset=ISO-8859-1 X-IsSubscribed: yes X-SW-Source: 2014-02/txt/msg00264.txt.bz2 On Sat, Feb 8, 2014 at 3:41 AM, Mark Kettenis wrote: >> Date: Fri, 7 Feb 2014 21:00:35 -0800 >> From: Doug Evans >> >> On Tue, Feb 4, 2014 at 2:33 AM, Mark Kettenis wrote: >> > The diff below fixes an issue that has been bothering me for quite a >> > while. When using OpenBSD make, almost everything in gdb/ gets >> > rebuilt. The problem is the use of the all-lib phony target, which is >> > always considered to be out-of-date, and used as a prerequisite of >> > libgnu.a and the gnulib string.h, which are therefore also considered >> > to be out-of-date. I have no idea why this problem doesn't show up >> > with GNU make. But the GNU make manual clearly states that phony >> > targets should not be prerequisites of real target files: >> > >> > >> > >> > It seems to me that the phony target can be easily avoided; see the >> > diff below. But perhaps I'm missing something? >> > >> > >> > >> > diff --git a/gdb/Makefile.in b/gdb/Makefile.in >> > index ed84e35..937478b 100644 >> > --- a/gdb/Makefile.in >> > +++ b/gdb/Makefile.in >> > @@ -1263,10 +1263,8 @@ gdb$(EXEEXT): gdb.o $(LIBGDB_OBS) $(ADD_DEPS) $(CDEPS) $(TDEPLIBS) >> > $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES) >> > >> > # Convenience rule to handle recursion. >> > -$(LIBGNU) $(GNULIB_H): all-lib >> > -all-lib: $(GNULIB_BUILDDIR)/Makefile >> > +$(LIBGNU) $(GNULIB_H): $(GNULIB_BUILDDIR)/Makefile >> > @$(MAKE) $(FLAGS_TO_PASS) DO=all DODIRS=$(GNULIB_BUILDDIR) subdir_do >> > -.PHONY: all-lib >> > >> > # Convenience rule to handle recursion. >> > .PHONY: all-data-directory >> >> I found the patch where this went in but I couldn't find anything interesting. >> "all-lib" is there, I'm guessing, just as a convenience for typing, >> but I'm not sure how often it's used so if it's getting in the way I'm >> ok with this change. >> I can't think of any problems with the patch. >> [And we could still keep all-lib as a convenience rule, but I'm ok >> with deleting it for now.] > > Thanks. Here's what I committed: > > From 0a6bd22df74bb5b6ffa30c3b10243a34d9055c32 Mon Sep 17 00:00:00 2001 > From: Mark Kettenis > Date: Sat, 8 Feb 2014 12:36:17 +0100 > Subject: [PATCH] A phony target should not be a prerequisite of a real target > file > > gdb/ChangeLog: > > * Makefile.in (all-lib): Remove. > ($(LIBGNU) $(GNULIB_H)): Replace with gits of remove all-lib target. > --- > gdb/ChangeLog | 5 +++++ > gdb/Makefile.in | 4 +--- > 2 files changed, 6 insertions(+), 3 deletions(-) > > diff --git a/gdb/ChangeLog b/gdb/ChangeLog > index c2c9236..bb64a23 100644 > --- a/gdb/ChangeLog > +++ b/gdb/ChangeLog > @@ -1,3 +1,8 @@ > +2014-02-08 Mark Kettenis > + > + * Makefile.in (all-lib): Remove. > + ($(LIBGNU) $(GNULIB_H)): Replace with gits of remove all-lib target. > + > 2014-02-07 Doug Evans > > * extension-priv.h (extension_language_script_ops): Add comment. > diff --git a/gdb/Makefile.in b/gdb/Makefile.in > index e714550..0976615 100644 > --- a/gdb/Makefile.in > +++ b/gdb/Makefile.in > @@ -1265,10 +1265,8 @@ gdb$(EXEEXT): gdb.o $(LIBGDB_OBS) $(ADD_DEPS) $(CDEPS) $(TDEPLIBS) > $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES) > > # Convenience rule to handle recursion. > -$(LIBGNU) $(GNULIB_H): all-lib > -all-lib: $(GNULIB_BUILDDIR)/Makefile > +$(LIBGNU) $(GNULIB_H): $(GNULIB_BUILDDIR)/Makefile > @$(MAKE) $(FLAGS_TO_PASS) DO=all DODIRS=$(GNULIB_BUILDDIR) subdir_do > -.PHONY: all-lib > > # Convenience rule to handle recursion. > .PHONY: all-data-directory > -- > 1.8.5.3 > I'm getting gnulib related build failures on linux, I'm guessing it's this change. Sorry 'bout that. I think it's that a parallel make is now entering build-gnulib twice. So we need to serialize it, without using a phony target.