diff options
-rw-r--r-- | Makefile.am | 6 | ||||
-rw-r--r-- | tools/make-man-rules.py | 12 |
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='') |