po-docs: Allow parallel builds in po-docs directory.

The first time the directory is checked out from git, there are no
*.pod files.  In a parallel build, the first thread notices this and
runs the 'make -C .. update-po' rule, but the other threads also try
to run at the same time and fail.
This commit is contained in:
Richard W.M. Jones
2012-04-11 18:37:14 +01:00
parent c1fb89e7fc
commit 3e164f15b7
3 changed files with 17 additions and 6 deletions

1
.gitignore vendored
View File

@@ -295,6 +295,7 @@ pod2htm?.tmp
/po-docs/*/*.pl
/po-docs/po4a.conf
/po-docs/*/*.pod
/po-docs/*/stamp-update-po
/podwrapper.sh
/po/en@boldquot.header
/po/en@quot.header

View File

@@ -21,7 +21,7 @@
LINGUA = $(shell basename -- `pwd`)
CLEANFILES = *.1 *.3
CLEANFILES = *.1 *.3 stamp-update-po
MANPAGES = \
guestfs.3 \
@@ -45,12 +45,14 @@ MANPAGES = \
virt-sparsify.1 \
virt-sysprep.1
podfiles := $(shell for f in `cat ../podfiles`; do basename $$f; done)
# Ship the POD files and the translated manpages in the tarball. This
# just simplifies building from the tarball, at a small cost in extra
# size.
EXTRA_DIST = \
$(MANPAGES) \
$(shell for f in `cat ../podfiles`; do basename $$f; done)
$(podfiles)
all-local: $(MANPAGES)
@@ -86,8 +88,11 @@ virt-sysprep.1: virt-sysprep.pod sysprep-extra-options.pod sysprep-operations.po
# Ensure that the first time we build from git, since guestfs.pod
# hasn't been built yet, build it.
guestfs.pod:
$(podfiles): stamp-update-po
stamp-update-po:
if [ ! -f guestfs.pod ]; then make -C .. update-po; fi
touch $@
# XXX Can automake do this properly?
install-data-hook:

View File

@@ -21,7 +21,7 @@
LINGUA = $(shell basename -- `pwd`)
CLEANFILES = *.1 *.3
CLEANFILES = *.1 *.3 stamp-update-po
MANPAGES = \
guestfs.3 \
@@ -45,12 +45,14 @@ MANPAGES = \
virt-sparsify.1 \
virt-sysprep.1
podfiles := $(shell for f in `cat ../podfiles`; do basename $$f; done)
# Ship the POD files and the translated manpages in the tarball. This
# just simplifies building from the tarball, at a small cost in extra
# size.
EXTRA_DIST = \
$(MANPAGES) \
$(shell for f in `cat ../podfiles`; do basename $$f; done)
$(podfiles)
all-local: $(MANPAGES)
@@ -86,8 +88,11 @@ virt-sysprep.1: virt-sysprep.pod sysprep-extra-options.pod sysprep-operations.po
# Ensure that the first time we build from git, since guestfs.pod
# hasn't been built yet, build it.
guestfs.pod:
$(podfiles): stamp-update-po
stamp-update-po:
if [ ! -f guestfs.pod ]; then make -C .. update-po; fi
touch $@
# XXX Can automake do this properly?
install-data-hook: