]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
build-sys: use wildcard glob in update-man-list again 427/head
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 30 Jun 2015 13:56:44 +0000 (09:56 -0400)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 30 Jun 2015 13:56:44 +0000 (09:56 -0400)
The idea is that after adding a new man page, make update-man-list
will be used to regenerate part of the makefile. So the data already
present in the makefile cannot be used to do that.

Also, renames filter out generated xml files in make-man-rules.py
itself in order to make Makefile.am a bit simpler, and rename files
to dist_files to better reflect new meaning.

Makefile.am
tools/make-man-rules.py

index 7ac3c1d7ebe9b2084616b17b802f3c20b2c22b0f..0fa4cf4824dd8671305d798b4e6c8e2cd22f49ea 100644 (file)
@@ -708,10 +708,14 @@ noinst_DATA += \
 CLEANFILES += \
        man/index.html
 
+XML_GLOB = $(wildcard $(top_srcdir)/man/*.xml)
 NON_INDEX_XML_FILES = $(filter-out man/systemd.index.xml,$(XML_FILES))
 SOURCE_XML_FILES = ${patsubst %,$(top_srcdir)/%,$(filter-out man/systemd.directives.xml,$(NON_INDEX_XML_FILES))}
 
-update-man-list: $(top_srcdir)/tools/make-man-rules.py $(SOURCE_XML_FILES)
+# This target should only be run manually. It recreates Makefile-man.am
+# file in the source directory based on all man/*.xml files. Run it after
+# adding, removing, or changing the conditional in a man page.
+update-man-list: $(top_srcdir)/tools/make-man-rules.py $(XML_GLOB)
        $(AM_V_GEN)$(PYTHON) $^ > $(top_srcdir)/Makefile-man.tmp
        $(AM_V_at)mv $(top_srcdir)/Makefile-man.tmp $(top_srcdir)/Makefile-man.am
        @echo "Makefile-man.am has been regenerated"
index e75bfffba140c6cab9508618acc9d30b358a8c03..5e61917d6032d62551219fc43f92e8012d712c89 100644 (file)
@@ -62,7 +62,7 @@ FOOTER = '''\
 # Really, do not edit this file.
 
 EXTRA_DIST += \\
-       {files}
+       {dist_files}
 '''
 
 def man(page, number):
@@ -106,7 +106,7 @@ def create_rules(xml_files):
 def mjoin(files):
     return ' \\\n\t'.join(sorted(files) or '#')
 
-def make_makefile(rules, files):
+def make_makefile(rules, dist_files):
     return HEADER + '\n'.join(
         (CONDITIONAL if conditional else SECTION).format(
             manpages=mjoin(set(rulegroup.values())),
@@ -119,9 +119,11 @@ def make_makefile(rules, files):
                                 if k != v),
             conditional=conditional)
         for conditional,rulegroup in sorted(rules.items())
-        ) + FOOTER.format(files=mjoin(sorted(files)))
+        ) + FOOTER.format(dist_files=mjoin(sorted(dist_files)))
 
 if __name__ == '__main__':
     rules = create_rules(sys.argv[1:])
-    files = (xml(file) for file in sys.argv[1:])
-    print(make_makefile(rules, files), end='')
+    dist_files = (xml(file) for file in sys.argv[1:]
+                  if not file.endswith(".directives.xml") and
+                     not file.endswith(".index.xml"))
+    print(make_makefile(rules, dist_files), end='')