]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
gdb/doc: merge rules for building .1 and .5 man pages
authorAndrew Burgess <aburgess@redhat.com>
Thu, 6 Jun 2024 17:29:23 +0000 (18:29 +0100)
committerAndrew Burgess <aburgess@redhat.com>
Mon, 24 Jun 2024 11:13:33 +0000 (12:13 +0100)
We have two rules, one each for building the .1 and .5 man pages.  The
only actual difference is that one rule passes --section=1 and the
other passes --section=5 (see the definitions of POD2MAN1 and POD2MAN5
respectively.

I figure by using the suffix from the target of the rule we can
combine these two rules into one.

I use:

  $(subst .,,$(suffix $@))

This gets the suffix from the target, either '.1' or '.5', and the
'subst' removes the '.' leaving '1' or '5'.

Now that I'm not using a static pattern rule for building the man
pages, the advice in the 'make' documentation is to not use $*, so
I've moved away from that to instead use $(basename $@), e.g. for
'gdbinit.5' this gives 'gdbinit', which is what we want.

There should be no difference in what is created after this change.

Approved-By: Tom Tromey <tom@tromey.com>
gdb/doc/Makefile.in

index 1a0791d518fa26e6c851a4772a9eafda2bd62bae..70d65d58ed0b30ed73753048f4610d3baf0f6e3f 100644 (file)
@@ -178,10 +178,8 @@ MANCONF = -Dman
 TEXI2POD = perl $(srcdir)/../../etc/texi2pod.pl \
                $(MAKEINFOFLAGS) $(MAKEINFO_EXTRA_FLAGS)
 
-POD2MAN1 = pod2man --center="GNU Development Tools" \
-                  --release="gdb-`sed q version.subst`" --section=1
-POD2MAN5 = pod2man --center="GNU Development Tools" \
-                  --release="gdb-`sed q version.subst`" --section=5
+POD2MAN = pod2man --center="GNU Development Tools" \
+               --release="gdb-`sed q version.subst`"
 
 # List of man pages generated from gdb.texi
 MAN1S = gdb.1 gdbserver.1 gcore.1 gdb-add-index.1
@@ -654,17 +652,14 @@ annotate/index.html: $(ANNOTATE_DOC_FILES)
 # pages, then the .pod files must become a dependency, this will
 # trigger an attempt to rebuild these files while building and
 # installing a release of GDB, which is something we don't want.
-$(MAN1S) : %.1 : $(GDB_DOC_FILES)
-       $(ECHO_TEXI2POD) $(TEXI2POD) $(MANCONF) -D$* < $(srcdir)/gdb.texinfo > $*.pod
-       $(ECHO_TEXI2MAN) ($(POD2MAN1) $*.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
+$(MAN1S) $(MAN5S) : version.subst $(GDB_DOC_FILES)
+       $(ECHO_TEXI2POD) $(TEXI2POD) $(MANCONF) -D$(basename $@) \
+               < $(srcdir)/gdb.texinfo > $(basename $@).pod
+       $(ECHO_TEXI2MAN) ($(POD2MAN) --section=$(subst .,,$(suffix $@)) \
+                       $(basename $@).pod | \
+               sed -e '/^.if n .na/d' > $@.T$$$$ && \
                mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
-       $(SILENCE) rm -f $*.pod
-
-$(MAN5S) : %.5 : $(GDB_DOC_FILES)
-       $(ECHO_TEXI2POD) $(TEXI2POD) $(MANCONF) -D$* < $(srcdir)/gdb.texinfo > $*.pod
-       $(ECHO_TEXI2MAN) ($(POD2MAN5) $*.pod | sed -e '/^.if n .na/d' > $@.T$$$$ && \
-               mv -f $@.T$$$$ $@) || (rm -f $@.T$$$$ && exit 1)
-       $(SILENCE) rm -f $*.pod
+       $(SILENCE) rm -f $(basename $@).pod
 
 force: