1 |
Mon Feb 28 00:18:20 2005 Boris Kolpackov <boris@kolpackov.net> |
2005-02-27 Paul D. Smith <psmith@gnu.org> |
2 |
|
|
3 |
Implementation of the .DEFAULT_TARGET special variable. |
* misc.c (end_of_token): Make argument const. |
4 |
|
* make.h: Update prototype. |
5 |
|
|
6 |
|
* function.c (abspath, func_realpath, func_abspath): Use |
7 |
|
PATH_VAR() and GET_PATH_MAX instead of PATH_MAX. |
8 |
|
* dir.c (downcase): Use PATH_VAR() instead of PATH_MAX. |
9 |
|
* read.c (record_files): Ditto. |
10 |
|
* variable.c (do_variable_definition): Ditto. |
11 |
|
|
12 |
|
* function.c (func_error): Create a new function $(info ...) that |
13 |
|
simply prints the message to stdout with no extras. |
14 |
|
(function_table_init): Add new function to the table. |
15 |
|
* NEWS: Add $(info ...) reference. |
16 |
|
* doc/make.texi (Make Control Functions): Document it. |
17 |
|
|
18 |
|
New feature: if the system supports symbolic links, and the user |
19 |
|
provides the -L/--check-symlink-time flag, then use the latest |
20 |
|
mtime between the symlink(s) and the target file. |
21 |
|
|
22 |
|
* configure.in (MAKE_SYMLINKS): Check for lstat() and |
23 |
|
readlink(). If both are available, define MAKE_SYMLINKS. |
24 |
|
* main.c: New variable: check_symlink_flag. |
25 |
|
(usage): Add a line for -L/--check-symlink-times to the help string. |
26 |
|
(switches): Add -L/--check-symlink-times command line argument. |
27 |
|
(main): If MAKE_SYMLINKS is not defined but the user specified -L, |
28 |
|
print a warning and disable it again. |
29 |
|
* make.h: Declare check_symlink_flag. |
30 |
|
* remake.c (name_mtime): If MAKE_SYMLINKS and check_symlink_flag, |
31 |
|
if the file is a symlink then check each link in the chain and |
32 |
|
choose the NEWEST mtime we find as the mtime for the file. The |
33 |
|
newest mtime might be the file itself! |
34 |
|
* NEWS: Add information about this new feature. |
35 |
|
* doc/make.texi (Options Summary): Add -L/--check-symlink-times docs. |
36 |
|
|
37 |
|
Avoid core dumps described in Savannah bug # 12124: |
38 |
|
|
39 |
|
* file.c: New variable snapped_deps remember whether we've run |
40 |
|
snap_deps(). |
41 |
|
(snap_deps): Set it. |
42 |
|
* filedef.h: Extern it. |
43 |
|
* read.c (record_files): Check snapped_deps; if it's set then |
44 |
|
we're trying to eval a new target/prerequisite relationship from |
45 |
|
within a command script, which we don't support. Fatal. |
46 |
|
|
47 |
* read.c (eval): If necessary, update default_target_name |
2005-02-28 Boris Kolpackov <boris@kolpackov.net> |
48 |
when reading rules. |
|
49 |
|
Implementation of the .DEFAULT_TARGET special variable. |
50 |
|
|
51 |
|
* read.c (eval): If necessary, update default_target_name when |
52 |
|
reading rules. |
53 |
* read.c (record_files): Update default_target_file if |
* read.c (record_files): Update default_target_file if |
54 |
default_target_name has changed. |
default_target_name has changed. |
|
|
|
55 |
* main.c (default_target_name): Define. |
* main.c (default_target_name): Define. |
|
|
|
56 |
* main.c (main): Enter .DEFAULT_TARGET as make variable. If |
* main.c (main): Enter .DEFAULT_TARGET as make variable. If |
57 |
default_target_name is set use default_target_file as a root |
default_target_name is set use default_target_file as a root |
58 |
target to make. |
target to make. |
|
|
|
59 |
* filedef.h (default_target_name): Declare. |
* filedef.h (default_target_name): Declare. |
|
|
|
60 |
* dep.h (free_dep_chain): |
* dep.h (free_dep_chain): |
61 |
* misc.c (free_dep_chain): Change to operate on struct nameseq |
* misc.c (free_dep_chain): Change to operate on struct nameseq |
62 |
and change name to free_ns_chain. |
and change name to free_ns_chain. |
|
|
|
63 |
* file.c (snap_deps): Update to use free_ns_chain. |
* file.c (snap_deps): Update to use free_ns_chain. |
64 |
|
|
65 |
|
2005-02-27 Boris Kolpackov <boris@kolpackov.net> |
|
Sun Feb 27 22:03:36 2005 Boris Kolpackov <boris@kolpackov.net> |
|
66 |
|
|
67 |
Implementation of the second expansion in explicit rules, |
Implementation of the second expansion in explicit rules, |
68 |
static pattern rules and implicit rules. |
static pattern rules and implicit rules. |
108 |
* make.h (strip_whitespace): Declare. |
* make.h (strip_whitespace): Declare. |
109 |
* function.c (strip_whitespace): Remove static specifier. |
* function.c (strip_whitespace): Remove static specifier. |
110 |
|
|
111 |
|
2005-02-26 Paul D. Smith <psmith@gnu.org> |
112 |
|
|
113 |
|
* main.c (main): Check for ferror() when reading makefiles from stdin. |
114 |
|
Apparently some shells in Windows don't close pipes properly and |
115 |
|
require this check. |
116 |
|
|
117 |
2005-02-24 Jonathan Grant <jg@jguk.org> |
2005-02-24 Jonathan Grant <jg@jguk.org> |
118 |
|
|
119 |
* configure.in: Add MinGW configuration options, and extra w32 code |
* configure.in: Add MinGW configuration options, and extra w32 code |
128 |
* tests/run_make_tests.pl, tests/test_driver.pl: MSYS testing |
* tests/run_make_tests.pl, tests/test_driver.pl: MSYS testing |
129 |
environment support. |
environment support. |
130 |
|
|
131 |
|
2004-04-16 Dmitry V. Levin <ldv@altlinux.org> |
132 |
|
|
133 |
|
* function.c (func_shell): When initializing error_prefix, check |
134 |
|
that reading file name is not null. This fixes long-standing |
135 |
|
segfault in cases like "make 'a1=$(shell :)' 'a2:=$(a1)'". |
136 |
|
|
137 |
2005-02-09 Paul D. Smith <psmith@gnu.org> |
2005-02-09 Paul D. Smith <psmith@gnu.org> |
138 |
|
|
139 |
* maintMakefile: Update the CVS download URL to simplify them. |
* maintMakefile: Update the CVS download URL to simplify them. |