Fix ‘make distcheck’ failure due to generated manpages in build dir.

If we are doing a VPATH build and we generate the manpages,
they will be written to the build directory, and should be
deleted by ‘make distclean’; ‘make distcheck’ fails if this
is not done.  However, if we are doing a build in the source
directory, the manpages might have been shipped to us and we
should *not* delete them in ‘make distclean’.

Correction to 5d3c99e562.

* man/local.mk (distclean-local-man): New rule.  Delete $(dist_man_MANS)
  in VPATH builds only.
  (MOSTLYCLEANFILES, .x.1): Don’t use globs to decide what to delete.
This commit is contained in:
Zack Weinberg 2020-08-21 13:43:50 -04:00
parent 1a5ed45669
commit acf6fb022b
No known key found for this signature in database
GPG Key ID: 384F8E68AC65B0D5

View File

@ -27,7 +27,6 @@ dist_man_MANS = \
man/ifnames.1
EXTRA_DIST += $(dist_man_MANS:.1=.x) man/common.x
MAINTAINERCLEANFILES += $(dist_man_MANS)
# Depend on .version to get version number changes.
# Don't depend on the generated scripts, because then we would try to
@ -47,7 +46,17 @@ man/ifnames.1: $(common_dep) $(binsrcdir)/ifnames.in
remove_time_stamp = 's/^\(\.TH[^"]*"[^"]*"[^"]*\)"[^"]*"/\1/'
MOSTLYCLEANFILES += $(srcdir)/man/*.t
MOSTLYCLEANFILES += $(dist_man_MANS:=.t) $(dist_man_MANS:=a.t) \
$(dist_man_MANS:=.tmp)
MAINTAINERCLEANFILES += $(dist_man_MANS)
# To satisfy 'distcleancheck', we need to delete built manpages in
# 'distclean' when the build and source directories are not the same.
# We know we are in this case when 'man/common.x' doesn't exist.
distclean-local: distclean-local-man
distclean-local-man:
test -f man/common.x || rm -f $(dist_man_MANS)
SUFFIXES += .x .1
@ -70,4 +79,4 @@ SUFFIXES += .x .1
else \
mv $@.t $@; \
fi
rm -f $@*.t
rm -f $@.t $@a.t