]> git.eshelyaron.com Git - emacs.git/commitdiff
Port to GNU Make 03ecd94488b85adc38746ec3e7c2a297a522598e
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 9 Feb 2024 07:17:04 +0000 (23:17 -0800)
committerEshel Yaron <me@eshelyaron.com>
Fri, 9 Feb 2024 10:45:16 +0000 (11:45 +0100)
Problem reported by Collin Funk (Bug#68996).
* GNUmakefile (.): New macro.
(help): Use ‘$.’ instead of ‘$ ’.
* cross/verbose.mk.android, src/verbose.mk.in (.): New macro.
(AM_V_AR, AM_V_CC, AM_V_CXX, AM_V_CCLD, AM_V_CXXLD, AM_V_GEN):
Use ‘$.’ instead of ‘$ ’.
* lib-src/Makefile.in (install): Use ‘$.’ instead of ‘$ ’.

(cherry picked from commit 8d09e1def55e57a8c627ba704289f796c48a085d)

GNUmakefile
cross/verbose.mk.android
lib-src/Makefile.in
src/verbose.mk.in

index 16064672c65ed22a19de0ee5216c3b81addf7bfd..58c0281e8950504416812b1d0e3751200236dc7d 100644 (file)
@@ -27,6 +27,8 @@
 # newly-built Makefile.  If the source tree is already configured,
 # this file defers to the existing Makefile.
 
+. :=
+
 # If you want non-default build options, or if you want to build in an
 # out-of-source tree, you should run 'configure' before running 'make'.
 # But run 'autogen.sh' first, if the source was checked out directly
 
 ifeq (help,$(filter help,$(MAKECMDGOALS)))
 help:
-       $(info $ NOTE:  This is a brief summary of some common make targets.)
-       $(info $ For more detailed information, please read the files INSTALL,)
-       $(info $ INSTALL.REPO, Makefile or visit this URL:)
-       $(info $ https://www.gnu.org/prep/standards/html_node/Standard-Targets.html)
-       $(info $ )
-       $(info $ make all              -- compile and build Emacs)
-       $(info $ make install          -- install Emacs)
-       $(info $ make TAGS             -- update tags tables)
-       $(info $ make clean            -- delete built files but preserve configuration)
-       $(info $ make mostlyclean      -- like 'make clean', but leave those files that)
-       $(info $                          usually do not need to be recompiled)
-       $(info $ make distclean        -- delete all build and configuration files,)
-       $(info $                          leave only files included in source distribution)
-       $(info $ make maintainer-clean -- delete almost everything that can be regenerated)
-       $(info $ make extraclean       -- like maintainer-clean, and also delete)
-       $(info $                          backup and autosave files)
-       $(info $ make bootstrap        -- delete all compiled files to force a new bootstrap)
-       $(info $                          from a clean slate, then build in the normal way)
-       $(info $ make uninstall        -- remove files installed by 'make install')
-       $(info $ make check            -- run the Emacs test suite)
-       $(info $ make docs             -- generate Emacs documentation in info format)
-       $(info $ make html             -- generate documentation in html format)
-       $(info $ make ps               -- generate documentation in ps format)
-       $(info $ make pdf              -- generate documentation in pdf format )
+       $(info $.NOTE:  This is a brief summary of some common make targets.)
+       $(info $.For more detailed information, please read the files INSTALL,)
+       $(info $.INSTALL.REPO, Makefile or visit this URL:)
+       $(info $.https://www.gnu.org/prep/standards/html_node/Standard-Targets.html)
+       $(info $.)
+       $(info $.make all              -- compile and build Emacs)
+       $(info $.make install          -- install Emacs)
+       $(info $.make TAGS             -- update tags tables)
+       $(info $.make clean            -- delete built files but preserve configuration)
+       $(info $.make mostlyclean      -- like 'make clean', but leave those files that)
+       $(info $.                         usually do not need to be recompiled)
+       $(info $.make distclean        -- delete all build and configuration files,)
+       $(info $.                         leave only files included in source distribution)
+       $(info $.make maintainer-clean -- delete almost everything that can be regenerated)
+       $(info $.make extraclean       -- like maintainer-clean, and also delete)
+       $(info $.                         backup and autosave files)
+       $(info $.make bootstrap        -- delete all compiled files to force a new bootstrap)
+       $(info $.                         from a clean slate, then build in the normal way)
+       $(info $.make uninstall        -- remove files installed by 'make install')
+       $(info $.make check            -- run the Emacs test suite)
+       $(info $.make docs             -- generate Emacs documentation in info format)
+       $(info $.make html             -- generate documentation in html format)
+       $(info $.make ps               -- generate documentation in ps format)
+       $(info $.make pdf              -- generate documentation in pdf format )
        @:
 
 .PHONY: help
index 958cf237c581817587ac36eed217385a34314141..7b9af76404bb64ed50cb90d55a45a70a7f72fa58 100644 (file)
@@ -44,12 +44,13 @@ have_working_info = $(filter notintermediate,$(value .FEATURES))
 # The workaround is done only for AM_V_ELC and AM_V_ELN,
 # since the bug is not annoying elsewhere.
 
-AM_V_AR      = @$(info $   AR       $@)
+. :=
+AM_V_AR      = @$(info $.  AR       $@)
 AM_V_at             = @
-AM_V_CC      = @$(info $   CC       $@)
-AM_V_CXX     = @$(info $   CXX      $@)
-AM_V_CCLD    = @$(info $   CCLD     $@)
-AM_V_CXXLD   = @$(info $   CXXLD    $@)
-AM_V_GEN     = @$(info $   GEN      $@)
+AM_V_CC      = @$(info $.  CC       $@)
+AM_V_CXX     = @$(info $.  CXX      $@)
+AM_V_CCLD    = @$(info $.  CCLD     $@)
+AM_V_CXXLD   = @$(info $.  CXXLD    $@)
+AM_V_GEN     = @$(info $.  GEN      $@)
 AM_V_NO_PD = --no-print-directory
 endif
index 7c059640862d7390775ff1fa9f631dbd52883f74..3cdf1620781af38e0f2cac315f2e2273a01d4869 100644 (file)
@@ -319,7 +319,7 @@ maybe-blessmail: $(BLESSMAIL_TARGET)
 ## up if chown or chgrp fails, as the package responsible for
 ## installing Emacs can fix this problem later.
 $(DESTDIR)${archlibdir}: all
-       $(info $ )
+       $(info $.)
        $(info Installing utilities run internally by Emacs.)
        umask 022 && ${MKDIR_P} "$(DESTDIR)${archlibdir}"
        exp_archlibdir=`cd "$(DESTDIR)${archlibdir}" && pwd -P` && \
@@ -361,7 +361,7 @@ $(DESTDIR)${archlibdir}: all
 .PHONY: bootstrap-clean check tags
 
 install: $(DESTDIR)${archlibdir}
-       $(info $ )
+       $(info $.)
        $(info Installing utilities for users to run.)
        umask 022 && ${MKDIR_P} "$(DESTDIR)${bindir}"
        for file in ${INSTALLABLES} ; do \
index e72c182f276bf080f2fa4bb672e4948abf6ab428..6efb6b9416bbaf0c5175284948aba33ce4bf6b6e 100644 (file)
@@ -53,38 +53,39 @@ have_working_info = $(filter notintermediate,$(value .FEATURES))
 # The workaround is done only for AM_V_ELC and AM_V_ELN,
 # since the bug is not annoying elsewhere.
 
-AM_V_AR      = @$(info $   AR       $@)
+. :=
+AM_V_AR      = @$(info $.  AR       $@)
 AM_V_at = @
-AM_V_CC      = @$(info $   CC       $@)
-AM_V_CXX     = @$(info $   CXX      $@)
-AM_V_CCLD    = @$(info $   CCLD     $@)
-AM_V_CXXLD   = @$(info $   CXXLD    $@)
+AM_V_CC      = @$(info $.  CC       $@)
+AM_V_CXX     = @$(info $.  CXX      $@)
+AM_V_CCLD    = @$(info $.  CCLD     $@)
+AM_V_CXXLD   = @$(info $.  CXXLD    $@)
 
 ifeq ($(HAVE_NATIVE_COMP)-$(NATIVE_DISABLED)-$(ANCIENT),yes--)
 ifneq (,$(have_working_info))
-AM_V_ELC     = @$(info $   ELC+ELN  $@)
-AM_V_ELN     = @$(info $   ELN      $@)
+AM_V_ELC     = @$(info $.  ELC+ELN  $@)
+AM_V_ELN     = @$(info $.  ELN      $@)
 else
 AM_V_ELC     = @echo "  ELC+ELN " $@;
 AM_V_ELN     = @echo "  ELN     " $@;
 endif
 else
 ifneq (,$(have_working_info))
-AM_V_ELC     = @$(info $   ELC      $@)
+AM_V_ELC     = @$(info $.  ELC      $@)
 else
 AM_V_ELC     = @echo "  ELC     " $@;
 endif
 AM_V_ELN =
 endif
 
-AM_V_GEN     = @$(info $   GEN      $@)
-AM_V_GLOBALS = @$(info $   GEN      globals.h)
+AM_V_GEN     = @$(info $.  GEN      $@)
+AM_V_GLOBALS = @$(info $.  GEN      globals.h)
 AM_V_NO_PD = --no-print-directory
-AM_V_RC      = @$(info $   RC       $@)
+AM_V_RC      = @$(info $.  RC       $@)
 
 # These are used for the Android port.
-AM_V_JAVAC     = @$(info $   JAVAC    $@)
-AM_V_D8                = @$(info $   D8       $@)
-AM_V_AAPT      = @$(info $   AAPT     $@)
+AM_V_JAVAC     = @$(info $.  JAVAC    $@)
+AM_V_D8                = @$(info $.  D8       $@)
+AM_V_AAPT      = @$(info $.  AAPT     $@)
 AM_V_SILENT    = @
 endif