emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

feature/android 18f723faa85 6/9: Fix parallel compilation of Android por


From: Po Lu
Subject: feature/android 18f723faa85 6/9: Fix parallel compilation of Android port
Date: Sun, 19 Feb 2023 09:14:48 -0500 (EST)

branch: feature/android
commit 18f723faa85b78dff7c8f59257640feededc44d1
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    Fix parallel compilation of Android port
    
    * cross/Makefile.in ($(top_builddir)/lib/libgnu.a):
    * java/Makefile.in (CROSS_LIBS): Explicitly depend on gnulib
    to prevent it from being built at the same time from different
    jobs.
---
 cross/Makefile.in |  4 ++--
 java/Makefile.in  | 18 +++++++++++++-----
 2 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/cross/Makefile.in b/cross/Makefile.in
index fc047fd57bd..c059fda1e3c 100644
--- a/cross/Makefile.in
+++ b/cross/Makefile.in
@@ -80,11 +80,11 @@ $(top_builddir)/lib/libgnu.a:
        $(MAKE) -C $(top_builddir)/lib libgnu.a
 
 .PHONY: $(top_builddir)/lib-src/make-fingerprint
-$(top_builddir)/lib-src/make-fingerprint:
+$(top_builddir)/lib-src/make-fingerprint: $(top_builddir)/lib/libgnu.a
        $(MAKE) -C $(top_builddir)/lib-src make-fingerprint
 
 .PHONY: $(top_builddir)/lib-src/make-docfile
-$(top_builddir)/lib-src/make-docfile:
+$(top_builddir)/lib-src/make-docfile: $(top_builddir)/lib/libgnu.a
        $(MAKE) -C $(top_builddir)/lib-src make-docfile
 
 PRE_BUILD_DEPS=$(top_builddir)/lib/libgnu.a            \
diff --git a/java/Makefile.in b/java/Makefile.in
index f732c9211ee..91feb53e96b 100644
--- a/java/Makefile.in
+++ b/java/Makefile.in
@@ -121,17 +121,25 @@ CROSS_BINS = ../cross/src/android-emacs 
../cross/lib-src/ctags    \
 # Libraries to cross-compile.
 CROSS_LIBS = ../cross/src/libemacs.so
 
+# Make sure gnulib is built first!
+# If not, then the recursive invocations of make below will try to
+# build gnulib at the same time.
+CROSS_ARCHIVES = ../cross/lib/libgnu.a
+
 # Third party libraries to compile.
 include $(top_builddir)/cross/ndk-build/ndk-build.mk
 
-.PHONY: $(CROSS_BINS) $(CROSS_LIBS)
+.PHONY: $(CROSS_BINS) $(CROSS_LIBS) $(CROSS_ARCHIVES)
 
-../cross/src/android-emacs ../cross/src/libemacs.so:
-       make -C ../cross src/$(notdir $@)
+../cross/src/android-emacs ../cross/src/libemacs.so: $(CROSS_ARCHIVES)
+       $(MAKE) -C ../cross src/$(notdir $@)
 
 ../cross/lib-src/hexl ../cross/lib-src/movemail \
-../cross/lib-src/ctags ../cross/lib-src/ebrowse &:
-       make -C ../cross lib-src/$(notdir $@)
+../cross/lib-src/ctags ../cross/lib-src/ebrowse &: $(CROSS_ARCHIVES)
+       $(MAKE) -C ../cross lib-src/$(notdir $@)
+
+../cross/lib/libgnu.a:
+       $(MAKE) -C ../cross lib/libgnu.a
 
 # This is needed to generate the ``.directory-tree'' file used by the
 # Android emulations of readdir and faccessat.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]