* [PATCH] Makefile fix
@ 2014-02-04 10:33 Mark Kettenis
2014-02-08 5:00 ` Doug Evans
0 siblings, 1 reply; 7+ messages in thread
From: Mark Kettenis @ 2014-02-04 10:33 UTC (permalink / raw)
To: gdb-patches
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:
<http://www.gnu.org/software/make/manual/make.html#Phony-Targets>
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Makefile fix
2014-02-04 10:33 [PATCH] Makefile fix Mark Kettenis
@ 2014-02-08 5:00 ` Doug Evans
2014-02-08 11:41 ` Mark Kettenis
0 siblings, 1 reply; 7+ messages in thread
From: Doug Evans @ 2014-02-08 5:00 UTC (permalink / raw)
To: Mark Kettenis; +Cc: gdb-patches
On Tue, Feb 4, 2014 at 2:33 AM, Mark Kettenis <mark.kettenis@xs4all.nl> 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:
>
> <http://www.gnu.org/software/make/manual/make.html#Phony-Targets>
>
> 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.]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Makefile fix
2014-02-08 5:00 ` Doug Evans
@ 2014-02-08 11:41 ` Mark Kettenis
2014-02-10 0:58 ` Doug Evans
0 siblings, 1 reply; 7+ messages in thread
From: Mark Kettenis @ 2014-02-08 11:41 UTC (permalink / raw)
To: dje; +Cc: mark.kettenis, gdb-patches
> Date: Fri, 7 Feb 2014 21:00:35 -0800
> From: Doug Evans <dje@google.com>
>
> On Tue, Feb 4, 2014 at 2:33 AM, Mark Kettenis <mark.kettenis@xs4all.nl> 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:
> >
> > <http://www.gnu.org/software/make/manual/make.html#Phony-Targets>
> >
> > 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 <kettenis@gnu.org>
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 <kettenis@gnu.org>
+
+ * Makefile.in (all-lib): Remove.
+ ($(LIBGNU) $(GNULIB_H)): Replace with gits of remove all-lib target.
+
2014-02-07 Doug Evans <dje@google.com>
* 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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Makefile fix
2014-02-08 11:41 ` Mark Kettenis
@ 2014-02-10 0:58 ` Doug Evans
2014-02-10 1:41 ` Doug Evans
0 siblings, 1 reply; 7+ messages in thread
From: Doug Evans @ 2014-02-10 0:58 UTC (permalink / raw)
To: Mark Kettenis; +Cc: Doug Evans, gdb-patches
On Sat, Feb 8, 2014 at 3:41 AM, Mark Kettenis <mark.kettenis@xs4all.nl> wrote:
>> Date: Fri, 7 Feb 2014 21:00:35 -0800
>> From: Doug Evans <dje@google.com>
>>
>> On Tue, Feb 4, 2014 at 2:33 AM, Mark Kettenis <mark.kettenis@xs4all.nl> 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:
>> >
>> > <http://www.gnu.org/software/make/manual/make.html#Phony-Targets>
>> >
>> > 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 <kettenis@gnu.org>
> 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 <kettenis@gnu.org>
> +
> + * Makefile.in (all-lib): Remove.
> + ($(LIBGNU) $(GNULIB_H)): Replace with gits of remove all-lib target.
> +
> 2014-02-07 Doug Evans <dje@google.com>
>
> * 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.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Makefile fix
2014-02-10 0:58 ` Doug Evans
@ 2014-02-10 1:41 ` Doug Evans
2014-02-10 13:15 ` Mark Kettenis
0 siblings, 1 reply; 7+ messages in thread
From: Doug Evans @ 2014-02-10 1:41 UTC (permalink / raw)
To: Mark Kettenis; +Cc: gdb-patches
On Sun, Feb 9, 2014 at 4:58 PM, Doug Evans <xdje42@gmail.com> wrote:
> On Sat, Feb 8, 2014 at 3:41 AM, Mark Kettenis <mark.kettenis@xs4all.nl> wrote:
>>> Date: Fri, 7 Feb 2014 21:00:35 -0800
>>> From: Doug Evans <dje@google.com>
>>>
>>> On Tue, Feb 4, 2014 at 2:33 AM, Mark Kettenis <mark.kettenis@xs4all.nl> 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:
>>> >
>>> > <http://www.gnu.org/software/make/manual/make.html#Phony-Targets>
>>> >
>>> > 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 <kettenis@gnu.org>
>> 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 <kettenis@gnu.org>
>> +
>> + * Makefile.in (all-lib): Remove.
>> + ($(LIBGNU) $(GNULIB_H)): Replace with gits of remove all-lib target.
>> +
>> 2014-02-07 Doug Evans <dje@google.com>
>>
>> * 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.
I reverted the patch to get linux builds going.
Again., sorry 'bout that.
I'll work on a different fix on Monday, unless you want to take it.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Makefile fix
2014-02-10 1:41 ` Doug Evans
@ 2014-02-10 13:15 ` Mark Kettenis
2014-02-10 14:23 ` Joel Brobecker
0 siblings, 1 reply; 7+ messages in thread
From: Mark Kettenis @ 2014-02-10 13:15 UTC (permalink / raw)
To: xdje42; +Cc: gdb-patches
> Date: Sun, 9 Feb 2014 17:41:36 -0800
> From: Doug Evans <xdje42@gmail.com>
>
> On Sun, Feb 9, 2014 at 4:58 PM, Doug Evans <xdje42@gmail.com> wrote:
> > On Sat, Feb 8, 2014 at 3:41 AM, Mark Kettenis <mark.kettenis@xs4all.nl> wrote:
> >>> Date: Fri, 7 Feb 2014 21:00:35 -0800
> >>> From: Doug Evans <dje@google.com>
> >>>
> >>> On Tue, Feb 4, 2014 at 2:33 AM, Mark Kettenis <mark.kettenis@xs4all.nl> 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:
> >>> >
> >>> > <http://www.gnu.org/software/make/manual/make.html#Phony-Targets>
> >>> >
> >>> > 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 <kettenis@gnu.org>
> >> 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 <kettenis@gnu.org>
> >> +
> >> + * Makefile.in (all-lib): Remove.
> >> + ($(LIBGNU) $(GNULIB_H)): Replace with gits of remove all-lib target.
> >> +
> >> 2014-02-07 Doug Evans <dje@google.com>
> >>
> >> * 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.
>
> I reverted the patch to get linux builds going.
> Again., sorry 'bout that.
Thanks. Didn't realize it was safe to do parellel builds of gdb.
> I'll work on a different fix on Monday, unless you want to take it.
The problem here as having two targets with exactly the same rule.
Easiest way to fix this is to simply drop $(LIBGNU) as target and have only:
$(GNULIB_H): $(GNULIB_BUILDDIR)/Makefile
@$(MAKE) $(FLAGS_TO_PASS) DO=all DODIRS=$(GNULIB_BUILDDIR) subdir_do
I don't think that will break anything. But then I thought the same
about the previous diff...
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Makefile fix
2014-02-10 13:15 ` Mark Kettenis
@ 2014-02-10 14:23 ` Joel Brobecker
0 siblings, 0 replies; 7+ messages in thread
From: Joel Brobecker @ 2014-02-10 14:23 UTC (permalink / raw)
To: Mark Kettenis; +Cc: xdje42, gdb-patches
> The problem here as having two targets with exactly the same rule.
> Easiest way to fix this is to simply drop $(LIBGNU) as target and have only:
>
> $(GNULIB_H): $(GNULIB_BUILDDIR)/Makefile
> @$(MAKE) $(FLAGS_TO_PASS) DO=all DODIRS=$(GNULIB_BUILDDIR) subdir_do
>
> I don't think that will break anything. But then I thought the same
> about the previous diff...
I am wondering if we could handle gnulib more or less the same
way we handle libiberty or libbfd, ie depend on $(LIBGNU)?
The difference, in the case of libgnu, is that we are configuring
gnulib from GDB as opposed to from the root directory.
If necessary, perhaps now is the time to move gnulib to the root
directory as we've been talking about a few times before?
--
Joel
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-02-10 14:23 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-04 10:33 [PATCH] Makefile fix Mark Kettenis
2014-02-08 5:00 ` Doug Evans
2014-02-08 11:41 ` Mark Kettenis
2014-02-10 0:58 ` Doug Evans
2014-02-10 1:41 ` Doug Evans
2014-02-10 13:15 ` Mark Kettenis
2014-02-10 14:23 ` Joel Brobecker
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox