summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2015-06-30 09:56:44 -0400
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2015-06-30 09:56:44 -0400
commite4f42f9d1eb609a515ad1434512d5ad3d96c9b72 (patch)
treee07d11915b1bf60d165bbfbad79b407094782380
parentc9aca734385aa388f60aff1ac13de89cf6f166e1 (diff)
build-sys: use wildcard glob in update-man-list again
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.
-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='')