[gnu.announce] GNU Make version 3.43

tower@WHEATIES.AI.MIT.EDU (Leonard H. Tower Jr.) (03/24/89)

Forwarded-For: Roland McGrath <mcgrath%paris.Berkeley.EDU@ginger.berkeley.edu>

GNU Make version 3.43 is now available for anonymous FTP from prep.ai.mit.edu.
It will soon be available for anonymous uucp on osu-cis.

This version fixes all known bugs in prior versions, and includes some new
features.

Send bug reports to bug-gnu-utils@prep.ai.mit.edu or newsgroup gnu.utils.bug
(but not both; they are the same).

Send suggestions for features, etc. to roland@wheaties.ai.mit.edu.

Enjoy!
Roland McGrath	<roland@wheaties.ai.mit.edu>


User-visible changes in GNU Make, excluding bug fixes from 3.27 to 3.43:

* Dependency loops are no longer fatal errors.

* A dependency is considered newer than its dependent if
they have the same modification time.

* The variables F77 and F77FLAGS are now set by default to $(FC) and
$(FFLAGS).  Makefiles designed for System V make may use these variables in
explicit rules and expect them to be set.  Unfortunately, there is no way to
make setting these affect the Fortran implicit rules unless FC and FFLAGS
are not used (and these are used by BSD make).

* Make now checks to see if its hashed directories are changed by commands.
Other makes that hash directories (Sun, 4.3 BSD) don't do this.

* The `shell' function no longer captures standard error output.

* A file beginning with a dot can be the default target if it also contains
a slash (e.g., `../bin/foo').  (Unix make allows this as well.)

* Archive member names are truncated to 15 characters.

* Yet more USG stuff.

* Minimal support for Microport System V (a 16-bit machine and a
brain-damaged compiler).  This has even lower priority than other USG
support, so if it gets beyond trivial, I will take it out completely.

* Revamped default implicit rules (not much visible change).

* The -d and -p options can come from the environment.

* Improved support for USG and HPUX (hopefully).

* A variable reference like `$(foo:a=b)', if `a' contains a `%', is
equivalent to `$(patsubst a,b,$(foo))'.

* Defining .DEFAULT with no deps or commands clears its commands.

* New default implicit rules for .S (cpp, then as), and .sh (copy and make
executable).  All default implicit rules that use cpp (even indirectly), use
$(CPPFLAGS).

* Giving the -j option with no arguments gives you infinite jobs.

* New option: "-l LOAD" says not to start any new jobs while others are
running if the load average is not below LOAD (a floating-point number).

* There is support in place for implementations of remote command execution
in Make.  See the file remote.c.

----------------------------------------------------------------------