BTW wget complains about the certificate:

$ wget https://alpha.gnu.org/gnu/make/make-4.3.90.tar.gz
--2022-09-26 09:12:58--  https://alpha.gnu.org/gnu/make/make-4.3.90.tar.gz
Resolving alpha.gnu.org (alpha.gnu.org)... 209.51.188.21, 2001:470:142:3::c
Connecting to alpha.gnu.org (alpha.gnu.org)|209.51.188.21|:443... connected.
ERROR: cannot verify alpha.gnu.org's certificate, issued by '/C=US/O=Let\'s
Encrypt/CN=R3':
  Issued certificate has expired.
To connect to alpha.gnu.org insecurely, use `--no-check-certificate'.

On Tue, Sep 20, 2022 at 7:18 PM Paul Smith <psm...@gnu.org> wrote:

>     --------------------------------------------------------------------
>     GNU make is a tool which controls the generation of executables and
>     other non-source files of a program from the program's source files.
>
>     You can learn more at: https://www.gnu.org/software/make/
>     --------------------------------------------------------------------
>
> A new release candidate for GNU make 4.4 is available now for download:
>
>     0c3daaec8c81bf72f460677ccda32364  make-4.3.90.tar.lz
>     54726144a7ae0465451f8ca0740f3d1f  make-4.3.90.tar.gz
>
> You can obtain a copy from:  https://alpha.gnu.org/gnu/make/
>
> - NEWS ----------------------------------------------------------------
>
> Version 4.3.90 (20 Sep 2022)
>
> A complete list of bugs fixed in this version is available here:
>
>
> https://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=109&set=custom
>
> * WARNING: Backward-incompatibility!
>   Previously if --no-print-directory was seen anywhere in the environment
> or
>   command line it would take precedence over any --print-directory.  Now,
> the
>   last setting of directory printing options seen will be used, so a
> command
>   line such as "--no-print-directory -w" _will_ show directory entry/exits.
>
> * WARNING: Backward-incompatibility!
>   Previously the order in which makefiles were remade was not explicitly
>   stated, but it was (roughly) the inverse of the order in which they were
>   processed by make.  In this release, the order in which makefiles are
>   rebuilt is the same order in which make processed them, and this is
> defined
>   to be true in the GNU make manual.
>
> * WARNING: Backward-incompatibility!
>   Previously only simple (one-letter) options were added to the MAKEFLAGS
>   variable that was visible while parsing makefiles.  Now, all options are
>   available in MAKEFLAGS.  If you want to check MAKEFLAGS for a one-letter
>   option, expanding "$(firstword -$(MAKEFLAGS))" is a reliable way to
> return
>   the set of one-letter options which can be examined via findstring, etc.
>
> * WARNING: Backward-incompatibility!
>   Previously makefile variables marked as export were not exported to
> commands
>   started by the $(shell ...) function.  Now, all exported variables are
>   exported to $(shell ...).  If this leads to recursion during expansion,
> then
>   for backward-compatibility the value from the original environment is
> used.
>   To detect this change search for 'shell-export' in the .FEATURES
> variable.
>
> * WARNING: New build requirement
>   GNU make utilizes facilities from GNU Gnulib: Gnulib requires certain C99
>   features in the C compiler and so these features are required by GNU
> make:
>
> https://www.gnu.org/software/gnulib/manual/html_node/C99-features-assumed.html
>   The configure script should verify the compiler has these features.
>
> * New feature: The .WAIT special target
>   If the .WAIT target appears between two prerequisites of a target, then
>   GNU make will wait for all of the targets to the left of .WAIT in the
> list
>   to complete before starting any of the targets to the right of .WAIT.
>   This feature is available in some other versions of make, and it will be
>   required by an upcoming version of the POSIX standard for make.
>   Different patches were made by Alexey Neyman <alex.ney...@auriga.ru>
> (2005)
>   and Steffen Nurpmeso <stef...@sdaoden.eu> (2020) that were useful but
> the
>   result is a different implementation (closer to Alexey's idea).
>
> * New feature: .NOTPARALLEL accepts prerequisites
>   If the .NOTPARALLEL special target has prerequisites then all
> prerequisites
>   of those targets will be run serially (as if .WAIT was specified between
>   each prerequisite).
>
> * New feature: The .NOTINTERMEDIATE special target
>   .NOTINTERMEDIATE Disables intermediate behavior for specific files, for
> all
>   files built using a pattern, or for the entire makefile.
>   Implementation provided by Dmitry Goncharov <dgoncha...@users.sf.net>
>
> * New feature: The $(let ...) function
>   This function allows user-defined functions to define a set of local
>   variables: values can be assigned to these variables from within the
>   user-defined function and they will not impact global variable
> assignments.
>   Implementation provided by Jouke Witteveen <j.wittev...@gmail.com>
>
> * New feature: The $(intcmp ...) function
>   This function allows conditional evaluation controlled by a numerical
>   comparison.
>   Implementation provided by Jouke Witteveen <j.wittev...@gmail.com>
>
> * New feature: Improved support for -l / --load-average
>   On systems that provide /proc/loadavg (Linux), GNU make will use it to
>   determine the number of runnable jobs and use this as the current load,
>   avoiding the need for heuristics.
>   Implementation provided by Sven C. Dack <sd...@gmx.com>
>
> * New feature: The --shuffle command line option
>   This option reorders goals and prerequisites to simulate non-determinism
>   that may be seen using parallel build.  Shuffle mode allows a form of
> "fuzz
>   testing" of parallel builds to verify that all prerequisites are
> correctly
>   described in the makefile.
>   Implementation provided by Sergei Trofimovich <siarh...@google.com>
>
> * New feature: The --jobserver-style command line option and named pipes
>   A new jobserver method is used on systems where mkfifo(3) is supported.
>   This solves a number of obscure issues related to using the jobserver
>   and recursive invocations of GNU make.  This change means that sub-makes
>   will connect to the jobserver even if they are not marked as recursive.
>   It also means that other tools that want to participate in the jobserver
>   will need to be enhanced as described in the GNU make manual.
>   You can force GNU make to use the simple pipe-based jobserver (perhaps if
>   you are integrating with other tools or older versions of GNU make) by
>   adding the '--jobserver-style=pipe' option to the command line of the
>   top-level invocation of GNU make, or via MAKEFLAGS or GNUMAKEFLAGS.
>   To detect this change search for 'jobserver-fifo' in the .FEATURES
> variable.
>
> * New feature: The MAKE_TMPDIR environment variable
>   If you prefer that GNU make place temporary files in a different
> directory
>   than the standard TMPDIR (or TMP or TEMP on Windows), set the MAKE_TMPDIR
>   environment variable before starting make (this value CANNOT be set
> inside
>   the makefile, since make needs to find its temporary directory before the
>   makefiles are parsed).  This is useful for build systems which reset
> TMPDIR
>   and clean it out during the build process.
>
> * Some POSIX systems (*BSD) do not allow locks to be taken on pipes, which
>   caused the output sync feature to not work properly there.  Also multiple
>   invocations of make redirecting to the same output file (e.g., /dev/null)
>   would cause hangs.  Instead of locking stdout (which does have some
> useful
>   performance characteristics, but is not portable) create a temporary file
>   and lock that.  Windows continues to use a mutex as before.
>
> * GNU make has sometimes chosen unexpected, and sub-optimal, chains of
>   implicit rules due to the definition of "ought to exist" in the implicit
>   rule search algorithm, which considered any prerequisite mentioned in the
>   makefile as "ought to exist".  This algorithm has been modified to prefer
>   prerequisites mentioned explicitly in the target being built and only if
>   that results in no matching rule, will GNU make consider prerequisites
>   mentioned in other targets as "ought to exist".
>   Implementation provided by Dmitry Goncharov <dgoncha...@users.sf.net>
>
> * GNU make was performing secondary expansion of all targets, even targets
>   which didn't need to be considered during the build.  In this release
>   only targets which are considered will be secondarily expanded.
>   Implementation provided by Dmitry Goncharov <dgoncha...@users.sf.net>
>
> * If the MAKEFLAGS variable is modified in a makefile, it will be re-parsed
>   immediately rather than after all makefiles have been read.  Note that
>   although all options are parsed immediately, some special effects won't
>   appear until after all makefiles are read.
>
> * The -I option accepts an argument "-" (e.g., "-I-") which means "reset
> the
>   list of search directories to empty".  Among other things this can be
> used
>   to prevent GNU make from searching in its default list of directories.
>
> * New debug option "print" will show the recipe to be run, even when silent
>   mode is set, and new debug option "why" will show why a target is rebuilt
>   (which prerequisites caused the target to be considered out of date).
>   Implementation provided by David Boyce <david.s.bo...@gmail.com>
>
> * The existing --trace option is made equivalent to --debug=print,why
>
> * Target-specific variables can now be marked "unexport".
>
> * Exporting / unexporting target-specific variables is handled correctly,
> so
>   that the attribute of the most specific variable setting is used.
>
> * Special targets like .POSIX are detected upon definition, ensuring that
> any
>   change in behavior takes effect immediately, before the next line is
> parsed.
>
> * When the jobserver is enabled and GNU make decides it is invoking a
> non-make
>   sub-process and closes the jobserver pipes, it will now add a new option
> to
>   the MAKEFLAGS environment variable that disables the jobserver.
>   This prevents sub-processes that invoke make from accidentally using
> other
>   open file descriptors as jobserver pipes.  For more information see
>   https://savannah.gnu.org/bugs/?57242 and
> https://savannah.gnu.org/bugs/?62397
>
> * A long-standing issue with the directory cache has been resolved: changes
>   made as a side-effect of some other target's recipe are now noticed as
>   expected.
>
> * GNU Make can now be built for MS-Windows using the Tiny C tcc compiler.
>   Port provided by Christian Jullien <eli...@orange.fr>
>
>

Reply via email to