-------------------------------------------------------------------- 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.3 is available now for download: 7f4b83d3cab5fcf94784f08eb055c1e8 make-4.2.91.tar.bz2 aeac9b47022df1c3c25c94a0190b643e make-4.2.91.tar.gz You can obtain a copy from: https://alpha.gnu.org/gnu/make/ - NEWS ---------------------------------------------------------------- Version 4.2.91 (16 Sep 2019) A complete list of bugs fixed in this version is available here: http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=108&set=custom * WARNING: Backward-incompatibility! Number signs (#) appearing inside a macro reference or function invocation no longer introduce comments and should not be escaped with backslashes: thus a call such as: foo := $(shell echo '#') is legal. Previously the number sign needed to be escaped, for example: foo := $(shell echo '\#') Now this latter will resolve to "\#". If you want to write makefiles portable to both versions, assign the number sign to a variable: H := \# foo := $(shell echo '$H') This was claimed to be fixed in 3.81, but wasn't, for some reason. To detect this change search for 'nocomment' in the .FEATURES variable. * WARNING: Backward-incompatibility! Previously appending using '+=' to an empty variable would result in a value starting with a space. Now the initial space is only added if the variable already contains some value. Similarly, appending an empty string does not add a trailing space. * WARNING: Backward-incompatibility! On Linux, and any other systems that provide a /proc/loadavg with similar syntax, the -l/--load-average option will consult that file to determine how many CPUs are busy at that moment and compare that value to the load value requested. This allows usage such as "-j -lN" for N-processor systems without fear of overload during initial startup. Patch provided by Sven C. Dack <sven.c.d...@sky.com> * WARNING: Backward-incompatibility! Contrary to the documentation, suffix rules with prerequisites were being treated BOTH as simple targets AND as pattern rules. Behavior now matches the documentation, and pattern rules are no longer created in this case. * New feature: Grouped explicit targets Pattern rules have always had the ability to generate multiple targets with a single invocation of the recipe. It's now possible to declare that an explicit rule generates multiple targets with a single invocation. To use this, replace the ":" token with "&:" in the rule. To detect this feature search for 'grouped-target' in the .FEATURES special variable. Implementation contributed by Kaz Kylheku <k...@kylheku.com> * Makefiles can now specify the '-j' option in their MAKEFLAGS variable and this will cause make to enable that parallelism mode. * GNU make will now use posix_spawn() on systems where it is available. If you prefer to use fork/exec even on systems where posix_spawn() is present, you can use the --disable-posix-spawn option to configure. Aron Barath <baratha...@caesar.elte.hu> provided the basic implementation. * Error messages printed when invoking non-existent commands have been cleaned up and made consistent. * The previous limit of 63 jobs under -jN on MS-Windows is now increased to 4095. That limit includes the subprocess started by the $(shell) function. * A new option --no-silent has been added, that cancels the effect of the -s/--silent/--quiet flag. * A new option -E has been added as a short alias for --eval. * All wildcard expansion within GNU make, including $(wildcard ...), will sort the results. See https://savannah.gnu.org/bugs/index.php?52076 * Interoperate with newer GNU libc and musl C runtime libraries. * Performance improvements provided by Paolo Bonzini <pbonz...@redhat.com> GNU make Developer News * Import the GNU standard bootstrap script to replace the hand-rolled "make update" method for building code from a GNU make Git repository. * Rework the source distribution to move source files into the src/* subdirectory. This aligns with modern best practices in GNU. * Replace local portability code with Gnulib content. Unfortunately due to a problem with Gnulib support for getloadavg, this forces a requirement on Automake 1.16 or above in order to build from Git. See README.git.
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Help-make mailing list Help-make@gnu.org https://lists.gnu.org/mailman/listinfo/help-make