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.
This commit is contained in:
Po Lu 2023-02-19 20:45:32 +08:00
parent c09dca3fb0
commit 18f723faa8
2 changed files with 15 additions and 7 deletions

View file

@ -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 \

View file

@ -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.