aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorPo Lu2023-02-19 21:52:21 +0800
committerPo Lu2023-02-19 21:52:21 +0800
commit585ee91b21fb6f1889226b5861333410275dc017 (patch)
tree309abc8ce39ff119a353d6ef1f903428d12ad1c1 /java
parentf3196052070999ef9f9c822a676443b14df6a0e6 (diff)
downloademacs-585ee91b21fb6f1889226b5861333410275dc017.tar.gz
emacs-585ee91b21fb6f1889226b5861333410275dc017.zip
More fixes to parallel Make
* cross/ndk-build/ndk-build.mk.in (NDK_BUILD_MODULES) (NDK_BUILD_SHARED, NDK_BUILD_STATIC): Define group rule to build all files so that they are built within one make process. * java/Makefile.in: Reorganize cross compilation and make sure there is only one make subprocess for each subdirectory of cross.
Diffstat (limited to 'java')
-rw-r--r--java/Makefile.in40
1 files changed, 25 insertions, 15 deletions
diff --git a/java/Makefile.in b/java/Makefile.in
index 52e0a7a75f1..482419f07fa 100644
--- a/java/Makefile.in
+++ b/java/Makefile.in
@@ -113,33 +113,43 @@ APK_NAME := emacs-$(version)-$(ANDROID_MIN_SDK)-$(ANDROID_ABI).apk
113all: $(APK_NAME) 113all: $(APK_NAME)
114 114
115# Binaries to cross-compile. 115# Binaries to cross-compile.
116CROSS_BINS = ../cross/src/android-emacs ../cross/lib-src/ctags \ 116CROSS_SRC_BINS = $(top_builddir)/cross/src/android-emacs
117 ../cross/lib-src/hexl ../cross/lib-src/movemail \ 117CROSS_LIBSRC_BINS = $(top_builddir)/cross/lib-src/ctags \
118 ../cross/lib-src/ebrowse ../cross/lib-src/emacsclient \ 118 $(top_builddir)/cross/lib-src/hexl \
119 ../cross/lib-src/etags 119 $(top_builddir)/cross/lib-src/movemail \
120 $(top_builddir)/cross/lib-src/ebrowse \
121 $(top_builddir)/cross/lib-src/emacsclient \
122 $(top_builddir)/cross/lib-src/etags
123CROSS_BINS = $(CROSS_SRC_BINS) $(CROSS_LIBSRC_BINS)
120 124
121# Libraries to cross-compile. 125# Libraries to cross-compile.
122CROSS_LIBS = ../cross/src/libemacs.so 126CROSS_LIBS = $(top_builddir)/cross/src/libemacs.so
123 127
124# Make sure gnulib is built first! 128# Make sure gnulib is built first!
125# If not, then the recursive invocations of make below will try to 129# If not, then the recursive invocations of make below will try to
126# build gnulib at the same time. 130# build gnulib at the same time.
127CROSS_ARCHIVES = ../cross/lib/libgnu.a 131CROSS_ARCHIVES = $(top_builddir)/cross/lib/libgnu.a
128 132
129# Third party libraries to compile. 133# Third party libraries to compile.
130include $(top_builddir)/cross/ndk-build/ndk-build.mk 134include $(top_builddir)/cross/ndk-build/ndk-build.mk
131 135
132.PHONY: $(CROSS_BINS) $(CROSS_LIBS) $(CROSS_ARCHIVES) 136.PHONY: $(CROSS_BINS) $(CROSS_LIBS) $(CROSS_ARCHIVES)
133 137
134../cross/src/android-emacs ../cross/src/libemacs.so: $(CROSS_ARCHIVES) 138# There should only be a single invocation of $(MAKE) -C
135 $(MAKE) -C ../cross src/$(notdir $@) 139# $(top_srcdir)/cross for each directory under $(top_srcdir)/cross.
136 140$(CROSS_SRC_BINS) $(CROSS_LIBS) &: $(CROSS_ARCHIVES)
137../cross/lib-src/hexl ../cross/lib-src/movemail \ 141 $(MAKE) -C $(top_builddir)/cross $(foreach file, \
138../cross/lib-src/ctags ../cross/lib-src/ebrowse &: $(CROSS_ARCHIVES) 142 $(CROSS_SRC_BINS) \
139 $(MAKE) -C ../cross lib-src/$(notdir $@) 143 $(CROSS_LIBS), \
140 144 src/$(notdir $(file)))
141../cross/lib/libgnu.a: 145
142 $(MAKE) -C ../cross lib/libgnu.a 146$(CROSS_LIBSRC_BINS) &: $(CROSS_ARCHIVES)
147 $(MAKE) -C $(top_builddir)/cross $(foreach file, \
148 $(CROSS_LIBSRC_BINS), \
149 lib-src/$(notdir $(file)))
150
151$(CROSS_ARCHIVES):
152 $(MAKE) -C $(top_builddir)/cross lib/libgnu.a
143 153
144# This is needed to generate the ``.directory-tree'' file used by the 154# This is needed to generate the ``.directory-tree'' file used by the
145# Android emulations of readdir and faccessat. 155# Android emulations of readdir and faccessat.