home *** CD-ROM | disk | FTP | other *** search
/ Atari FTP / ATARI_FTP_0693.zip / ATARI_FTP_0693 / Mint / Gcc / bmake363.zoo / make / news < prev    next >
Text File  |  1993-03-01  |  5KB  |  110 lines

  1. Main changes since make 3.61:
  2.  
  3. * Make now uses a standard GNU `configure' script.  See the new file
  4.   INSTALL for the new (and much simpler) installation procedure.
  5.  
  6. * There is now a shell script to build Make the first time, if you have no
  7.   other `make' program.  `build.sh' is created by `configure'; see README.
  8.  
  9. * GNU Make now completely conforms to the POSIX.2 specification for `make'.
  10.  
  11. * Elements of the `$^' and `$?' automatic variables that are archive
  12.   member references now list only the member name, as in Unix and POSIX.2.
  13.  
  14. * You should no longer ever need to specify the `-w' switch, which prints
  15.   the current directory before and after Make runs.  The `-C' switch to
  16.   change directory, and recursive use of Make, now set `-w' automatically.
  17.  
  18. * Multiple double-colon rules for the same target will no longer have their
  19.   commands run simultaneously under -j, as this could result in the two
  20.   commands trying to change the file at the same time and interfering with
  21.   one another.
  22.  
  23. * The `SHELL' variable is now never taken from the environment.
  24.   Each makefile that wants a shell other than the default (/bin/sh) must
  25.   set SHELL itself.  SHELL is always exported to child processes.
  26.   This change was made for compatibility with POSIX.2.
  27.  
  28. * Make now accepts long options.  There is now an informative usage message
  29.   that tells you what all the options are and what they do.  Try `make --help'.
  30.  
  31. * There are two new directives: `export' and `unexport'.  All variables are
  32.   no longer automatically put into the environments of the commands that
  33.   Make runs.  Instead, only variables specified on the command line or in
  34.   the environment are exported by default.  To export others, use:
  35.         export VARIABLE
  36.   or you can define variables with:
  37.         export VARIABLE = VALUE
  38.   or:
  39.         export VARIABLE := VALUE
  40.   You can use just:
  41.         export
  42.   or:
  43.         .EXPORT_ALL_VARIABLES:
  44.   to get the old behavior.  See the node `Variables/Recursion' in the manual
  45.   for a full description.
  46.  
  47. * The commands from the `.DEFAULT' special target are only applied to
  48.   targets which have no rules at all, not all targets with no commands.
  49.   This change was made for compatibility with Unix make.
  50.  
  51. * All fatal error messages now contain `***', so they are easy to find in
  52.   compilation logs.
  53.  
  54. * Dependency file names like `-lNAME' are now replaced with the actual file
  55.   name found, as with files found by normal directory search (VPATH).
  56.   The library file `libNAME.a' may now be found in the current directory,
  57.   which is checked before VPATH; the standard set of directories (/lib,
  58.   /usr/lib, /usr/local/lib) is now checked last.
  59.   See the node `Libraries/Search' in the manual for full details.
  60.  
  61. * A single `include' directive can now specify more than one makefile to
  62.   include, like this:
  63.         include file1 file2
  64.   You can also use shell file name patterns in an `include' directive:
  65.         include *.mk 
  66.  
  67. * The default directories to search for included makefiles, and for
  68.   libraries specified with `-lNAME', are now set by configuration.
  69.  
  70. * You can now use blanks as well as colons to separate the directories in a
  71.   search path for the `vpath' directive or the `VPATH' variable.
  72.  
  73. * You can now use variables and functions in the left hand side of a
  74.   variable assignment, as in "$(foo)bar = value".
  75.  
  76. * The `MAKE' variable is always defined as `$(MAKE_COMMAND) $(MAKEOVERRIDES)'.
  77.   The `MAKE_COMMAND' variable is now defined to the name with which make
  78.   was invoked.
  79.  
  80. * The built-in rules for C++ compilation now use the variables `$(CXX)' and
  81.   `$(CXXFLAGS)' instead of `$(C++)' and `$(C++FLAGS)'.  The old names had
  82.   problems with shells that cannot have `+' in environment variable names.
  83.  
  84. * The value of a recursively expanded variable is now expanded when putting
  85.   it into the environment for child processes.  This change was made for
  86.   compatibility with Unix make.
  87.  
  88. * A rule with no targets before the `:' is now accepted and ignored.
  89.   This change was made for compatibility with SunOS 4 make.
  90.   We do not recommend that you write your makefiles to take advantage of this.
  91.  
  92. * The `-I' switch can now be used in MAKEFLAGS, and are put there
  93.   automatically just like other switches.
  94.  
  95. Changes made to the normal make:
  96. - configured not to use getgroups()
  97. - configured not to use getloadaverage()
  98. - changed to read both DOS and Unix-format makefiles properly
  99. The only changes made were in read.c [fopen(x, "r") -> fopen(x, "rt")].
  100. The configuration stuff was changed in the config.h produced by configure.
  101.  
  102. While this make works fine for me, under MiNT 0.96 and 0.99, I cannot
  103. guarantee it to work under TOS. I also did not test the extended
  104. functionality like doing several things in parallel. If this doesn't
  105. work, you're on your own!
  106.  
  107. Comments, bug-reports, requests to:
  108. Hildo Biersma
  109. boender@dutiws.twi.tudelft.nl
  110.