diff options
author | Jon Turney <jon.turney@dronecode.org.uk> | 2016-12-06 18:06:26 +0300 |
---|---|---|
committer | Jon Turney <jon.turney@dronecode.org.uk> | 2016-12-06 20:34:47 +0300 |
commit | 4007871174fb9c814103b6a9215f24a700409fa7 (patch) | |
tree | bd76f70ad5ab28ec7ec0112255e81e7b362a7684 | |
parent | 72ee64045bc405a4817ffe3dad0d167cc9573512 (diff) |
Fix 'make man' for parallel make
Ensure the Python Lex/Yacc (PLY) cache used by makedocbook is initialized
before it is used by parallelizable rules to make the DocBook XML, as it
appears that these can collide in cache generation, leading to errors.
Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
-rw-r--r-- | newlib/Makefile.am | 1 | ||||
-rw-r--r-- | newlib/Makefile.in | 1 | ||||
-rw-r--r-- | newlib/doc/Makefile.am | 5 | ||||
-rw-r--r-- | newlib/doc/Makefile.in | 5 | ||||
-rwxr-xr-x | newlib/doc/makedocbook.py | 4 |
5 files changed, 16 insertions, 0 deletions
diff --git a/newlib/Makefile.am b/newlib/Makefile.am index ee580075e..20ab1633b 100644 --- a/newlib/Makefile.am +++ b/newlib/Makefile.am @@ -364,6 +364,7 @@ doc/makedoc: # Recursive targets for man and install-man man: + (cd doc && $(MAKE) man-cache) || exit 1; \ for d in $(SUBDIRS); do \ if test "$$d" != "."; then \ (cd $$d && $(MAKE) man) || exit 1; \ diff --git a/newlib/Makefile.in b/newlib/Makefile.in index c04da3c02..f0296b667 100644 --- a/newlib/Makefile.in +++ b/newlib/Makefile.in @@ -1116,6 +1116,7 @@ doc/makedoc: # Recursive targets for man and install-man man: + (cd doc && $(MAKE) man-cache) || exit 1; \ for d in $(SUBDIRS); do \ if test "$$d" != "."; then \ (cd $$d && $(MAKE) man) || exit 1; \ diff --git a/newlib/doc/Makefile.am b/newlib/doc/Makefile.am index 99afb41f1..dbebfcc9a 100644 --- a/newlib/doc/Makefile.am +++ b/newlib/doc/Makefile.am @@ -21,3 +21,8 @@ ACLOCAL_AMFLAGS = -I .. -I ../.. CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host man: + +man-cache: + ${srcdir}/makedocbook.py --cache + +.PHONY: man-cache diff --git a/newlib/doc/Makefile.in b/newlib/doc/Makefile.in index de17da7ff..a12872d93 100644 --- a/newlib/doc/Makefile.in +++ b/newlib/doc/Makefile.in @@ -358,6 +358,11 @@ makedoc.o: makedoc.c man: +man-cache: + ${srcdir}/makedocbook.py --cache + +.PHONY: man-cache + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/newlib/doc/makedocbook.py b/newlib/doc/makedocbook.py index 1b4f5ab33..0c84e3c47 100755 --- a/newlib/doc/makedocbook.py +++ b/newlib/doc/makedocbook.py @@ -824,8 +824,12 @@ def main(file): if __name__ == '__main__' : options = OptionParser() options.add_option('-v', '--verbose', action='count', dest = 'verbose') + options.add_option('-c', '--cache', action='store_true', dest = 'cache', help="just ensure PLY cache is up to date") (opts, args) = options.parse_args() + if opts.cache: + sys.exit() + verbose = opts.verbose if len(args) > 0: |