summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am6
-rw-r--r--tools/make-man-rules.py12
2 files changed, 12 insertions, 6 deletions
diff --git a/Makefile.am b/Makefile.am
index 7ac3c1d7eb..0fa4cf4824 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -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"
diff --git a/tools/make-man-rules.py b/tools/make-man-rules.py
index e75bfffba1..5e61917d60 100644
--- a/tools/make-man-rules.py
+++ b/tools/make-man-rules.py
@@ -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='')