OSDN Git Service

Automatically enumerate manpages for publication.
authorKeith Marshall <keith@users.osdn.me>
Wed, 8 Apr 2020 10:02:23 +0000 (11:02 +0100)
committerKeith Marshall <keith@users.osdn.me>
Wed, 8 Apr 2020 10:02:23 +0000 (11:02 +0100)
mingwrt/ChangeLog
mingwrt/Makefile.in

index bcd305d..89143d7 100644 (file)
@@ -1,3 +1,12 @@
+2020-04-08  Keith Marshall  <keith@users.osdn.me>
+
+       Automatically enumerate manpages for publication.
+
+       * Makefile.in (manpages): New macro; define, and use it...
+       (mingwrt-man3): ...for this, to enumerate associated manpage sources.
+       (manpage_copy, mancopy, manpage_ref): New macros; define them, and...
+       (basename.3, getdelim.3): ...use them.
+
 2020-04-07  Keith Marshall  <keith@users.osdn.me>
 
        Document MinGW MBCS/wide character conversion functions.
index 0ac94ee..78dd32b 100644 (file)
@@ -839,9 +839,13 @@ install-%-optional-dll: %.dll.a bindir libdir
 # Install manpages.
 #
 vpath %.man ${mingwrt_srcdir}/man
+manpages = $(basename $(notdir $(wildcard $1/man/*.$2.man)))
+mancopy = $(call manpage_ref,$1,$2.man)$(eval $1: %: %.$0-recursive)
+manpage_ref = $(eval $1: export reference_manpage = $2)
+
 install-man install-manpages: install-mingwrt-manpages
-mingwrt-man$(man3ext): $(addsuffix .$(man3ext),basename dirname getline getdelim)
-install-mingwrt-manpages: mandir mingwrt-man3
+mingwrt-man$(man3ext): $(call manpages,${mingwrt_srcdir},$(man3ext))
+install-mingwrt-manpages: mandir mingwrt-man$(man3ext)
 
 mingwrt-man%:
        $(call mkinstalldirs,,${man$*dir})
@@ -854,11 +858,9 @@ mingwrt-man%:
 format_manpage = sed \
   -e "s/%PAGEREF%/`echo $1 | tr a-z A-Z` $(2:.%=%) `date -r $3 +%d-%b-%Y`/"
 
-basename.$(man3ext): export reference_manpage = dirname.$(man3ext).man
-basename.$(man3ext): %: %.mancopy-recursive
-
-getdelim.$(man3ext): export reference_manpage = getline.$(man3ext).man
-getdelim.$(man3ext): %: %.mancopy-recursive
+manpage_copy = $(eval $1$3: $2.$3)$(call mancopy,$2.$3,$4)
+$(call manpage_copy,mingwrt-man,basename,$(man3ext),dirname.$(man3ext))
+$(call manpage_copy,mingwrt-man,getdelim,$(man3ext),getline.$(man3ext))
 
 %.mancopy-recursive:
        $(MAKE) --no-print-directory $*.mancopy