From: Paul Eggert Date: Sat, 26 Dec 2020 03:16:27 +0000 (-0800) Subject: Fix issues with lib/malloc out-of-dir builds X-Git-Tag: emacs-28.0.90~4556 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=60bfa84e41449020d1122a1d18b7c11cb73211f3;p=emacs.git Fix issues with lib/malloc out-of-dir builds Problem reported by Mattias EngdegÄrd in: https://lists.gnu.org/r/emacs-devel/2020-12/msg01626.html * configure.ac: If the scratch_buffer module is enabled, create lib/malloc and (if doing dependencies) lib/deps/malloc. * lib/Makefile.in (DEPFLAGS) [AUTO_DEPEND]: No longer any need to squash lib dependencies into a single directory. (clean): Also remove */*.o and $(DEPDIR)/*/*.d, to clean out malloc/*.o and deps/malloc/*.d. Just remove *.d files in dependencies so that rm does not complain about not being able to remove deps/malloc. (extraclean): Also remove malloc, if it is empty. --- diff --git a/configure.ac b/configure.ac index 888b4151487..bf768441fe3 100644 --- a/configure.ac +++ b/configure.ac @@ -5878,6 +5878,12 @@ if test $AUTO_DEPEND = yes; then AS_MKDIR_P([$dir/deps]) done fi +if $gl_gnulib_enabled_scratch_buffer; then + AS_MKDIR_P([lib/malloc]) + if test $AUTO_DEPEND = yes; then + AS_MKDIR_P([lib/deps/malloc]) + fi +fi AC_OUTPUT diff --git a/lib/Makefile.in b/lib/Makefile.in index a280b7a3311..e6b1ae6a9ab 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -67,7 +67,7 @@ endif DEPDIR = deps ifeq ($(AUTO_DEPEND),yes) - DEPFLAGS = -MMD -MF $(DEPDIR)/$(*F).d -MP + DEPFLAGS = -MMD -MF $(DEPDIR)/$*.d -MP -include $(ALLOBJS:%.o=$(DEPDIR)/%.d) else DEPFLAGS = @@ -118,7 +118,7 @@ TAGS: $(ETAGS) $(tagsfiles) .PHONY: $(ETAGS) tags clean: - rm -f ./*.[ao] ./*-t \#* $(DEPDIR)/* + rm -f ./*.[ao] ./*/*.o ./*-t \#* $(DEPDIR)/*.d $(DEPDIR)/*/*.d mostlyclean: clean rm -f $(filter-out %-t,$(MOSTLYCLEANFILES)) distclean bootstrap-clean: mostlyclean @@ -127,7 +127,7 @@ distclean bootstrap-clean: mostlyclean maintainer-clean: distclean rm -f TAGS gnulib.mk extraclean: distclean - -rmdir sys 2>/dev/null + -rmdir malloc sys 2>/dev/null .PHONY: mostlyclean clean distclean bootstrap-clean maintainer-clean