gdb/doc: merge rules for building .1 and .5 man pages

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>
This commit is contained in:
Andrew Burgess 2024-06-06 18:29:23 +01:00
parent c6e7d403bb
commit 6c715062f4

View 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: