[PATCH] Makefile fix

Mark Kettenis mark.kettenis@xs4all.nl
Tue Feb 4 10:33:00 GMT 2014


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



More information about the Gdb-patches mailing list