diff options
| author | Po Lu | 2023-03-02 15:59:33 +0800 |
|---|---|---|
| committer | Po Lu | 2023-03-02 15:59:33 +0800 |
| commit | cb233cb88ae1c19ed6754b297750cfece08e9ffa (patch) | |
| tree | 7fa14f9965a1c428b904d23a87f444a161c9f41b /cross | |
| parent | 44341959e8f96d7c687a26296fa27fd4a5627d8f (diff) | |
| download | emacs-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.in | 24 |
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 | ||
| 65 | src/verbose.mk: $(srcdir)/verbose.mk.android | 65 | src/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 | ||
| 93 | lib-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 | |||
| 94 | lib/gnulib.mk: $(top_builddir)/lib/gnulib.mk.android | 97 | lib/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 |
| 116 | lib/libgnu.a: src/verbose.mk config.status $(LIB_DEPS) $(PRE_BUILD_DEPS) | 119 | lib/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 | ||
| 120 | src/Makefile src/config.h &: $(top_builddir)/src/config.h.android \ | 122 | src/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 | ||
| 161 | lib-src/Makefile: $(top_builddir)/lib-src/Makefile.android | 161 | lib-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 |
| 187 | clean: | 185 | clean: |
| 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 | ||