]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
meson: add rule to regenerate man/rules/meson.build
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 19 Apr 2017 01:00:46 +0000 (21:00 -0400)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 24 Apr 2017 01:47:29 +0000 (21:47 -0400)
man/meson.build

index 79d7710d11b81251633c005694868313933d82d0..b71bc205097f53a87200cc0c93e0dba13d475b29 100644 (file)
@@ -1,9 +1,6 @@
 # This is lame, I know, but meson has no other include mechanism
 subdir('rules')
 
-# TODO: add regeneration rule:
-# python3 tools/make-man-rules.py --meson man/*xml > man/rules/meson.build
-
 want_man = get_option('man')
 want_html = get_option('html')
 xsltproc = find_program('xsltproc',
@@ -152,3 +149,18 @@ run_target(
                    '--omit-dir-times',
                    meson.current_build_dir(),
                    get_option('www-target')])
+
+############################################################
+
+if git.found()
+        run_target(
+                'update-man-rules',
+                # slightly strange syntax because of
+                # https://github.com/mesonbuild/meson/issues/1643
+                # and https://github.com/mesonbuild/meson/issues/1512
+                command : ['sh', '-c',
+                           'cd @0@ && '.format(meson.build_root()) +
+                           'python3 @0@/tools/make-man-rules.py --meson `git ls-files ":/man/*.xml"` >t && '.format(meson.source_root()) +
+                           'mv t @0@/rules/meson.build'.format(meson.current_source_dir())],
+                depend_files : custom_entities_ent)
+endif