aboutsummaryrefslogtreecommitdiffstats
path: root/cross
diff options
context:
space:
mode:
authorPo Lu2023-03-02 15:59:33 +0800
committerPo Lu2023-03-02 15:59:33 +0800
commitcb233cb88ae1c19ed6754b297750cfece08e9ffa (patch)
tree7fa14f9965a1c428b904d23a87f444a161c9f41b /cross
parent44341959e8f96d7c687a26296fa27fd4a5627d8f (diff)
downloademacs-cb233cb88ae1c19ed6754b297750cfece08e9ffa.tar.gz
emacs-cb233cb88ae1c19ed6754b297750cfece08e9ffa.zip
Fix Makefile race conditions
* configure.ac: Make cross/* and related directories. * cross/Makefile.in (src/verbose.mk, lib/libgnu.a) (src/config.h): Stop making directories here. (lib-src/config.h): New config.h rule. ($(LIBSRC_BINARIES)): Add it. (clean): Don't remove CLEAN_SUBDIRS, but clean inside.
Diffstat (limited to 'cross')
-rw-r--r--cross/Makefile.in24
1 files changed, 12 insertions, 12 deletions
diff --git a/cross/Makefile.in b/cross/Makefile.in
index 897e2333400..b30aade759f 100644
--- a/cross/Makefile.in
+++ b/cross/Makefile.in
@@ -63,7 +63,6 @@ config.status: $(top_srcdir)/config.status
63 $(AM_V_GEN) touch config.status 63 $(AM_V_GEN) touch config.status
64 64
65src/verbose.mk: $(srcdir)/verbose.mk.android 65src/verbose.mk: $(srcdir)/verbose.mk.android
66 $(AM_V_GEN) mkdir -p src
67 $(AM_V_SILENT) cp -f $(srcdir)/verbose.mk.android \ 66 $(AM_V_SILENT) cp -f $(srcdir)/verbose.mk.android \
68 src/verbose.mk 67 src/verbose.mk
69 68
@@ -91,6 +90,10 @@ lib/config.h: $(top_builddir)/src/config.h.android
91 $(AM_V_GEN) cp -f -p $(top_builddir)/src/config.h.android \ 90 $(AM_V_GEN) cp -f -p $(top_builddir)/src/config.h.android \
92 lib/config.h 91 lib/config.h
93 92
93lib-src/config.h: $(top_builddir)/src/config.h.android
94 $(AM_V_GEN) cp -f -p $(top_builddir)/src/config.h.android \
95 lib-src/config.h
96
94lib/gnulib.mk: $(top_builddir)/lib/gnulib.mk.android 97lib/gnulib.mk: $(top_builddir)/lib/gnulib.mk.android
95 $(AM_V_GEN) cp -f -p $(top_builddir)/lib/gnulib.mk.android \ 98 $(AM_V_GEN) cp -f -p $(top_builddir)/lib/gnulib.mk.android \
96 lib/gnulib.mk 99 lib/gnulib.mk
@@ -114,15 +117,12 @@ LIB_DEPS = lib/config.h lib/gnulib.mk lib/Makefile
114 117
115.PHONY: lib/libgnu.a 118.PHONY: lib/libgnu.a
116lib/libgnu.a: src/verbose.mk config.status $(LIB_DEPS) $(PRE_BUILD_DEPS) 119lib/libgnu.a: src/verbose.mk config.status $(LIB_DEPS) $(PRE_BUILD_DEPS)
117 mkdir -p lib/deps lib/deps/malloc
118 $(MAKE) -C lib libgnu.a 120 $(MAKE) -C lib libgnu.a
119 121
120src/Makefile src/config.h &: $(top_builddir)/src/config.h.android \ 122src/Makefile src/config.h &: $(top_builddir)/src/config.h.android \
121 $(top_builddir)/src/Makefile.android 123 $(top_builddir)/src/Makefile.android
122 $(AM_V_GEN)
123 $(AM_V_SILENT) mkdir -p src src/deps
124# Copy config.h to src/ 124# Copy config.h to src/
125 $(AM_V_SILENT) \ 125 $(AM_V_GEN) \
126 cp -f -p $(top_builddir)/src/config.h.android src/config.h 126 cp -f -p $(top_builddir)/src/config.h.android src/config.h
127# And the Makefile. 127# And the Makefile.
128 $(AM_V_SILENT) \ 128 $(AM_V_SILENT) \
@@ -159,9 +159,7 @@ src/android-emacs: src/Makefile src/config.h lib/libgnu.a \
159 $(MAKE) -C src android-emacs 159 $(MAKE) -C src android-emacs
160 160
161lib-src/Makefile: $(top_builddir)/lib-src/Makefile.android 161lib-src/Makefile: $(top_builddir)/lib-src/Makefile.android
162 $(AM_V_GEN) mkdir -p src lib-src 162 $(AM_V_GEN) cp -f -p $< $@
163 $(AM_V_SILENT) mkdir -p lib-src
164 $(AM_V_SILENT) cp -f -p $< $@
165 $(AM_V_SILENT) sed -i 's/-I\$${srcdir}\/\.\.\/lib//g' lib-src/Makefile 163 $(AM_V_SILENT) sed -i 's/-I\$${srcdir}\/\.\.\/lib//g' lib-src/Makefile
166# Next, edit srcdir and top_srcdir to the right location. 164# Next, edit srcdir and top_srcdir to the right location.
167 $(AM_V_SILENT) \ 165 $(AM_V_SILENT) \
@@ -178,18 +176,20 @@ lib-src/Makefile: $(top_builddir)/lib-src/Makefile.android
178 sed -i 's/-I\.\.\/lib/-I..\/lib -I..\/$(subst /,\/,$(srcdir))\/lib/g' lib-src/Makefile 176 sed -i 's/-I\.\.\/lib/-I..\/lib -I..\/$(subst /,\/,$(srcdir))\/lib/g' lib-src/Makefile
179 177
180.PHONY: $(LIBSRC_BINARIES) 178.PHONY: $(LIBSRC_BINARIES)
181$(LIBSRC_BINARIES) &: src/verbose.mk $(top_builddir)/$@ lib/libgnu.a \ 179$(LIBSRC_BINARIES) &: src/verbose.mk $(top_builddir)/$@ lib/libgnu.a \
182 src/config.h lib-src/Makefile $(PRE_BUILD_DEPS) 180 lib-src/config.h lib-src/Makefile $(PRE_BUILD_DEPS)
183# Finally, go into lib-src and make everything being built 181# Finally, go into lib-src and make everything being built
184 $(MAKE) -C lib-src $(foreach bin,$(LIBSRC_BINARIES),$(notdir $(bin))) 182 $(MAKE) -C lib-src $(foreach bin,$(LIBSRC_BINARIES),$(notdir $(bin)))
185 183
186.PHONY: clean maintainer-clean distclean 184.PHONY: clean maintainer-clean distclean
187clean: 185clean:
188 rm -rf $(CLEAN_SUBDIRS) *.bak sys 186 for dir in $(CLEAN_SUBDIRS); do \
187 find $$dir -type f -delete; \
188 done; \
189 if [ -e lib/Makefile ]; then \ 189 if [ -e lib/Makefile ]; then \
190 make -C lib clean; \ 190 make -C lib clean; \
191 fi 191 fi
192 rm -rf lib/config.h 192 rm -rf lib/config.h lib-src/config.h
193# ndk-build won't have been generated in a non-Android build. 193# ndk-build won't have been generated in a non-Android build.
194 -make -C ndk-build clean 194 -make -C ndk-build clean
195 195