Updated Branches:
  refs/heads/master d977eb7ec -> 6c3c7b83a

Added support for `make -j` and `make -n`


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/6c3c7b83
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/6c3c7b83
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/6c3c7b83

Branch: refs/heads/master
Commit: 6c3c7b83a4eee441d8449fd391e0385c48811785
Parents: 3734f5d
Author: Noah Slater <[email protected]>
Authored: Thu Dec 6 22:19:28 2012 +0000
Committer: Dave Cottlehuber <[email protected]>
Committed: Tue Dec 11 22:01:23 2012 +0100

----------------------------------------------------------------------
 bin/Makefile.am              |    4 +-
 share/doc/build/Makefile.am  |   80 +++++++++++++++++++++++++------------
 src/couchdb/priv/Makefile.am |    4 +-
 3 files changed, 60 insertions(+), 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/6c3c7b83/bin/Makefile.am
----------------------------------------------------------------------
diff --git a/bin/Makefile.am b/bin/Makefile.am
index d666bbd..3d7a075 100644
--- a/bin/Makefile.am
+++ b/bin/Makefile.am
@@ -10,6 +10,8 @@
 ## License for the specific language governing permissions and limitations 
under
 ## the License.
 
+MAKE_SAFE = $(MAKE)
+
 if WINDOWS
 bin_SCRIPTS = couchdb.bat
 else
@@ -122,7 +124,7 @@ couch-config_dev: couch-config.tpl
 # Depend on source files so distributed man pages are not rebuilt for end user.
 
 $(man_file): couchdb.tpl.in
-       $(MAKE) -f Makefile couchdb; \
+       $(MAKE_SAFE) -f Makefile couchdb; \
        $(top_srcdir)/build-aux/missing --run \
            help2man \
                --no-info \

http://git-wip-us.apache.org/repos/asf/couchdb/blob/6c3c7b83/share/doc/build/Makefile.am
----------------------------------------------------------------------
diff --git a/share/doc/build/Makefile.am b/share/doc/build/Makefile.am
index 5346d8c..e06b21a 100644
--- a/share/doc/build/Makefile.am
+++ b/share/doc/build/Makefile.am
@@ -10,9 +10,10 @@
 ## License for the specific language governing permissions and limitations 
under
 ## the License.
 
+MAKE_SAFE = $(MAKE)
+
 SPHINXOPTS = \
-    -d doctrees \
-    -n -c $(srcdir)/../src \ \
+    -n -c $(srcdir)/../src \
     -A local=1 \
     $(srcdir)/../src
 
@@ -201,47 +202,74 @@ $(html_files): html
 $(info_file_dist): info.stamp
        @if test -f $@; then :; else \
            rm -f info.stamp; \
-           $(MAKE) $(AM_MAKEFLAGS) info.stamp; \
+           $(MAKE_SAFE) $(AM_MAKEFLAGS) info.stamp; \
        fi
 
 info.stamp: $(image_files) $(src_files)
-       @rm -f info.tmp
-       @touch info.tmp
-       $(top_srcdir)/build-aux/sphinx-build \
-           -b texinfo $(SPHINXOPTS) $(builddir)/texinfo
-       $(MAKE) -C texinfo info
-       $(top_srcdir)/build-aux/sphinx-touch $(info_file_dist)
-       @mv -f info.tmp $@
+       trap "rm -rf info.lock info.stamp" 1 2 13 15; \
+       if mkdir info.lock 2>/dev/null; then \
+           rm -f info.tmp; \
+           touch info.tmp; \
+           $(top_srcdir)/build-aux/sphinx-build \
+               -b texinfo $(SPHINXOPTS) $(builddir)/texinfo; \
+           $(MAKE_SAFE) -C texinfo info; \
+           $(top_srcdir)/build-aux/sphinx-touch $(info_file_dist); \
+           mv -f info.tmp $@; \
+           rmdir info.lock; \
+       else \
+           while test -d info.lock; do \
+               sleep 1; \
+           done; \
+           test -f info.stamp; \
+       fi
 
 $(pdf_file_dist): pdf.stamp
        @if test -f $@; then :; else \
            rm -f pdf.stamp; \
-           $(MAKE) $(AM_MAKEFLAGS) pdf.stamp; \
+           $(MAKE_SAFE) $(AM_MAKEFLAGS) pdf.stamp; \
        fi
 
 pdf.stamp: $(image_files) $(src_files)
-       @rm -f pdf.tmp
-       @touch pdf.tmp
-       $(top_srcdir)/build-aux/sphinx-build \
-           -b latex $(SPHINXOPTS) $(builddir)/latex
-       $(MAKE) -C latex all-pdf
-       $(top_srcdir)/build-aux/sphinx-touch latex/CouchDB.pdf
-       gzip -9 < latex/CouchDB.pdf > $(pdf_file_dist)
-       @mv -f pdf.tmp $@
+       trap "rm -rf pdf.lock pdf.stamp" 1 2 13 15; \
+       if mkdir pdf.lock 2>/dev/null; then \
+           rm -f pdf.tmp; \
+           touch pdf.tmp; \
+           $(top_srcdir)/build-aux/sphinx-build \
+               -b latex $(SPHINXOPTS) $(builddir)/latex; \
+           $(MAKE_SAFE) -C latex all-pdf; \
+           $(top_srcdir)/build-aux/sphinx-touch latex/CouchDB.pdf; \
+           gzip -9 < latex/CouchDB.pdf > $(pdf_file_dist); \
+           mv -f pdf.tmp $@; \
+           rmdir pdf.lock; \
+       else \
+           while test -d pdf.lock; do \
+               sleep 1; \
+           done; \
+           test -f pdf.stamp; \
+       fi
 
 $(html_files): html.stamp
        @if test -f $@; then :; else \
            rm -f html.stamp; \
-           $(MAKE) $(AM_MAKEFLAGS) html.stamp; \
+           $(MAKE_SAFE) $(AM_MAKEFLAGS) html.stamp; \
        fi
 
 html.stamp: $(image_files) $(src_files) $(src_files_html)
-       @rm -f html.tmp
-       @touch html.tmp
-       $(top_srcdir)/build-aux/sphinx-build \
-           -b html $(SPHINXOPTS) $(builddir)/html
-       $(top_srcdir)/build-aux/sphinx-touch $(html_files)
-       @mv -f html.tmp $@
+       trap "rm -rf html.lock html.stamp" 1 2 13 15; \
+       if mkdir html.lock 2>/dev/null; then \
+           rm -f html.tmp; \
+           touch html.tmp; \
+           $(top_srcdir)/build-aux/sphinx-build \
+               -b html $(SPHINXOPTS) $(builddir)/html; \
+           $(top_srcdir)/build-aux/sphinx-touch $(html_files); \
+           mv -f html.tmp $@; \
+           rmdir html.lock; \
+       else \
+           while test -d html.lock; do \
+               sleep 1; \
+           done; \
+           test -f html.stamp; \
+       fi
 
 pdf-local:
        $(MAKE) $(AM_MAKEFLAGS) pdf.stamp

http://git-wip-us.apache.org/repos/asf/couchdb/blob/6c3c7b83/src/couchdb/priv/Makefile.am
----------------------------------------------------------------------
diff --git a/src/couchdb/priv/Makefile.am b/src/couchdb/priv/Makefile.am
index 8fce9d0..9a24222 100644
--- a/src/couchdb/priv/Makefile.am
+++ b/src/couchdb/priv/Makefile.am
@@ -10,6 +10,8 @@
 ## License for the specific language governing permissions and limitations 
under
 ## the License.
 
+MAKE_SAFE = $(MAKE)
+
 couchlibdir = $(localerlanglibdir)/couch-$(version)
 couchprivdir = $(couchlibdir)/priv
 couchprivlibdir = $(couchlibdir)/priv/lib
@@ -77,7 +79,7 @@ couchpriv_PROGRAMS = couchspawnkillable
 # Depend on source files so distributed man pages are not rebuilt for end user.
 
 $(man_file): $(COUCHJS_SRCS)
-       $(MAKE) -f Makefile couchjs; \
+       $(MAKE_SAFE) -f Makefile couchjs; \
        $(top_srcdir)/build-aux/missing --run \
            help2man \
                --no-info \

Reply via email to