1995-03-11 02:58:47 +08:00
|
|
|
Fri Mar 10 13:56:49 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* Version 3.72.10.
|
|
|
|
|
|
|
|
* GNUmakefile (globfiles): Add glob/configure.bat.
|
|
|
|
(distfiles): Add configh.dos, configure.bat.
|
|
|
|
|
1995-03-09 02:09:30 +08:00
|
|
|
Wed Mar 8 13:10:57 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
1995-03-11 02:58:47 +08:00
|
|
|
Fixes for MS-DOS from DJ Delorie.
|
|
|
|
* read.c (read_makefile, parse_file_seq) [__MS_DOS__]: Don't see :
|
|
|
|
as separator in "C:\...".
|
|
|
|
* configh.dos (STDC_HEADERS): Define only if undefined.
|
|
|
|
(HAVE_SYS_PARAM_H): Don't define this.
|
|
|
|
(HAVE_STRERROR): Define this.
|
|
|
|
* job.c (construct_command_argv_internal) [__MSDOS__]: Fix typos.
|
|
|
|
|
1995-03-09 02:09:30 +08:00
|
|
|
* Version 3.72.9.
|
1995-03-08 07:44:43 +08:00
|
|
|
|
1995-03-09 02:09:30 +08:00
|
|
|
* main.c (decode_switches): Reset optind to 1 instead of 0.
|
|
|
|
|
|
|
|
Tue Mar 7 17:31:06 1995 Roland McGrath <roland@geech.gnu.ai.mit.edu>
|
1995-03-08 08:13:28 +08:00
|
|
|
|
1995-03-08 07:44:43 +08:00
|
|
|
* main.c (decode_switches): If non-option arg is "-", ignore it.
|
|
|
|
|
|
|
|
Mon Mar 6 23:57:38 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* Version 3.72.8.
|
|
|
|
|
|
|
|
Wed Feb 22 21:26:36 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* Version 3.72.7.
|
|
|
|
|
|
|
|
Tue Feb 21 22:10:43 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* main.c (main): Pass missing arg to tmpnam.
|
|
|
|
|
|
|
|
* configure.in: Check for strsignal.
|
|
|
|
* job.c (child_error): Use strsignal.
|
|
|
|
* main.c (main): Don't call signame_init #ifdef HAVE_STRSIGNAL.
|
|
|
|
|
|
|
|
* misc.c (strerror): Fix swapped args in sprintf.
|
|
|
|
|
|
|
|
Mon Feb 13 11:50:08 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* configure.in (CFLAGS, LDFLAGS): Don't set these variables.
|
|
|
|
|
|
|
|
Fri Feb 10 18:44:12 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* main.c (print_version): Add 95 to copyright years.
|
|
|
|
|
|
|
|
* Version 3.72.6.
|
|
|
|
|
|
|
|
* job.c (start_job_command): Remember to call notice_finsihed_file
|
|
|
|
under -n when not recursing. To do this, consolidate that code
|
|
|
|
under the empty command case and goto there for the -n case.
|
|
|
|
|
|
|
|
Tue Feb 7 13:36:03 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* make.h [! STDC_HEADERS]: Don't declare qsort. Sun headers
|
|
|
|
declare it int.
|
|
|
|
|
|
|
|
Mon Feb 6 17:37:01 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* read.c (read_makefile): For bogus line starting with tab, ignore
|
|
|
|
it if blank after removing comments.
|
|
|
|
|
|
|
|
* main.c: Cast results of `alloca' to `char *'.
|
|
|
|
* expand.c: Likewise.
|
|
|
|
|
|
|
|
Sun Feb 5 18:35:46 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* Version 3.72.5.
|
|
|
|
|
|
|
|
* configure.in: Check for mktemp.
|
|
|
|
* main.c (main) [! HAVE_MKTEMP]: Use tmpnam instead of mktemp.
|
|
|
|
|
|
|
|
* configure.in (make_cv_sysconf_open_max): New check for `sysconf
|
|
|
|
(_SC_OPEN_MAX)'.
|
|
|
|
* acconfig.h: Added #undef HAVE_SYSCONF_OPEN_MAX.
|
|
|
|
* job.c [HAVE_SYSCONF_OPEN_MAX] (getdtablesize): Define as macro
|
|
|
|
using sysconf.
|
|
|
|
|
|
|
|
Fri Jan 27 04:42:09 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* remake.c (update_file_1): When !MUST_MAKE, don't set
|
|
|
|
FILE->update_status to zero before calling notice_finished_file.
|
|
|
|
(notice_finished_file): Touch only when FILE->update_status is zero.
|
|
|
|
(remake_file): Set FILE->update_status to zero after not calling
|
|
|
|
execute_file_command and deciding to touch instead.
|
|
|
|
|
|
|
|
Thu Jan 26 01:29:32 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* main.c (debug_signal_handler): New function; toggles debug_flag.
|
|
|
|
(main): Handle SIGUSR1 with that.
|
|
|
|
|
|
|
|
Mon Jan 16 15:46:56 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* compatMakefile (realclean): Remove Info files.
|
|
|
|
|
|
|
|
Sun Jan 15 08:23:09 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* Version 3.72.4.
|
|
|
|
|
|
|
|
* job.c (start_job_command): Save and restore environ around vfork
|
|
|
|
call.
|
|
|
|
(search_path): Function #if 0'd out.
|
|
|
|
(exec_command): Use execvp instead of search_path.
|
|
|
|
|
|
|
|
* expand.c (variable_expand): Rewrote computed variable name and
|
|
|
|
substitution reference handling to be simpler. First expand the
|
|
|
|
entire text between the parens if it contains any $s, then examine
|
|
|
|
the result of that for subtitution references and do no further
|
|
|
|
expansion while parsing them.
|
|
|
|
|
|
|
|
* job.c (construct_command_argv_internal): Handle " quoting too,
|
|
|
|
when no backslash, $ or ` characters appear inside the quotes.
|
|
|
|
|
|
|
|
* configure.in (union wait check): If WEXITSTATUS and WTERMSIG are
|
|
|
|
defined, just use int.
|
|
|
|
|
|
|
|
Tue Jan 10 06:27:27 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* default.c (default_variables) [__hpux]: Remove special
|
|
|
|
definition of ARFLAGS. Existence of the `f' flag is not
|
|
|
|
consistent across HPUX versions; and one might be using GNU ar
|
|
|
|
anyway.
|
|
|
|
|
|
|
|
* compatMakefile (clean): Don't remove Info files.
|
|
|
|
|
|
|
|
* compatMakefile (check): Remove gratuitous target declaration.
|
|
|
|
|
|
|
|
Sat Jan 7 11:38:23 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* compatMakefile (ETAGS, CTAGS): Don't use -t.
|
|
|
|
|
|
|
|
* arscan.c (ar_name_equal) [cray]: Subtract 1 like [__hpux].
|
|
|
|
|
|
|
|
* main.c (decode_switches): For --help, print usage to stdout.
|
|
|
|
|
|
|
|
Mon Dec 5 12:42:18 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* Version 3.72.3.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Do set_command_state (FILE,
|
|
|
|
cs_not_started) only if old state was deps_running.
|
|
|
|
|
|
|
|
Mon Nov 28 14:24:03 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* job.c (start_waiting_job): Use set_command_state.
|
|
|
|
|
|
|
|
* build.template (CPPFLAGS): New variable.
|
|
|
|
(prefix, exec_prefix): Set from @...@.
|
|
|
|
(compilation loop): Pass $CPPFLAGS to compiler.
|
|
|
|
|
|
|
|
* GNUmakefile (build.sh.in): Make it executable.
|
|
|
|
|
|
|
|
* GNUmakefile (globfiles): Add configure.in, configure.
|
|
|
|
|
|
|
|
* Version 3.72.2.
|
|
|
|
|
|
|
|
* configure.in (AC_OUTPUT): Don't write glob/Makefile.
|
|
|
|
|
|
|
|
* configure.in (AC_CHECK_SYMBOL): Use AC_DEFINE_UNQUOTED.
|
|
|
|
|
|
|
|
* configure.in: Don't check for ranlib.
|
|
|
|
|
|
|
|
Tue Nov 22 22:42:40 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* remake.c (notice_finished_file): Only mark also_make's as
|
|
|
|
updated if really ran cmds.
|
|
|
|
|
|
|
|
Tue Nov 15 06:32:46 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* configure.in: Put dnls before random whitespace.
|
|
|
|
|
|
|
|
Sun Nov 13 05:02:25 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* compatMakefile (CPPFLAGS): New variable, set from @CPPFLAGS@.
|
|
|
|
(RANLIB): Variable removed.
|
|
|
|
(prefix, exec_prefix): Set these from @...@.
|
|
|
|
(.c.o): Use $(CPPFLAGS).
|
|
|
|
(glob/libglob.a): Don't pass down variables to sub-make.
|
|
|
|
glob/Makefile should be configured properly by configure.
|
|
|
|
(distclean): Remove config.log and config.cache (autoconf stuff).
|
|
|
|
|
|
|
|
Mon Nov 7 13:58:06 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* acconfig.h: Add #undef HAVE_UNION_WAIT.
|
|
|
|
* configure.in: Converted to Autoconf v2.
|
|
|
|
* dir.c: Test HAVE_DIRENT_H, HAVE_SYS_DIR_H, HAVE_NDIR_H instead
|
|
|
|
of DIRENT, SYSDIR, NDIR.
|
|
|
|
* build.sh.in (prefix, exec_prefix): Set these from @...@.
|
|
|
|
(CPPFLAGS): New variable, set from @CPPFLAGS@.
|
|
|
|
(compiling loop): Pass $CPPFLAGS before $CFLAGS.
|
|
|
|
* install.sh: File renamed to install-sh.
|
|
|
|
|
|
|
|
* main.c (define_makeflags): When no flags, set WORDS to zero.
|
|
|
|
|
|
|
|
Sun Nov 6 18:34:01 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* Version 3.72.1.
|
|
|
|
|
|
|
|
* main.c (define_makeflags): Terminate properly when FLAGSTRING is
|
|
|
|
empty.
|
|
|
|
|
|
|
|
Fri Nov 4 16:02:51 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* Version 3.72.
|
|
|
|
|
|
|
|
Tue Nov 1 01:18:10 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* Version 3.71.5.
|
|
|
|
|
|
|
|
* job.c (start_job_command): When ARGV is nil, only set
|
|
|
|
update_state and call notice_finished_file if job_next_command
|
|
|
|
returns zero.
|
|
|
|
|
|
|
|
* job.c (start_job_command): Call notice_finished_file for empty
|
|
|
|
command line.
|
|
|
|
|
|
|
|
Thu Oct 27 02:02:45 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* file.c (snap_deps): Set COMMANDS_SILENT for .SILENT, not
|
|
|
|
COMMANDS_NOERROR.
|
|
|
|
|
|
|
|
Wed Oct 26 02:14:10 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* Version 3.71.4.
|
|
|
|
|
|
|
|
Tue Oct 25 22:49:24 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* file.c (snap_deps): Set command_flags bits in all :: entries.
|
|
|
|
|
|
|
|
Mon Oct 24 18:47:50 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* make.h (posix_pedantic): Declare it.
|
|
|
|
* main.c (main): Move checks .IGNORE, .SILENT, .POSIX to
|
|
|
|
snap_deps.
|
|
|
|
* file.c (snap_deps): Check .IGNORE, .SILENT, .POSIX here instead
|
|
|
|
of in main. If .IGNORE has deps, OR COMMANDS_NOERROR into their
|
|
|
|
command_flags and don't set -i. Likewise .SILENT.
|
|
|
|
* job.c (start_job_command): In FLAGS initialization, OR in
|
|
|
|
CHILD->file->command_flags.
|
|
|
|
* file.h (struct file): New member `command_flags'.
|
|
|
|
|
|
|
|
Sun Oct 16 01:01:51 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* main.c (switches): Bump flag values for --no-print-directory and
|
|
|
|
--warn-undefined-variables, so neither is 1 (which indicates a
|
|
|
|
nonoption argument).
|
|
|
|
|
|
|
|
Sat Oct 15 23:39:48 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* main.c (main): Add missing code in .IGNORE test.
|
|
|
|
|
|
|
|
Mon Oct 10 04:09:03 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* variable.c (define_automatic_variables): Define +D and +F.
|
|
|
|
|
|
|
|
Sat Oct 1 04:07:48 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* main.c (main): Define hidden automatic variable with command
|
|
|
|
vars, and MAKEOVERRIDES to a reference to that.
|
|
|
|
(define_makeflags): If posix_pedantic, write a reference to that
|
|
|
|
instead.
|
|
|
|
|
|
|
|
Thu Sep 29 00:14:26 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* main.c (posix_pedantic): New variable.
|
|
|
|
(main): Set posix_pedantic if .POSIX is a target.
|
|
|
|
Fix .IGNORE and .SILENT checks to require is_target.
|
|
|
|
|
|
|
|
* commands.c (set_file_variables): Define new automatic variable
|
|
|
|
$+, like $^ but before calling uniquize_deps.
|
|
|
|
|
|
|
|
* job.c (reap_children): Call delete_child_targets for non-signal
|
|
|
|
error if .DELETE_ON_ERROR is a target.
|
|
|
|
|
|
|
|
Tue Sep 27 01:57:14 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* Version 3.71.3.
|
|
|
|
|
|
|
|
Mon Sep 26 18:16:55 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* job.c (reap_children): Don't change C->file->command_state when
|
|
|
|
dying. Test it only after calling start_job_command for a new
|
|
|
|
command line. When no more cmds, just set C->file->update_status.
|
|
|
|
(start_job_command): When the last line is empty or under -n, set
|
|
|
|
C->file->update_status.
|
|
|
|
(start_waiting_job): Grok cs_not_started after start_job_command
|
|
|
|
as success.
|
|
|
|
(new_job): Set C->file->update_status when there are no cmds.
|
|
|
|
(job_next_command): When out of lines, don't set
|
|
|
|
CHILD->file->update_status or CHILD->file->command_state.
|
|
|
|
|
|
|
|
* main.c (quote_as_word): Renamed from shell_quote. Take new arg;
|
|
|
|
if nonzero, also double $s.
|
|
|
|
(main): Define MAKEOVERRIDES from command_variables here.
|
|
|
|
(define_makeflags): Don't use command_variables here; instead write a
|
|
|
|
reference $(MAKEOVERRIDES) in MAKEFLAGS. Make vars recursive.
|
|
|
|
|
|
|
|
* dir.c [__MSDOS__]: Fixed typo.
|
|
|
|
|
|
|
|
* vpath.c (selective_vpath_search): Reset EXISTS when stat fails.
|
|
|
|
|
|
|
|
Sat Sep 10 03:01:35 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* remake.c: Include <assert.h> and use assert instead of printfs
|
|
|
|
and abort.
|
|
|
|
|
|
|
|
* main.c (decode_switches): Loop until optind hits ARGC, not just
|
|
|
|
until getopt_long returns EOF. Initialize C to zero before loop;
|
|
|
|
in loop if C is EOF, set optarg from ARGV[optind++], else call
|
|
|
|
getopt_long.
|
|
|
|
(decode_env_switches): Use variable_expand instead of
|
|
|
|
allocated_variable_expand. Allocate a fresh buffer to copy split
|
|
|
|
words into; scan characters by hand to break words and
|
|
|
|
debackslashify.
|
|
|
|
(shell_quote): New function.
|
|
|
|
(define_makeflags): Allocate doubled space for switch args, and command
|
|
|
|
variable names and values; use shell_quote to quote those things.
|
|
|
|
|
|
|
|
Fri Sep 9 01:37:47 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* Version 3.71.2.
|
|
|
|
|
|
|
|
* acconfig.h: Add HAVE_SYS_SIGLIST and HAVE__SYS_SIGLIST.
|
|
|
|
|
|
|
|
* main.c (decode_switches): The non-option return from getopt is
|
|
|
|
1, not 0.
|
|
|
|
(command_variables): New type and variable.
|
|
|
|
(decode_switches, decode_env_switches): After making a variable
|
|
|
|
definition, record the struct variable pointer in the
|
|
|
|
command_variables chain.
|
|
|
|
(define_makeflags): If ALL, write variable definitions for
|
|
|
|
command_variables.
|
|
|
|
|
|
|
|
* main.c (other_args): Variable removed.
|
|
|
|
(goals, lastgoal): New static variables (moved from auto in main).
|
|
|
|
(main): Don't process OTHER_ARGS at all.
|
|
|
|
Don't set variable MAKEOVERRIDES at all; define MAKE to just
|
|
|
|
$(MAKE_COMMAND).
|
|
|
|
(init_switches): Prepend a - {return in order} instead of a +
|
|
|
|
{require order}.
|
|
|
|
(decode_switches): Don't set OTHER_ARGS at all.
|
|
|
|
Grok '\0' return from getopt_long as non-option argument; try
|
|
|
|
variable definition and (if !ENV) enter goal targets here.
|
|
|
|
(decode_env_switches): Use allocated_variable_expand to store value.
|
|
|
|
Use find_next_token to simplify word-splitting loop. Don't
|
|
|
|
prepend a dash to uninterpreted value. Instead, if split into
|
|
|
|
only one word, try variable definition and failing that prepend a
|
|
|
|
dash to the word and pass it to decode_switches as a single arg.
|
|
|
|
|
|
|
|
Wed Sep 7 03:02:46 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* remake.c (notice_finished_file): Only recheck modtimes if
|
|
|
|
FILE->command_state was cs_running on entry (meaning the commands
|
|
|
|
actually just ran).
|
|
|
|
(update_file_1): Whenever we set FILE->update_status, call
|
|
|
|
notice_finished_file instead of just set_command_state.
|
|
|
|
* job.c (start_job_command): Whenever we set
|
|
|
|
CHILD->file->update_status, call notice_finished_file instead of
|
|
|
|
just set_command_state.
|
|
|
|
|
|
|
|
Tue Sep 6 19:13:54 1994 Roland McGrath <roland@geech.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* default.c: Add missing ".
|
|
|
|
|
|
|
|
* job.c: Changed all assignments of command_state members to calls
|
|
|
|
to set_command_state.
|
|
|
|
* remake.c: Likewise.
|
|
|
|
* file.c (set_command_state): New function.
|
|
|
|
* file.h: Declare set_command_state.
|
|
|
|
|
|
|
|
* main.c (init_switches): Put a + first in options.
|
|
|
|
|
|
|
|
Mon Jul 25 18:07:46 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
Merge MSDOS/GO32 port from DJ Delorie <dj@ctron.com>.
|
|
|
|
* vpath.c: Changed all uses of ':' to PATH_SEPARATOR_CHAR.
|
|
|
|
* main.c (directory_before_chdir): New variable, moved out of main
|
|
|
|
(was local).
|
|
|
|
(main) [__MSDOS__]: Look for \ or : to delimit last component of
|
|
|
|
PROGRAM. Don't frob ARGV[0] before setting MAKE_COMMAND variable.
|
|
|
|
(die): Change back to `directory_before_chdir' before dying.
|
|
|
|
* make.h (PATH_SEPARATOR_CHAR): New macro; differing defns for
|
|
|
|
[__MSDOS__] and not.
|
|
|
|
* job.c [__MSDOS__]: Include <process.h>.
|
|
|
|
[__MSDOS__] (dos_pid, dos_status, dos_bname, dos_bename,
|
|
|
|
dos_batch_file): New variables.
|
|
|
|
(reap_children) [__MSDOS__]: Don't call wait; just examine those vars.
|
|
|
|
(unblock_sigs) [__MSDOS__]: Do nothing.
|
|
|
|
(start_job_command) [__MSDOS__]: Use spawnvpe instead of vfork & exec.
|
|
|
|
(load_too_high) [__MSDOS__]: Always return true.
|
|
|
|
(search_path) [__MSDOS__]: Check for : or / in FILE to punt.
|
|
|
|
Use PATH_SEPARATOR_CHAR instead of ':'.
|
|
|
|
(construct_command_argv_internal) [__MSDOS__]: Wholly different
|
|
|
|
values for sh_chars and sh_cmds. Wholly new code to handle shell
|
|
|
|
scripts.
|
|
|
|
* function.c (expand_function: `shell') [__MSDOS__]: Wholly new
|
|
|
|
implementation.
|
|
|
|
* dir.c [__MSDOS__] (dosify): New function.
|
|
|
|
(dir_contents_file_exists_p) [__MSDOS__]: Call it on FILENAME and
|
|
|
|
process the result instead of FILENAME itself.
|
|
|
|
(file_impossible_p) [__MSDOS__]: Likewise.
|
|
|
|
* default.c [__MSDOS__]: Define GCC_IS_NATIVE.
|
|
|
|
(default_suffix_rules) [__MSDOS__]: Use `y_tab.c' instead of `y.tab.c'.
|
|
|
|
(default_variables) [GCC_IS_NATIVE]: Set CC and CXX to `gcc', YACC to
|
|
|
|
`bison -y', and LEX to `flex'.
|
|
|
|
* configure.bat, configh.dos: New files.
|
|
|
|
* commands.c (fatal_error_signal) [__MSDOS__]: Just remove
|
|
|
|
intermediates and exit.
|
|
|
|
|
|
|
|
* commands.c (set_file_variables): Add parens in length
|
|
|
|
computation in .SUFFIXES dep loop to quiet compiler warning. From
|
|
|
|
Jim Meyering.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Free FILENAME if we allocated it. From
|
|
|
|
Jim Meyering.
|
|
|
|
|
|
|
|
Mon Jul 4 17:47:08 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* misc.c (safe_stat): New function, EINTR-safe wrapper around stat.
|
|
|
|
* vpath.c (selective_vpath_search): Use safe_stat in place of stat.
|
|
|
|
* read.c (construct_include_path): Use safe_stat in place of stat.
|
|
|
|
* job.c (search_path): Use safe_stat in place of stat.
|
|
|
|
* dir.c (find_directory): Use safe_stat in place of stat.
|
|
|
|
* commands.c (delete_target): Use safe_stat in place of stat.
|
|
|
|
* arscan.c (ar_member_touch) [EINTR]: Do EINTR looping around fstat.
|
|
|
|
* remake.c (name_mtime): Use safe_stat in place of stat.
|
|
|
|
(touch_file) [EINTR]: Do EINTR looping around fstat.
|
|
|
|
|
|
|
|
Fri Jun 24 05:40:24 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (read_makefile): Check for a shell command first, and
|
|
|
|
then strip leading tabs before further checking if it's not a
|
|
|
|
shell command line.
|
|
|
|
|
|
|
|
* make.h [__arm]: Undefine POSIX.
|
|
|
|
[!__GNU_LIBRARY__ && !POSIX && !_POSIX_VERSION]: Don't declare system
|
|
|
|
functions that return int.
|
|
|
|
|
|
|
|
* job.c (construct_command_argv_internal): After swallowing a
|
|
|
|
backslash-newline combination, if INSTRING is set goto string_char
|
|
|
|
(new label) for normal INSTRING handling code.
|
|
|
|
|
|
|
|
Sat Jun 4 01:11:20 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* configure.in: Don't check for sys_siglist and _sys_siglist with
|
|
|
|
AC_HAVE_FUNCS. Instead use two AC_COMPILE_CHECKs.
|
|
|
|
|
|
|
|
Mon May 23 18:20:38 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.71.1 released.
|
|
|
|
|
|
|
|
* make.h [!__GNU_LIBRARY__ && !POSIX]: Also test #ifndef
|
|
|
|
_POSIX_VERSION for these declarations.
|
|
|
|
|
|
|
|
* misc.c [GETLOADAVG_PRIVILEGED] [POSIX]: Remove bogus #ifndefs
|
|
|
|
around #undefs of HAVE_SETREUID and HAVE_SETREGID.
|
|
|
|
|
|
|
|
Sat May 21 16:26:38 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.71 released.
|
|
|
|
|
|
|
|
* misc.c [GETLOADAVG_PRIVILEGED] [POSIX]: Don't test [HAVE_SETUID]
|
|
|
|
and [HAVE_SETGID]. Every system has those, and configure doesn't
|
|
|
|
check for them.
|
|
|
|
|
|
|
|
* make.h [_POSIX_VERSION]: Don't #define POSIX #ifdef ultrix.
|
|
|
|
|
|
|
|
* compatMakefile (loadavg): Depend on and use loadavg.c instead of
|
|
|
|
getloadavg.c.
|
|
|
|
(loadavg.c): Link or copy it from getloadavg.c.
|
|
|
|
(distclean): Remove loadavg.c.
|
|
|
|
|
|
|
|
Mon May 16 22:59:04 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.70.4.
|
|
|
|
|
|
|
|
* misc.c [GETLOADAVG_PRIVILEGED] [! POSIX]: Undefine HAVE_SETEUID
|
|
|
|
and HAVE_SETEGID.
|
|
|
|
|
|
|
|
* default.c (default_terminal_rules): In SCCS rules, put
|
|
|
|
$(SCCS_OUTPUT_OPTION) before $<. On some systems -G is grokked
|
|
|
|
only before the file name.
|
|
|
|
* configure.in (SCCS_GET_MINUS_G check): Put -G flag before file name.
|
|
|
|
|
|
|
|
Tue May 10 16:27:38 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (construct_command_argv_internal): Swallow
|
|
|
|
backslash-newline combinations inside '' strings too.
|
|
|
|
|
|
|
|
Thu May 5 04:15:10 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (do_define): Call collapse_continuations on each line
|
|
|
|
before all else.
|
|
|
|
|
|
|
|
Mon Apr 25 19:32:02 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (construct_command_argv_internal): Notice newline inside
|
|
|
|
'' string when RESTP is non-null.
|
|
|
|
|
|
|
|
Fri Apr 22 17:33:30 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.70.3.
|
|
|
|
|
|
|
|
* remake.c (update_goal_chain): Reset FILE to G->file after the
|
|
|
|
double-colon loop so it is never null for following code.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Fix `override define' parsing to skip
|
|
|
|
whitespace after `define' properly.
|
|
|
|
|
|
|
|
* compatMakefile (srcdir): Define as @srcdir@; don't reference
|
|
|
|
$(VPATH).
|
|
|
|
(glob/Makefile): New target.
|
|
|
|
|
|
|
|
Thu Apr 21 16:16:55 1994 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.70.2.
|
|
|
|
|
|
|
|
* misc.c (remove_comments): Use find_char_unquote.
|
|
|
|
* make.h (find_char_unquote): Declare it.
|
|
|
|
* read.c (find_char_unquote): New function, generalized from
|
|
|
|
find_percent.
|
|
|
|
(find_percent, find_semicolon, parse_file_seq): Use that.
|
|
|
|
|
|
|
|
Wed Apr 20 18:42:39 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* implicit.c (pattern_search): Always allocate new storage for
|
|
|
|
FILE->stem. It is not safe to store STEM's address because it
|
|
|
|
might be auto storage.
|
|
|
|
|
|
|
|
* configure.in: Check for seteuid and setegid.
|
|
|
|
* misc.c [HAVE_SETEUID]: Declare seteuid.
|
|
|
|
[HAVE_SETEGID]: Declare setegid.
|
|
|
|
(make_access, user_access) [HAVE_SETEUID]: Use seteuid.
|
|
|
|
[HAVE_SETEGID]: Use setegid.
|
|
|
|
|
|
|
|
* remake.c (update_goal_chain): Set STATUS to FILE->update_status,
|
|
|
|
to preserve whether it's 2 for error or 1 for -q trigger. When
|
|
|
|
STATUS gets nonzero and -q is set, always stop immediately.
|
|
|
|
* main.c (main, decode_switches): Die with 2 for errors.
|
|
|
|
(main): Accept 2 return from update_goal_chain and die with that.
|
|
|
|
* misc.c (fatal, makefile_fatal): Die with 2; 1 is reserved for -q
|
|
|
|
answer.
|
|
|
|
* job.c (reap_children): Die with 2 for error.
|
|
|
|
(start_job_command): Set update_status to 2 for error. Set it to
|
|
|
|
1 when we would run a command and question_flag is set.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Don't mark makefiles as precious. Just
|
|
|
|
like other targets, they can be left inconsistent and in need of
|
|
|
|
remaking by aborted commands.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Write no error msg for -include file.
|
|
|
|
|
|
|
|
Tue Apr 5 05:22:19 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* commands.c (fatal_error_signal): Don't unblock signals.
|
|
|
|
|
|
|
|
* file.h (struct file): Change member `double_colon' from flag to
|
|
|
|
`struct file *'.
|
|
|
|
* read.c (record_files): Set double_colon pointer instead of flag.
|
|
|
|
* main.c (main): When disqualifying makefiles for updating, use
|
|
|
|
double_colon pointer to find all entries for a file.
|
|
|
|
* file.c (enter_file): If there is already a double-colon entry
|
|
|
|
for the file, set NEW->double_colon to that pointer.
|
|
|
|
(file_hash_enter): Use FILE->double_colon to find all entries to
|
|
|
|
set name.
|
|
|
|
* remake.c (update_goal_chain): Do inner loop on double-colon entries.
|
|
|
|
(update_file): Use FILE->double_colon pointer to find all entries.
|
|
|
|
(f_mtime): Likewise.
|
|
|
|
(notice_finished_file): Propagate mtime change to all entries.
|
|
|
|
|
|
|
|
* variable.c (try_variable_definition): Return after abort.
|
|
|
|
|
|
|
|
Fri Apr 1 18:44:15 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (read_makefile): Remove unused variable.
|
|
|
|
(parse_file_seq): When removing an elt that is just `)', properly
|
|
|
|
fix up the previous elt's next pointer.
|
|
|
|
|
|
|
|
Mon Mar 28 18:31:49 1994 Roland McGrath (roland@mole.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* configure.in: Do AC_SET_MAKE.
|
|
|
|
* GNUmakefile (Makefile.in): Edit MAKE assignment into @SET_MAKE@.
|
|
|
|
|
|
|
|
Fri Mar 4 00:02:32 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* function.c (subst_expand): If BY_WORD or SUFFIX_ONLY is set and
|
|
|
|
the search string is the empty string, find a match at the end of
|
|
|
|
each word (using end_of_token in place of sindex).
|
|
|
|
|
|
|
|
* misc.c (end_of_token): Don't treat backslashes specially; you
|
|
|
|
can no longer escape blanks with backslashes in export, unexport,
|
|
|
|
and vpath. This was never documented anyway.
|
|
|
|
|
|
|
|
Thu Mar 3 23:53:46 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (read_makefile): Variable name for `define' is not just
|
|
|
|
first token; use whole rest of line and strip trailing blanks.
|
|
|
|
|
|
|
|
Wed Feb 16 16:03:45 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.70.1.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Add -d msg stating args.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Use isspace to skip over leading
|
|
|
|
whitespace, and explicitly avoid skipping over tabs. Don't want
|
|
|
|
to skip just spaces though; formfeeds et al should be skipped.
|
|
|
|
|
|
|
|
* default.c (default_variables) [__hpux]: Add f in ARFLAGS.
|
|
|
|
|
|
|
|
* arscan.c (ar_name_equal) [__hpux]: Subtract 2 instead of 1 from
|
|
|
|
sizeof ar_name for max length to compare.
|
|
|
|
|
|
|
|
* misc.c [GETLOADAVG_PRIVILEGED] [POSIX]: Undefine HAVE_SETREUID
|
|
|
|
#ifdef HAVE_SETUID; likewise HAVE_SETREGID and HAVE_SETGID.
|
|
|
|
|
|
|
|
* main.c (main): Call user_access after setting `program', in case
|
|
|
|
it needs to use it in an error message.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Ignore an empty line starting with a tab.
|
|
|
|
|
|
|
|
Thu Feb 10 21:45:31 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* configure.in (AC_SYS_SIGLIST_DECLARED): Use this instead of
|
|
|
|
AC_COMPILE_CHECK that is now its contents.
|
|
|
|
|
|
|
|
Fri Feb 4 16:28:54 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h: #undef strerror after #include <string.h>.
|
|
|
|
[! ANSI_STRING]: Declare strerror.
|
|
|
|
|
|
|
|
Thu Feb 3 02:21:22 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* misc.c (strerror): #undef any macro before function definition.
|
|
|
|
|
|
|
|
Mon Jan 31 19:07:23 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* variable.c (try_variable_definition): Calculate BEG before loop
|
|
|
|
to strip blanks by decrementing END. Don't decr END to before BEG.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Skip over leading space characters, but
|
|
|
|
not tabs, after removing continuations and comments (it used to
|
|
|
|
use isspace).
|
|
|
|
|
|
|
|
Tue Jan 25 16:45:05 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* variable.c (define_automatic_variables): In $(@D) et al, use
|
|
|
|
patsubst to remove trailing slash.
|
|
|
|
|
|
|
|
* commands.c (delete_target): New function, broken out of
|
|
|
|
delete_child_targets. Check for archive members and give special msg.
|
|
|
|
(delete_child_targets): Use delete_target.
|
|
|
|
|
|
|
|
Mon Jan 17 17:03:22 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* default.c (default_suffix_rules): Use $(TEXI2DVI_FLAGS) in
|
|
|
|
texi2dvi rules. Use $(MAKEINFO_FLAGS) in makeinfo rules.
|
|
|
|
|
|
|
|
Tue Jan 11 19:29:55 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* GNUmakefile (tarfiles): Omit make-doc.
|
|
|
|
(make-$(version).tar): Include make.info*.
|
|
|
|
|
|
|
|
Fri Jan 7 16:27:00 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile (configure, config.h.in): Comment out rules.
|
|
|
|
|
|
|
|
Thu Jan 6 18:08:08 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile (binprefix, manprefix): New variables.
|
|
|
|
(instname): Variable removed.
|
|
|
|
(install): Use $({bin,man}prefix)make in place of $(instname).
|
|
|
|
File targets likewised renamed.
|
|
|
|
|
|
|
|
Mon Jan 3 17:50:25 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.70 released.
|
|
|
|
|
|
|
|
Thu Dec 23 14:46:54 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.69.3.
|
|
|
|
|
|
|
|
* read.c (parse_file_seq): Inside multi-word archive ref
|
|
|
|
translation loop, check NEW1==0 at end and break out of the loop.
|
|
|
|
|
|
|
|
* GNUmakefile (make-$(version).tar): Distribute install.sh.
|
|
|
|
* install.sh: New file.
|
|
|
|
|
|
|
|
* configure.in (SCCS_GET_MINUS_G check): Put redirection for admin
|
|
|
|
cmds outside subshell parens, to avoid "command not found" msgs
|
|
|
|
from the shell.
|
|
|
|
|
|
|
|
Wed Dec 22 17:00:43 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* configure.in (SCCS_GET_MINUS_G check): Put -G flag last in get cmd.
|
|
|
|
Redirect output & error from get to /dev/null.
|
|
|
|
Fix reversed sense of test.
|
|
|
|
|
|
|
|
Fri Dec 17 15:31:36 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* configure.in (SCCS_GET_MINUS_G check): Use parens instead of
|
|
|
|
braces inside if condition command; some shells lose.
|
|
|
|
|
|
|
|
Thu Dec 16 15:10:23 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.69.2.
|
|
|
|
|
|
|
|
* arscan.c [M_UNIX]: Move #undef M_XENIX for PORTAR stuff.
|
|
|
|
(PORTAR) [M_XENIX]: Define to 0 instead of 1.
|
|
|
|
|
|
|
|
* main.c (define_makeflags): Only export MAKEFLAGS if !ALL.
|
|
|
|
|
|
|
|
Wed Dec 15 17:47:48 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (main): Cast result of pointer arith to unsigned int
|
|
|
|
before passing to define_variable for envars. Matters when
|
|
|
|
sizeof(unsigned)!=sizeof(ptrdiff_t).
|
|
|
|
|
|
|
|
Tue Dec 14 14:21:16 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* configure.in: Add new check for SCCS_GET_MINUS_G.
|
|
|
|
* config.h.in: Add #undef SCCS_GET_MINUS_G.
|
|
|
|
* default.c (default_terminal_rules): Use `$(SCCS_OUTPUT_OPTION)' in
|
|
|
|
place of `-G $@' in SCCS commands.
|
|
|
|
(default_variables) [SCCS_GET_MINUS_G]: Define SCCS_OUTPUT_OPTION
|
|
|
|
to "-G$@".
|
|
|
|
|
|
|
|
* configure.in (AC_OUTPUT): Put touch stamp-config in second arg
|
|
|
|
(so it goes in config.status), rather than afterward.
|
|
|
|
|
|
|
|
* ar.c (ar_member_date): Don't call enter_file on the archive file
|
|
|
|
if it doesn't exist (by file_exists_p).
|
|
|
|
|
|
|
|
* compatMakefile ($(infodir)/make.info): Replace `$$d/foo.info'
|
|
|
|
with `$$dir/make.info' in install-info invocation (oops).
|
|
|
|
|
|
|
|
* vpath.c (construct_vpath_list): Only set LASTPATH set PATH when
|
|
|
|
we do not unlink and free PATH.
|
|
|
|
|
|
|
|
* file.c (print_file_data_base): Fix inverted calculation for
|
|
|
|
average files per hash bucket.
|
|
|
|
|
|
|
|
* read.c (readline): When we see a NUL, give only a warning and
|
|
|
|
synthesize a newline to terminate the building line (used to
|
|
|
|
fatal). Move fgets call into the loop condition, and after the
|
|
|
|
loop test ferror (used to test !feof in the loop).
|
|
|
|
|
|
|
|
Fri Dec 3 16:40:31 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* configure.in: Check for strerror in AC_HAVE_FUNCS.
|
|
|
|
|
|
|
|
Thu Dec 2 15:37:50 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
Differentiate different flavors of missing makefile error msgs,
|
|
|
|
removing gratuitous `fopen: ' and giving caller for included makefiles.
|
|
|
|
* misc.c [! HAVE_STRERROR]: Define our own strerror here.
|
|
|
|
(perror_with_name, pfatal_with_name): Use strerror instead of
|
|
|
|
replicating its functionality.
|
|
|
|
* read.c (read_makefile): Return int instead of void.
|
|
|
|
(read_all_makefiles, read_makefile): Change callers to notice zero
|
|
|
|
return and give error msg.
|
|
|
|
|
|
|
|
Thu Nov 11 11:47:36 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.69.1.
|
|
|
|
|
|
|
|
* default.c: Put `-G $@' before $< in SCCS cmds.
|
|
|
|
|
|
|
|
Wed Nov 10 06:06:14 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (read_makefile): After trying a variable defn, notice if
|
|
|
|
the line begins with a tab, and diagnose an error.
|
|
|
|
|
|
|
|
Sun Nov 7 08:07:37 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.69.
|
|
|
|
|
|
|
|
Wed Nov 3 06:54:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.68.10.
|
|
|
|
|
|
|
|
* implicit.c (try_implicit_rule): Look for a normal rule before an
|
|
|
|
archive rule.
|
|
|
|
|
|
|
|
Fri Oct 29 16:45:28 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* function.c (expand_function: `sort'): Double NWORDS when it
|
|
|
|
overflows, instead of adding five.
|
|
|
|
|
|
|
|
* compatMakefile (clean): Remove loadavg.
|
|
|
|
|
|
|
|
Wed Oct 27 17:58:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.68.9.
|
|
|
|
|
|
|
|
* file.h (NEW_MTIME): Define new macro.
|
|
|
|
* main.c (main): Set time of NEW_FILES to NEW_MTIME, not to
|
|
|
|
current time returned from system. Removed variable NOW.
|
|
|
|
* remake.c (notice_finished_file): Use NEW_MTIME in place of
|
|
|
|
current time here too.
|
|
|
|
|
|
|
|
Tue Oct 26 19:45:35 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.68.8.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Don't clear MUST_MAKE when FILE has no
|
|
|
|
cmds and !DEPS_CHANGED unless also !NOEXIST.
|
|
|
|
|
|
|
|
Mon Oct 25 15:25:21 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (parse_file_seq): When converting multi-word archive
|
|
|
|
refs, ignore a word beginning with a '('.
|
|
|
|
|
|
|
|
Fri Oct 22 02:53:38 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* configure.in: Check for sys/timeb.h.
|
|
|
|
* make.h [HAVE_SYS_TIMEB_H]: Test this before including it.
|
|
|
|
|
|
|
|
Thu Oct 21 16:48:17 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.68.7.
|
|
|
|
|
|
|
|
* rule.c (convert_suffix_rule): New local TARGPERCENT. Set it to
|
|
|
|
TARGNAME+1 for "(%.o)", to TARGNAME for "%.?". Use it in place of
|
|
|
|
TARGNAME to initialize PERCENTS[0].
|
|
|
|
|
|
|
|
Mon Oct 18 06:49:35 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* configure.in: Use AC_HAVE_HEADERS(unistd.h) instead of AC_UNISTD_H.
|
|
|
|
Remove AC_USG; it is no longer used.
|
|
|
|
|
|
|
|
* file.c (print_file): New function, broken out of
|
|
|
|
print_file_data_base.
|
|
|
|
(print_file_data_base): Call it.
|
|
|
|
* rule.c (print_rule): New function, broken out of
|
|
|
|
print_rule_data_base.
|
|
|
|
(print_rule_data_base): Call it.
|
|
|
|
|
|
|
|
Thu Oct 14 14:54:03 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* default.c (install_default_suffix_rules): New function, broken
|
|
|
|
out of install_default_implicit_rules.
|
|
|
|
(install_default_implicit_rules): Move suffix rule code there.
|
|
|
|
* make.h: Declare install_default_suffix_rules.
|
|
|
|
* main.c (main): Call install_default_suffix_rules before reading
|
|
|
|
makefiles. Move convert_to_pattern call before
|
|
|
|
install_default_implicit_rules.
|
|
|
|
|
|
|
|
* job.h (struct child): Make `pid' member type `pid_t' instead of
|
|
|
|
`int'.
|
|
|
|
|
|
|
|
* compatMakefile (RANLIB): New variable, set by configure.
|
|
|
|
(glob/libglob.a): Pass RANLIB value down to submake.
|
|
|
|
|
|
|
|
Fixes for SCO 3.2 "devsys 4.2" from pss@tfn.com (Peter Salvitti).
|
|
|
|
* make.h: Include <sys/timeb.h> before <time.h> for SCO lossage.
|
|
|
|
* job.c [! getdtablesize] [! HAVE_GETDTABLESIZE]: If NOFILE is not
|
|
|
|
defined but NOFILES_MAX is, define it to be that.
|
|
|
|
|
|
|
|
Mon Oct 11 19:47:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* GNUmakefile (make-$(version).tar): Depend on acconfig.h, so it
|
|
|
|
is distributed.
|
|
|
|
|
|
|
|
Sun Oct 3 15:15:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* default.c (default_terminal_rules): Add `-G $@' to SCCS get cmds.
|
|
|
|
|
|
|
|
Tue Sep 28 14:18:20 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (construct_command_argv_internal): Add ^ to SH_CHARS; it
|
|
|
|
is another symbol for | in some shells.
|
|
|
|
* main.c (main): Add it to CMD_DEFS quoting list as well.
|
|
|
|
|
|
|
|
Mon Sep 20 18:05:24 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (construct_command_argv_internal): Remove '=' from
|
|
|
|
SH_CHARS. Only punt on '=' if it is unquoted in a word before the
|
|
|
|
first word without an unquoted '='.
|
|
|
|
|
|
|
|
* main.c (define_makeflags): Set v_export for MAKEFLAGS.
|
|
|
|
|
|
|
|
Fri Sep 17 00:37:18 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Use .DEFAULT cmds for phony targets.
|
|
|
|
|
|
|
|
* make.h [_AIX && _POSIX_SOURCE]: Define POSIX.
|
|
|
|
|
|
|
|
* commands.c (delete_child_targets): Don't delete phony files.
|
|
|
|
|
|
|
|
* job.c (start_job_command): Set COMMANDS_RECURSE in FLAGS if we
|
|
|
|
see a `+' at the beginning of the command line.
|
|
|
|
|
|
|
|
Thu Sep 9 17:57:14 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.68.6.
|
|
|
|
|
|
|
|
Wed Sep 8 20:14:21 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (define_makeflags): Define MAKEFLAGS with o_file, not o_env.
|
|
|
|
|
|
|
|
Mon Aug 30 12:31:58 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* expand.c (variable_expand): Fatal on an unterminated reference.
|
|
|
|
|
|
|
|
Thu Aug 19 16:27:53 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.68.5.
|
|
|
|
|
|
|
|
* variable.c (define_automatic_variables): Define new o_default
|
|
|
|
variable `MAKE_VERSION' from version_string and remote_description.
|
|
|
|
|
|
|
|
* make.h (version_string, remote_description): Declare these here.
|
|
|
|
* main.c: Don't declare version_string.
|
|
|
|
(print_version): Don't declare remote_description.
|
|
|
|
|
|
|
|
Wed Aug 18 15:01:24 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (read_makefile): Free space pointed to by CONDITIONALS
|
|
|
|
before restoring the old pointer.
|
|
|
|
|
|
|
|
Mon Aug 16 17:33:36 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile ($(objs)): Depend on config.h.
|
|
|
|
|
|
|
|
* GNUmakefile (build.sh.in): Depend on compatMakefile.
|
|
|
|
|
|
|
|
* configure.in: Touch stamp-config after AC_OUTPUT.
|
|
|
|
|
|
|
|
Fri Aug 13 16:04:22 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.68.4.
|
|
|
|
|
|
|
|
Thu Aug 12 17:18:57 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h: Include <config.h> instead of "config.h".
|
|
|
|
|
|
|
|
Wed Aug 11 02:35:25 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (main): Make all variables interned from ENVP be v_export.
|
|
|
|
* variable.c (try_variable_definition): In v_default case, don't
|
|
|
|
check for an o_file variable that `getenv' finds.
|
|
|
|
|
|
|
|
* job.c (reap_children): New local variable ANY_LOCAL; set it
|
|
|
|
while setting ANY_REMOTE. If !ANY_LOCAL, don't wait for local kids.
|
|
|
|
|
|
|
|
* main.c (main): Don't call decode_env_switches on MFLAGS. DOC THIS.
|
|
|
|
|
|
|
|
* function.c (expand_function): #if 0 out freeing of ENVP since it
|
|
|
|
is environ.
|
|
|
|
|
|
|
|
Mon Aug 9 17:37:20 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.68.3.
|
|
|
|
|
|
|
|
* remote-stub.c (remote_status): Set errno to ECHILD before return.
|
|
|
|
* job.c (reap_children): Scan the chain for remote children and
|
|
|
|
never call remote_status if there are none.
|
|
|
|
|
|
|
|
* function.c (expand_function: `shell'): #if 0 out calling
|
|
|
|
target_environment; just set ENVP to environ instead.
|
|
|
|
|
|
|
|
* job.c (reap_children): Check for negative return from
|
|
|
|
remote_status and fatal for it.
|
|
|
|
When blocking local child wait returns 0, then try a blocking call
|
|
|
|
to remote_status.
|
|
|
|
|
|
|
|
Tue Aug 3 00:19:00 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile (clean): Delete make.info* and make.dvi here.
|
|
|
|
(distclean): Not here.
|
|
|
|
|
|
|
|
* dep.h (RM_*): Use #defines instead of enum to avoid lossage from
|
|
|
|
compilers that don't like enum values used as ints.
|
|
|
|
|
|
|
|
Mon Aug 2 16:46:34 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile (loadavg): Add $(LOADLIBES).
|
|
|
|
|
|
|
|
Sun Aug 1 16:01:15 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.68.2.
|
|
|
|
|
|
|
|
* compatMakefile (loadavg, check-loadavg): New targets.
|
|
|
|
(check): Depend on check-loadavg.
|
|
|
|
|
|
|
|
* compatMakefile (glob/libglob.a): Depend on config.h.
|
|
|
|
|
|
|
|
* misc.c (log_access): Write to stderr instead of stdout.
|
|
|
|
|
|
|
|
Fri Jul 30 00:07:02 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.68.1.
|
|
|
|
|
|
|
|
Thu Jul 29 23:26:40 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* configure.in (SYS_SIGLIST_DECLARED): In test program include
|
|
|
|
<unistd.h> #ifdef HAVE_UNISTD_H.
|
|
|
|
|
|
|
|
* compatMakefile (.PHONY): Put after `all' et al.
|
|
|
|
|
|
|
|
* configure.in: Add AC_IRIX_SUN.
|
|
|
|
|
|
|
|
Wed Jul 28 17:41:12 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.68.
|
|
|
|
|
|
|
|
Mon Jul 26 14:36:49 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.67.8.
|
|
|
|
|
|
|
|
Sun Jul 25 22:09:08 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.67.7.
|
|
|
|
|
|
|
|
* compatMakefile ($(infodir)/make.info): Don't use $(instname).
|
|
|
|
Run install-info script if present.
|
|
|
|
|
|
|
|
Fri Jul 23 16:03:50 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h [STAT_MACROS_BROKEN]: Test this instead of [uts].
|
|
|
|
|
|
|
|
* configure.in: Add AC_STAT_MACROS_BROKEN.
|
|
|
|
|
|
|
|
Wed Jul 14 18:48:11 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.67.6.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Recognize directive `-include', like
|
|
|
|
`include' but sets RM_DONTCARE flag.
|
|
|
|
|
|
|
|
* variable.c (target_environment): If FILE is nil, use
|
|
|
|
current_variable_set_list in place of FILE->variables.
|
|
|
|
* function.c (expand_function: `shell'): Get an environment for
|
|
|
|
the child from target_environment instead of using environ.
|
|
|
|
|
|
|
|
* dep.h: Declare read_all_makefiles here.
|
|
|
|
(RM_*): Define new enum constants.
|
|
|
|
* read.c (read_makefile): Second arg is FLAGS instead of TYPE.
|
|
|
|
Treat it as a bit mask containing RM_*.
|
|
|
|
(read_all_makefiles): For default makefiles, set D->changed to
|
|
|
|
RM_DONTCARE instead of 1.
|
|
|
|
* main.c: Don't declare read_all_makefiles here.
|
|
|
|
(main): Check `changed' member of read_makefiles elts for RM_*
|
|
|
|
flags instead of specific integer values.
|
|
|
|
|
|
|
|
Mon Jul 12 22:42:17 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h [sequent && i386]: #undef POSIX. From trost@cse.ogi.edu.
|
|
|
|
|
|
|
|
Thu Jul 8 19:51:23 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* vpath.c (construct_vpath_list): If ELEM is zero 0, free PATTERN
|
|
|
|
as well as VPATH.
|
|
|
|
(build_vpath_lists): Empty `vpaths' around construct_vpath_list
|
|
|
|
call for $(VPATH). Expand $(strip $(VPATH)), not just $(VPATH).
|
|
|
|
|
|
|
|
* rule.c (convert_suffix_rule): Use alloca instead of xmalloc for
|
|
|
|
PERCENTS, whose storage is not consumed by create_pattern_rule.
|
|
|
|
|
|
|
|
* make.h [__mips && _SYSTYPE_SVR3]: #undef POSIX.
|
|
|
|
|
|
|
|
Wed Jun 30 18:11:40 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.67.5.
|
|
|
|
|
|
|
|
* rule.c (max_pattern_targets): New variable.
|
|
|
|
(count_implicit_rule_limits): Compute its value.
|
|
|
|
* rule.h: Declare it.
|
|
|
|
* implicit.c (pattern_search): Make TRYRULES max_target_patterns
|
|
|
|
times bigger. Move adding new TRYRULES elt inside the inner
|
|
|
|
targets loop, so each matching target gets its own elt in MATCHES
|
|
|
|
and CHECKED_LASTSLASH.
|
|
|
|
|
|
|
|
* file.c (remove_intermediates): If SIG!=0 say `intermediate file'
|
|
|
|
instead of just `file' in error msg.
|
|
|
|
|
|
|
|
Fri Jun 25 14:55:15 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (construct_command_argv): Turn off
|
|
|
|
--warn-undefined-variables around expansion of SHELL and IFS.
|
|
|
|
* read.c (tilde_expand): Likewise for HOME.
|
|
|
|
(read_all_makefiles): Likewise for MAKEFILES.
|
|
|
|
* vpath.c (build_vpath_lists): Likewise for VPATH.
|
|
|
|
|
|
|
|
* main.c (warn_undefined_variables_flag): New flag variable.
|
|
|
|
(switches): Add --warn-undefined-variables.
|
|
|
|
* make.h (warn_undefined_variables_flag): Declare it.
|
|
|
|
* expand.c (warn_undefined): New function.
|
|
|
|
(reference_variable): Call it if the variable is undefined.
|
|
|
|
(variable_expand): In substitution ref, call warn_undefined if the
|
|
|
|
variable is undefined.
|
|
|
|
|
|
|
|
* default.c (default_pattern_rules): Add `%.c: %.w %.ch' and
|
|
|
|
`%.tex: %.w %.ch' rules.
|
|
|
|
(default_suffix_rules: .w.c, .w.tex): Pass three args: $< - $@.
|
|
|
|
(default_suffixes): Add `.ch'.
|
|
|
|
|
|
|
|
Mon Jun 21 17:55:39 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* default.c (default_suffixes): Replace `.cweb' with `.w'.
|
|
|
|
(default_suffix_rules): Rename `.cweb.c' and `.cweb.tex' to `.w.c'
|
|
|
|
and `.w.tex'.
|
|
|
|
|
|
|
|
Fri Jun 11 14:42:09 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile ($(bindir)/$(instname)): Add missing backslash.
|
|
|
|
|
|
|
|
Thu Jun 10 18:14:08 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.67.4.
|
|
|
|
|
|
|
|
* read.c (multi_glob): Don't free OLD and OLD->name in the
|
|
|
|
FOUND!=0 fork. Use new block-local variable F instead of
|
|
|
|
clobbering OLD.
|
|
|
|
|
|
|
|
* ar.c (glob_pattern_p): New function, snarfed from glob/glob.c.
|
|
|
|
(ar_glob): Call it; return nil immediately if MEMBER_PATTERN
|
|
|
|
contains no metacharacters.
|
|
|
|
|
|
|
|
Wed Jun 9 16:25:35 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* ar.c (ar_glob{_match,_alphacompare}): New function.
|
|
|
|
|
|
|
|
* dep.h [! NO_ARCHIVES]: Declare it.
|
|
|
|
* read.c (multi_glob) [! NO_ARCHIVES]: Use it on archive member elts.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Pass flag (1) to parse_file_seq, not to
|
|
|
|
multi_glob (which doesn't take a 3rd arg).
|
|
|
|
* rule.c (install_pattern_rule): Likewise.
|
|
|
|
* default.c (set_default_suffixes): Here too.
|
|
|
|
* function.c (string_glob): Don't pass gratuitous arg to multi_glob.
|
|
|
|
|
|
|
|
* read.c (parse_file_seq) [! NO_ARCHIVES]: Add post-processing
|
|
|
|
loop to translate archive refs "lib(a b)" into "lib(a) lib(b)".
|
|
|
|
|
|
|
|
Mon Jun 7 19:26:51 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile (installdirs): Actually pass directory names.
|
|
|
|
($(bindir)/$(instname)): Test chgrp&&chmod exit status with `if';
|
|
|
|
if it fails, echo a warning msg, but don't make the rule fail.
|
|
|
|
|
|
|
|
* read.c (tilde_expand): New function, broken out of tilde_expand.
|
|
|
|
(multi_glob): Call it.
|
|
|
|
(construct_include_path): Expand ~ in directory names.
|
|
|
|
* dep.h: Declare tilde_expand.
|
|
|
|
* main.c (enter_command_line_file): Expand ~ at the start of NAME.
|
|
|
|
(main): Expand ~ in -C args.
|
|
|
|
* read.c (read_makefile): Expand ~ in FILENAME unless TYPE==2.
|
|
|
|
|
|
|
|
Fri Jun 4 13:34:47 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (decode_env_switches): Use xmalloc instead of alloca for ARGS.
|
|
|
|
|
|
|
|
* main.c (main): Put result of alloca in temporary variable with
|
|
|
|
simple assignment, to make SGI compiler happy.
|
|
|
|
|
|
|
|
Thu Jun 3 20:15:46 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.67.3.
|
|
|
|
|
|
|
|
* main.c (main): Before re-execing, remove intermediate files, and
|
|
|
|
print the data base under -p. Sexier debugging message.
|
|
|
|
|
|
|
|
* implicit.c (pattern_search): Allocate an extra copy of the name
|
|
|
|
of a winning intermediate file when putting it in FOUND_FILES.
|
|
|
|
|
|
|
|
Wed Jun 2 16:38:08 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (read_makefile): Pass flag (1) to parse_file_seq, not to
|
|
|
|
multi_glob (which doesn't take a 3rd arg).
|
|
|
|
|
|
|
|
* dir.c (dir_contents_file_exists_p): When reading dirents, ignore
|
|
|
|
chars within D_NAMLEN that are NULs.
|
|
|
|
|
|
|
|
* main.c (decode_switches): Don't savestring ARGV[0] to put it
|
|
|
|
into `other_args'.
|
|
|
|
For string switch, don't savestring `optarg'.
|
|
|
|
(main): Don't free elts of makefiles->list that are "-".
|
|
|
|
Use alloca'd rather than savestring'd storage for elts of
|
|
|
|
makefiles->list that are temporary file names.
|
|
|
|
* read.c (read_all_makefiles): Don't free *MAKEFILES.
|
|
|
|
* file.c (enter_file): Don't strip `./'s.
|
|
|
|
* main.c (enter_command_line_file): New function.
|
|
|
|
(main): Use it in place of enter_file for command-line goals from
|
|
|
|
other_files, and for old_files and new_files.
|
|
|
|
|
|
|
|
Mon May 31 18:41:40 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.67.2.
|
|
|
|
|
|
|
|
* compatMakefile (.SUFFIXES): Add .info.
|
|
|
|
($(infodir)/$(instname).info): Find make.info* in cwd if there,
|
|
|
|
else in $srcdir. Use basename to remove dir name from installed name.
|
|
|
|
|
|
|
|
Thu May 27 17:35:02 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* implicit.c (pattern_search): When interning FOUND_FILES, try
|
|
|
|
lookup_file first; if found, free the storage for our copy of the name.
|
|
|
|
|
|
|
|
Wed May 26 14:31:20 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.67.1.
|
|
|
|
|
|
|
|
* main.c (decode_switches): In usage msg, write `--switch=ARG' or
|
|
|
|
`--switch[=OPTARG]' rather than `--switch ARG' or `--switch [ARG]'.
|
|
|
|
|
|
|
|
Mon May 24 16:17:31 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* rule.c (convert_suffix_rule): New function.
|
|
|
|
(convert_to_pattern): Use it instead of doing all the work here
|
|
|
|
several times.
|
|
|
|
For target suffix `.a', generate both the archive magic rule and
|
|
|
|
the normal rule.
|
|
|
|
|
|
|
|
* compatMakefile (distclean): Remove stamp-config.
|
|
|
|
|
|
|
|
Sat May 22 16:15:18 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.67.
|
|
|
|
|
|
|
|
* file.c (remove_intermediates): Don't write extra space after `rm'.
|
|
|
|
|
|
|
|
* main.c (struct command_switch.type): Remove `usage_and_exit'.
|
|
|
|
(print_usage_flag): New variable.
|
|
|
|
(switches: --help): Make type `flag', to set print_usage_flag.
|
|
|
|
(init_switches): Remove `usage_and_exit' case.
|
|
|
|
(decode_switches): Likewise.
|
|
|
|
(decode_switches): Print usage if print_usage_flag is set.
|
|
|
|
When printing usage, die with status of BAD.
|
|
|
|
(main): Die with 0 if print_version_flag.
|
|
|
|
|
|
|
|
Fri May 21 16:09:28 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.66.
|
|
|
|
|
|
|
|
Wed May 19 21:30:44 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile (installdirs): New target.
|
|
|
|
(install): Depend on it.
|
|
|
|
|
|
|
|
Sun May 16 20:15:07 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.65.2.
|
|
|
|
|
|
|
|
Fri May 14 16:40:09 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* vpath.c (construct_vpath_list): In removal loop for DIRPATH==0,
|
|
|
|
set LASTPATH to PATH, not NEXT.
|
|
|
|
|
|
|
|
* dir.c (read_dirstream): Break out of loop after incrementing
|
|
|
|
DS->buckets such that it reaches DIRFILE_BUCKETS; avoid trying to
|
|
|
|
dereference DS->contents->files[DIRFILE_BUCKETS].
|
|
|
|
|
|
|
|
* read.c (read_makefile): Clear no_targets after reading a
|
|
|
|
targetful rule line.
|
|
|
|
|
|
|
|
* main.c (main): If print_version_flag is set, exit after printing
|
|
|
|
the version.
|
|
|
|
(switches): Change --version docstring to say it exits.
|
|
|
|
|
|
|
|
* make.h [butterfly]: #undef POSIX.
|
|
|
|
|
|
|
|
Wed May 12 15:20:21 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.65.1.
|
|
|
|
|
|
|
|
* arscan.c (ar_scan) [! AIAMAG]: Don't declare LONG_NAME.
|
|
|
|
[AIAMAG]: Pass TRUNCATE flag arg to (*FUNCTION), always zero.
|
|
|
|
|
|
|
|
* function.c (handle_function): Use fatal instead of
|
|
|
|
makefile_fatal when reading_filename is nil.
|
|
|
|
|
|
|
|
* configure.in: Add AC_GETGROUPS_T.
|
|
|
|
* job.c (search_path): Use GETGROUPS_T in place of gid_t.
|
|
|
|
|
|
|
|
Sun May 9 15:41:25 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.65.
|
|
|
|
|
|
|
|
Fri May 7 18:34:56 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* function.c (handle_function): Fatal for unmatched paren.
|
|
|
|
|
|
|
|
Thu May 6 16:13:41 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.64.3.
|
|
|
|
|
|
|
|
* commands.c (handling_fatal_signal): New variable.
|
|
|
|
(fatal_error_signal): Set it.
|
|
|
|
* job.c (reap_children): Avoid nonreentrant operations if that is set.
|
|
|
|
* make.h: Declare handling_fatal_signal.
|
|
|
|
|
|
|
|
* expand.c (reference_variable): New function, snippet of code
|
|
|
|
broken out of simple-reference case of variable_expand.
|
|
|
|
(variable_expand): Use it for simple refs.
|
|
|
|
(variable_expand): When checking for a computed variable name,
|
|
|
|
notice a colon that comes before the final CLOSEPAREN. Expand
|
|
|
|
only up to the colon, and then replace the pending text with a
|
|
|
|
copy containing the expanded name and fall through to subst ref
|
|
|
|
handling.
|
|
|
|
(variable_expand): Don't bother expanding the name if a colon
|
|
|
|
appears before the first $.
|
|
|
|
(expand_argument): Use alloca instead of savestring.
|
|
|
|
(variable_expand): For subst ref, expand both sides of = before
|
|
|
|
passing to [pat]subst_expand. Use find_percent instead of lindex
|
|
|
|
to check the lhs for a %.
|
|
|
|
|
|
|
|
Wed May 5 14:45:52 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.64.2.
|
|
|
|
|
|
|
|
Mon May 3 17:00:32 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* arscan.c (ar_name_equal) [AIAMAG]: Abort if TRUNCATED is nonzero.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Pass extra arg of 1 to parse_file_seq,
|
|
|
|
not to multi_glob.
|
|
|
|
|
|
|
|
Thu Apr 29 19:47:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.64.1.
|
|
|
|
|
|
|
|
* arscan.c (ar_scan): New local flag var LONG_NAME. Set it when
|
|
|
|
we read the member name in any of the fashions that allow it to be
|
|
|
|
arbitrarily long. Pass its negation to FUNCTION.
|
|
|
|
(describe_member): Take TRUNCATED from ar_scan and print it.
|
|
|
|
(ar_name_equal): Take new arg TRUNCATED; if nonzero, compare only
|
|
|
|
the first sizeof (struct ar_hdr.ar_name) chars.
|
|
|
|
(ar_member_pos): Take TRUNCATED from ar_scan, pass to ar_name_equal.
|
|
|
|
* ar.c (ar_member_date_1): Likewise.
|
|
|
|
|
|
|
|
Wed Apr 28 21:18:22 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (reap_children): Before calling start_job_command to start
|
|
|
|
the next command line, reset C->remote by calling start_remote_job_p.
|
|
|
|
|
|
|
|
Mon Apr 26 15:56:15 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* arscan.c (ar_scan): New local var NAMEMAP.
|
|
|
|
In loop, rename NAME to NAMEBUF; new var NAME is a pointer; new
|
|
|
|
flag IS_NAMEMAP. When extracting the member name, always put a
|
|
|
|
null at its end first. If the name is "//" or "/ARFILENAMES", set
|
|
|
|
IS_NAMEMAP. If we have already read in NAMEMAP, and NAME looks
|
|
|
|
like " /N", get full name from NAMEMAP+N.
|
|
|
|
Else if NAME looks like "#1/N", read N chars from the
|
|
|
|
elt data to be the full name. At end of loop, if IS_NAMEMAP, read
|
|
|
|
the elt's data into alloca'd NAMEMAP.
|
|
|
|
(ar_name_equal): #if 0 truncating code.
|
|
|
|
|
|
|
|
* make.h: Don't declare vfork at all. It returns int anyway,
|
|
|
|
unless <unistd.h> declared it; and we conflicted with some systems.
|
|
|
|
|
|
|
|
* main.c (define_makeflags): If FLAGSTRING[1] is '-', define
|
|
|
|
MAKEFLAGS to all of FLAGSTRING, not &FLAGSTRING[1]. Don't want to
|
|
|
|
define it to something like "-no-print-directory".
|
|
|
|
Use %g format instead of %f for floating-valued things.
|
|
|
|
|
|
|
|
Thu Apr 22 18:40:58 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* GNUmakefile (Makefile.in): Use a substitution ref on nolib-deps
|
|
|
|
to change remote-%.dep to remote-stub.dep.
|
|
|
|
|
|
|
|
Wed Apr 21 15:17:54 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.64.
|
|
|
|
|
|
|
|
Fri Apr 16 14:22:22 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile (install): Remove - prefix from chgrp+chmod.
|
|
|
|
|
|
|
|
* Version 3.63.8.
|
|
|
|
|
|
|
|
Thu Apr 15 18:24:07 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* acconfig.h: New file; contains "#undef SCCS_GET" for autoheader.
|
|
|
|
* configure.in: If /usr/sccs/get exists, define SCCS_GET to that,
|
|
|
|
else to "get".
|
|
|
|
* default.c (default_variables): Set GET to macro SCCS_GET.
|
|
|
|
|
|
|
|
* read.c (parse_file_seq): Take extra arg STRIP; strip `./' only
|
|
|
|
if nonzero. I hope this is the last time this argument is added
|
|
|
|
or removed.
|
|
|
|
(read_makefile): Pass it 1 when parsing include file names.
|
|
|
|
Pass it 1 when parsing target file names.
|
|
|
|
Pass it 1 when parsing static pattern target pattern names.
|
|
|
|
* rule.c (install_pattern_rule): Pass it 1 when parsing rule deps.
|
|
|
|
* default.c (set_default_suffixes): Pass it 1 when parsing
|
|
|
|
default_suffixes.
|
|
|
|
* function.c (string_glob): Pass it 0 here.
|
|
|
|
|
|
|
|
Wed Apr 14 11:32:05 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* misc.c (log_access): New function.
|
|
|
|
({init,user,make,child}_access): Call it.
|
|
|
|
(child_access): Abort if !access_inited.
|
|
|
|
|
|
|
|
* main.c (switches: --no-print-directory): Use 1 instead of -1 for
|
|
|
|
single-letter option.
|
|
|
|
(init_switches, decode_switches, define_makeflags): An option with
|
|
|
|
no single-letter version is no longer indicated by a value of -1;
|
|
|
|
instead a value that is !isalnum.
|
|
|
|
(init_switches): Don't put such switches into the string, only
|
|
|
|
into the long_option table.
|
|
|
|
|
|
|
|
* make.h [!NSIG] [!_NSIG]: #define NSIG 32.
|
|
|
|
|
|
|
|
* job.c [HAVE_WAITPID]: Remove #undef HAVE_UNION_WAIT. AIX's
|
|
|
|
bsdcc defined WIF* to use union wait.
|
|
|
|
|
|
|
|
* main.c (struct command_switch): Change member `c' to type int.
|
|
|
|
(switches): Make const.
|
|
|
|
(decode_switches): Use `const struct command_switch *'.
|
|
|
|
(define_makeflags): Likewise.
|
|
|
|
|
|
|
|
* default.c (default_suffix_rules): Add `-o $@' to makeinfo rules.
|
|
|
|
|
|
|
|
Mon Apr 12 12:30:04 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.63.7.
|
|
|
|
|
|
|
|
* configure.in (AC_HAVE_HEADERS): Check for string.h and memory.h.
|
|
|
|
Removed AC_MEMORY_H.
|
|
|
|
* make.h [USG, NeXT]: Don't test these.
|
|
|
|
[HAVE_STRING_H]: Test this to include string.h and define ANSI_STRING.
|
|
|
|
[HAVE_MEMORY_H]: Test this instead of NEED_MEMORY_H.
|
|
|
|
[! ANSI_STRING]: Put decls of bcopy et al here.
|
|
|
|
[sparc]: Don't test this for alloca.h; HAVE_ALLOCA_H is sufficient.
|
|
|
|
[HAVE_SIGSETMASK]: Test this rather than USG.
|
|
|
|
[__GNU_LIBRARY__ || POSIX]: Don't #include <unistd.h> again.
|
|
|
|
* main.c (main): Handle SIGCHLD if defined, and SIGCLD if defined.
|
|
|
|
It doesn't hurt to do both if they are both defined, and testing
|
|
|
|
USG is useless.
|
|
|
|
* dir.c: Rationalize directory header conditionals.
|
|
|
|
* arscan.c [HAVE_FCNTL_H]: Test this rather than USG || POSIX.
|
|
|
|
|
|
|
|
* default.c (default_suffixes): Add `.txinfo'.
|
|
|
|
(default_suffix_rules): Add `.txinfo.info' and `.txinfo.dvi' rules.
|
|
|
|
|
|
|
|
* variable.c (try_variable_definition): Replace RECURSIVE flag
|
|
|
|
with enum FLAVOR, which can be simple, recursive, or append.
|
|
|
|
Recognize += as append flavor. Set new variable VALUE in a switch
|
|
|
|
on FLAVOR. For append flavor, prepend the variable's old value.
|
|
|
|
If the variable was previously defined recursive, set FLAVOR to
|
|
|
|
recursive; if it was defined simple, expand the new value before
|
|
|
|
appending it to the old value. Pass RECURSIVE flag to
|
|
|
|
define_variable iff FLAVOR == recursive.
|
|
|
|
|
|
|
|
* variable.c (try_variable_definition): Use alloca and bcopy for
|
|
|
|
NAME, instead of savestring. Might as well use stack storage
|
|
|
|
since we free it immediately anyway.
|
|
|
|
|
|
|
|
Thu Apr 8 18:04:43 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (start_waiting_jobs): Move decl of JOB outside of loop.
|
|
|
|
|
|
|
|
* main.c (define_makeflags): Rename `struct flag' member `switch'
|
|
|
|
to `cs', which is not a reserved word.
|
|
|
|
|
|
|
|
Wed Apr 7 15:30:51 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (new_job): Call start_waiting_jobs first thing.
|
|
|
|
(start_waiting_job): Changed return type from void to int.
|
|
|
|
Return 0 when putting the child on the waiting_jobs chain.
|
|
|
|
(start_waiting_jobs): Don't check load and job_slots here.
|
|
|
|
Always take a job off the chain and call start_waiting_job on it;
|
|
|
|
give up and return when start_waiting_job returns zero.
|
|
|
|
|
|
|
|
* main.c (define_makeflags: struct flag): Change member `char c' to
|
|
|
|
`struct command_switch *switch'.
|
|
|
|
(ADD_FLAG): Set that to CS instead of CS->c.
|
|
|
|
If CS->c is -1, increment FLAGSLEN for the long name.
|
|
|
|
When writing out FLAGS, handle FLAGS->switch->c == -1 and write
|
|
|
|
the long name instead.
|
|
|
|
|
|
|
|
* compatMakefile (stamp-config): New target of old config.h rule.
|
|
|
|
Touch stamp-config after running config.status.
|
|
|
|
(config.h): Just depend on stamp-config, and have empty commands.
|
|
|
|
|
|
|
|
Mon Apr 5 20:14:02 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c [HAVE_WAITPID]: #undef HAVE_UNION_WAIT.
|
|
|
|
|
|
|
|
* configure.in (AC_HAVE_FUNCS): Check for psignal.
|
|
|
|
|
|
|
|
Fri Apr 2 17:15:46 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (long_option_aliases): Remove "new"; it is already an
|
|
|
|
unambiguous prefix of "new-file".
|
|
|
|
|
|
|
|
Sun Mar 28 16:57:17 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.63.6.
|
|
|
|
|
|
|
|
Wed Mar 24 14:26:19 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* vpath.c (selective_vpath_search): When adding the
|
|
|
|
name-within-directory at the end of NAME, and we don't add a
|
|
|
|
slash, don't copy FILENAME in one char too far into NAME.
|
|
|
|
|
|
|
|
* variable.c (define_automatic_variables): Find default_shell's
|
|
|
|
length with strlen, not numerology.
|
|
|
|
|
|
|
|
Wed Mar 17 20:02:27 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (define_makeflags): Add the elts of a string option in
|
|
|
|
reverse order, so they come out right when reversed again.
|
|
|
|
|
|
|
|
Fri Mar 12 15:38:45 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile (make.info): Use `-o make.info'.
|
|
|
|
|
|
|
|
Thu Mar 11 14:13:00 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile (REMOTE): Set to @REMOTE@; change comments to
|
|
|
|
reflect new use.
|
|
|
|
(objs): Replace remote.o with remote-$(REMOTE).o.
|
|
|
|
(srcs): Replace remote.c with remote-$(REMOTE).c.
|
|
|
|
(remote.o): Rule removed.
|
|
|
|
|
|
|
|
* configure.in (REMOTE): Subst this in Makefile et al; default "stub".
|
|
|
|
Use AC_WITH to grok --with-customs arg to set REMOTE=cstms.
|
|
|
|
* GNUmakefile (build.sh.in): Filter out remote-% from objs list.
|
|
|
|
* build.template (REMOTE): New var; set to @REMOTE@.
|
|
|
|
(objs): Add remote-${REMOTE}.o.
|
|
|
|
|
|
|
|
Wed Mar 10 15:12:24 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.63.5.
|
|
|
|
|
|
|
|
* implicit.c (pattern_search): Fix "dependent"->"dependency" in
|
|
|
|
"Rejecting impossible" -d msg.
|
|
|
|
|
|
|
|
* file.c (file_hash_enter): New local vars {OLD,NEW}BUCKET. Store
|
|
|
|
mod'd values there; never mod {OLD,NEW}HASH.
|
|
|
|
|
|
|
|
Mon Mar 8 13:32:48 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* remake.c [eta10]: Include <fcntl.h> instead of <sys/file.h>.
|
|
|
|
|
|
|
|
* compatMakefile (VPATH): Set this to @srcdir@.
|
|
|
|
(srcdir): Set this to $(VPATH).
|
|
|
|
|
|
|
|
* main.c (main): New local var DIRECTORY_BEFORE_CHDIR. Save in it
|
|
|
|
a copy of CURRENT_DIRECTORY after the first getcwd. Use it
|
|
|
|
instead of CURRENT_DIRECTORY when chdir'ing back before re-execing.
|
|
|
|
|
|
|
|
* remake.c (notice_finished_file): Pass missing SEARCH arg to f_mtime.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Remove extraneous arg to parse_file_seq.
|
|
|
|
|
|
|
|
Mon Feb 22 14:19:38 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile ($(infodir)/$(instname).info): Use , instead of /
|
|
|
|
as the sed delimiter char.
|
|
|
|
|
|
|
|
Sun Feb 21 14:11:04 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.63.4.
|
|
|
|
|
|
|
|
* rule.h (struct rule): Removed `subdir' member.
|
|
|
|
* rule.c (new_pattern_rule): No need to clear it.
|
|
|
|
(count_implicit_rule_limits): Set the `changed' flag in each dep
|
|
|
|
that refers to a nonexistent directory. No longer set rule-global
|
|
|
|
`subdir' flag with that information.
|
|
|
|
(print_rule_data_base): Don't record info on `subdir' flags.
|
|
|
|
|
|
|
|
* implicit.c (pattern_search): Check the DEP->changed flag rather
|
|
|
|
than the (now gone) RULE->subdir flag. Also test CHECK_LASTSLASH;
|
|
|
|
if it is set, the file might exist even though the DEP->changed
|
|
|
|
flag is set.
|
|
|
|
|
|
|
|
* rule.c (count_implicit_rule_limits): Pass "", not ".", as file
|
|
|
|
name arg to dir_file_exists_p to check for existence of directory.
|
|
|
|
|
|
|
|
* implicit.c (pattern_search): Inside dep-finding loop, set
|
|
|
|
CHECK_LASTSLASH from the value recorded in CHECKED_LASTSLASH[I],
|
|
|
|
rather than computing it anew.
|
|
|
|
|
|
|
|
* commands.c (set_file_variables): Must alloca space for PERCENT
|
|
|
|
and copy it, to avoid leaving the trailing `)' in the value.
|
|
|
|
|
|
|
|
* misc.c (remove_comments): Fixed backslash-checking loop
|
|
|
|
condition to allow it to look at the first char on the line.
|
|
|
|
P2 >= LINE, not P2 > LINE.
|
|
|
|
|
|
|
|
* compatMakefile ($(bindir)/$(instname)): Before moving $@.new to
|
|
|
|
$@, rm $@.old and mv $@ to $@.old.
|
|
|
|
|
|
|
|
* variable.c (try_variable_definition): Take new args FILENAME and
|
|
|
|
LINENO. Fatal if the variable name is empty.
|
|
|
|
* read.c (read_makefile): Change callers.
|
|
|
|
* main.c (main): Likewise.
|
|
|
|
|
|
|
|
* compatMakefile (group): Define to @KMEM_GROUP@, autoconf magic
|
|
|
|
that configure will replace with the group owning /dev/kmem.
|
|
|
|
|
|
|
|
Mon Feb 8 14:26:43 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* vpath.c (vpath_search): Take second arg MTIME_PTR, pass thru to
|
|
|
|
selective_vpath_search.
|
|
|
|
(selective_vpath_search): Take second arg MTIME_PTR.
|
|
|
|
If the dir cache thinks a file exists, stat it to make sure, and
|
|
|
|
put the modtime in *MTIME_PTR.
|
|
|
|
* remake.c (library_search): Take second arg MTIME_PTR.
|
|
|
|
When we find a match, record its mtime there.
|
|
|
|
Pass MTIME_PTR through to vpath_search to do same.
|
|
|
|
(f_mtime): Pass &MTIME as new 2nd arg to {vpath,library}_search;
|
|
|
|
store it in FILE->last_mtime if set nonzero.
|
|
|
|
* implicit.c (pattern_search): Pass nil 2nd arg to vpath_search.
|
|
|
|
|
|
|
|
* compatMakefile (remote.o): Prepend `$(srcdir)/' to `remote-*.c',
|
|
|
|
so globbing looks somewhere it will find things.
|
|
|
|
|
|
|
|
* compatMakefile ($(infodir)/$(instname).info): Install `make.info*'
|
|
|
|
not `$(srcdir)/make.info*'; no need to use basename.
|
|
|
|
|
|
|
|
Fri Feb 5 12:52:43 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.63.3.
|
|
|
|
|
|
|
|
* compatMakefile (install): Add missing ;\s.
|
|
|
|
|
|
|
|
Make -, @, and + prefixes on a pre-expanded command line affect
|
|
|
|
all lines in the expansion, not just the first.
|
|
|
|
* commands.h (struct commands): Replace `lines_recurse' member
|
|
|
|
with `lines_flags'.
|
|
|
|
(COMMANDS_{RECURSE,SILENT,NOERROR}): New macros, bits to set in
|
|
|
|
that flag byte.
|
|
|
|
* commands.c (chop_commands): Set `lines_flags' instead of
|
|
|
|
`lines_recurse'. Record not only + but also @ and - prefixes.
|
|
|
|
* remake.c (notice_finished_file): Check the COMMANDS_RECURSE bit
|
|
|
|
in FILE->cmds->lines_flags, rather than FILE->cmds->lines_recurse.
|
|
|
|
* job.c (start_job_command): Replaced RECURSIVE and NOPRINT local
|
|
|
|
var with FLAGS; initialize it to the appropriate `lines_flags' byte.
|
|
|
|
Set CHILD->noerror if the COMMANDS_NOERROR bit is set in FLAGS.
|
|
|
|
Set the COMMANDS_SILENT bit in FLAGS for a @ prefix.
|
|
|
|
|
|
|
|
* remake.c (update_goal_chain): Set G->file to its prev after
|
|
|
|
checking for G being finished, since that check needs to examine
|
|
|
|
G->file.
|
|
|
|
|
|
|
|
* configure.in (union wait check) [HAVE_WAITPID]: Try using
|
|
|
|
waitpid with a `union wait' STATUS arg. If waitpid and union wait
|
|
|
|
don't work together, we should not use union wait.
|
|
|
|
|
|
|
|
* Version 3.63.2.
|
|
|
|
|
|
|
|
* remake.c (update_goal_chain): When G->file->updated, move
|
|
|
|
G->file to its prev. We aren't finished until G->file is nil.
|
|
|
|
|
|
|
|
Thu Feb 4 12:53:04 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (starting_directory): New global variable.
|
|
|
|
(main): Set it to cwd after doing -Cs.
|
|
|
|
(log_working_directory): Use it, rather than computing each time.
|
|
|
|
* make.h: Declare it.
|
|
|
|
|
|
|
|
* compatMakefile (SHELL): Define to /bin/sh for losing Unix makes.
|
|
|
|
|
|
|
|
* main.c (decode_env_switches): Allocate (1 + LEN + 1) words for
|
|
|
|
ARGV, rather than LEN words plus one byte.
|
|
|
|
|
|
|
|
Wed Feb 3 18:13:52 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile ($(bindir)/$(instname)): Put - before
|
|
|
|
install_setgid command line, so its failure won't be an error.
|
|
|
|
(infodir): New variable.
|
|
|
|
(install): Depend on $(infodir)/$(instname).info.
|
|
|
|
($(infodir)/$(instname).info): New target.
|
|
|
|
|
|
|
|
* read.c (read_makefile): If FILENAMES is nil when we see a line
|
|
|
|
starting with a tab, don't treat it as a command. Just fall
|
|
|
|
through, rather than giving an error.
|
|
|
|
|
|
|
|
* read.c (read_makefile): If the NO_TARGETS flag is set when we see a
|
|
|
|
command line, don't clear it before continuing. We want
|
|
|
|
subsequent command lines to be ignored as well.
|
|
|
|
|
|
|
|
* job.c (new_job): Before expanding each command line, collapse
|
|
|
|
backslash-newline combinations that are inside var or fn references.
|
|
|
|
|
|
|
|
Mon Feb 1 16:00:13 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile (exec_prefix): Default to $(prefix), not /usr/local.
|
|
|
|
|
|
|
|
* compatMakefile (make.info): Pass -I$(srcdir) to makeinfo.
|
|
|
|
|
|
|
|
* job.c [POSIX] (unblock_sigs): Made global.
|
|
|
|
[!POSIX] (unblock_sigs): Move defns to job.h.
|
|
|
|
* job.h [POSIX] (unblock_sigs): Declare.
|
|
|
|
|
|
|
|
Sun Jan 31 19:11:05 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (read_makefile): In vpath parsing, after finding the
|
|
|
|
pattern token, take entire rest of line as the search path, not
|
|
|
|
just the next token.
|
|
|
|
|
|
|
|
* compatMakefile (remote.o): Depend on remote-*.c.
|
|
|
|
|
|
|
|
Thu Jan 28 16:40:29 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* commands.c (set_file_variables): Don't define any F or D versions.
|
|
|
|
* variable.c (define_automatic_variables): Define them here as
|
|
|
|
recursively-expanded variables that use the dir and notdir funcs.
|
|
|
|
|
|
|
|
* variable.c (target_environment): In v_default case, don't export
|
|
|
|
o_default or o_automatic variables.
|
|
|
|
|
|
|
|
* configure.in (union wait check): Remove ` and ' inside C code;
|
|
|
|
they confuse the shell script.
|
|
|
|
|
|
|
|
Mon Jan 25 13:10:42 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.63.1.
|
|
|
|
|
|
|
|
* vpath.c (construct_vpath_list): When skipping further processing
|
|
|
|
of an elt that is ".", don't also skip the code that pushes P past
|
|
|
|
the next separator.
|
|
|
|
|
|
|
|
* compatMakefile (distclean): Don't remove make-*.
|
|
|
|
|
|
|
|
* configure.in (HAVE_UNION_WAIT): Try to use WEXITSTATUS if it's
|
|
|
|
defined. If one cannot use WEXITSTATUS with a `union wait'
|
|
|
|
argument, we don't want to believe the system has `union wait' at all.
|
|
|
|
|
|
|
|
* remake.c (update_file): Do nothing to print "up to date" msgs.
|
|
|
|
(update_goal_chain): Do it here instead.
|
|
|
|
Use the `changed' flag of each goal's `struct dep' to keep track
|
|
|
|
of whether files_remade (now commands_started) changed around a
|
|
|
|
call to update_file for that goal.
|
|
|
|
When a goal is finished, and its file's update_status is zero (i.e.,
|
|
|
|
success or nothing done), test the `changed' flag and give an "up
|
|
|
|
to date" msg iff it is clear.
|
|
|
|
* make.h (files_remade): Renamed to commands_started.
|
|
|
|
* remake.c: Changed defn.
|
|
|
|
(update_goal_chain): Changed uses.
|
|
|
|
* job.c (start_job_command): Increment commands_started here.
|
|
|
|
(reap_children): Not here.
|
|
|
|
|
|
|
|
* remake.c (update_goal_chain): Don't do anything with files'
|
|
|
|
`prev' members. update_file now completely handles this.
|
|
|
|
|
|
|
|
* variable.c (target_environment): Don't expand recursive
|
|
|
|
variables if they came from the environment.
|
|
|
|
|
|
|
|
* main.c (define_makeflags): For flags with omitted optional args,
|
|
|
|
store {"", 0} with ADD_FLAG. When constructing FLAGSTRING, a flag
|
|
|
|
so stored cannot have more flags appended to the same word.
|
|
|
|
|
|
|
|
Fri Jan 22 14:46:16 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* variable.c (print_variable_set): In vars/bucket calculation,
|
|
|
|
don't spuriously multiply by 100.
|
|
|
|
|
|
|
|
* Version 3.63.
|
|
|
|
|
|
|
|
* job.c [!HAVE_UNION_WAIT] (WTERMSIG, WCOREDUMP, WEXITSTATUS):
|
|
|
|
Don't define if already defined.
|
|
|
|
|
|
|
|
* remake.c (update_file): Don't keep track of the command_state before
|
|
|
|
calling update_file_1. Remove local variable COMMANDS_FINISHED,
|
|
|
|
and don't test it to decide to print the "is up to date" msg.
|
|
|
|
Testing for files_remade having changed should always be sufficient.
|
|
|
|
The old method lost when we are called in the goal chain run on a
|
|
|
|
makefile, because the makefile's command_state is already
|
|
|
|
`cs_finished' from the makefile chain run.
|
|
|
|
|
|
|
|
* misc.c [HAVE_SETRE[GU]ID]: Test these to decl setre[gu]id.
|
|
|
|
|
|
|
|
* configure.in: Rewrote wait checking.
|
|
|
|
Use AC_HAVE_HEADERS to check for <sys/wait.h>.
|
|
|
|
Use AC_HAVE_FUNCS to check for waitpid and wait3.
|
|
|
|
Use a compile check to test just for `union wait'.
|
|
|
|
* job.c: Rewrote conditionals accordingly.
|
|
|
|
[HAVE_WAITPID]: Test this only to define WAIT_NOHANG.
|
|
|
|
[HAVE_WAIT3]: Likewise.
|
|
|
|
[HAVE_UNION_WAIT]: Test this to define WAIT_T and W*.
|
|
|
|
|
|
|
|
* configure.in: Set CFLAGS and LDFLAGS before all checks.
|
|
|
|
|
|
|
|
* dir.c: Add static forward decls of {open,read}_dirstream.
|
|
|
|
|
|
|
|
Thu Jan 21 17:18:00 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.31.
|
|
|
|
|
|
|
|
* job.c [NGROUPS_MAX && NGROUPS_MAX==0]: #undef NGROUPS_MAX.
|
|
|
|
|
|
|
|
* compatMakefile (CFLAGS, LDFLAGS): Set to @CFLAGS@/@LDFLAGS@.
|
|
|
|
* build.template (CFLAGS, LDFLAGS): Same here.
|
|
|
|
* configure.in: AC_SUBST(CFLAGS) and LDFLAGS.
|
|
|
|
Set them to -g if not defined in the environment.
|
|
|
|
|
|
|
|
* remake.c (library_search): Use LIBNAME consistently, setting it
|
|
|
|
only once, to be the passed name sans `-l'.
|
|
|
|
Pass new var FILE to be modified by vpath_search.
|
|
|
|
|
|
|
|
Mon Jan 18 14:53:54 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.30.
|
|
|
|
|
|
|
|
* job.c (start_waiting_jobs): Return when job_slots_used is equal to
|
|
|
|
job_slots.
|
|
|
|
|
|
|
|
* configure.in: Add AC_CONST for the sake of getopt.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Continue after parsing `override'
|
|
|
|
directive, rather than falling through to lossage.
|
|
|
|
Check for EOL or blank after "override define".
|
|
|
|
|
|
|
|
* compatMakefile (.c.o, remote.o): Put $(CFLAGS) after other switches.
|
|
|
|
|
|
|
|
Fri Jan 15 12:52:52 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.29.
|
|
|
|
|
|
|
|
* main.c (define_makeflags): After writing everything into
|
|
|
|
FLAGSTRING, only back up two chars if [-1] is a dash, meaning we
|
|
|
|
just wrote " -". Always terminate the string at *P.
|
|
|
|
|
|
|
|
* remake.c (library_search): When constructing names in std dirs,
|
|
|
|
use &(*LIB)[2] for the stem, not LIBNAME (which points at the
|
|
|
|
buffer we are writing into!).
|
|
|
|
|
|
|
|
Thu Jan 14 13:50:06 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (read_makefile): Set IN_IGNORED_DEFINE for "override
|
|
|
|
define" when IGNORING is true.
|
|
|
|
|
|
|
|
* compatMakefile (distclean): Remove config.status and build.sh.
|
|
|
|
|
|
|
|
Wed Jan 13 16:01:12 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.28.
|
|
|
|
|
|
|
|
* misc.c (xmalloc, xrealloc): Cast result of malloc/realloc to
|
|
|
|
(char *).
|
|
|
|
|
|
|
|
* arscan.c (ar_scan) [AIAMAG]: Cast read arg to (char *).
|
|
|
|
|
|
|
|
* variable.c (define_automatic_variables): Override SHELL value for
|
|
|
|
origin o_env_override as well as o_env.
|
|
|
|
|
|
|
|
* GNUmakefile (build.sh.in): Don't replace %globobjs%. Instead,
|
|
|
|
add the names of the glob objects (w/subdir) to %objs%.
|
|
|
|
* build.template (globobjs): Removed.
|
|
|
|
Take basename of $objs before linking.
|
|
|
|
|
|
|
|
Tue Jan 12 12:31:06 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.27.
|
|
|
|
|
|
|
|
* configure.in (AC_OUTPUT): Also edit build.sh.
|
|
|
|
* build.template: New file.
|
|
|
|
* GNUmakefile (build.sh.in): New rule to create it from build.template.
|
|
|
|
(make-$(version).tar.Z): Depend on build.sh.in.
|
|
|
|
|
|
|
|
* main.c (die): Call print_data_base if -p.
|
|
|
|
(main): Don't call it here.
|
|
|
|
|
|
|
|
* compatMakefile (defines): Add @DEFS@. configure should turn this
|
|
|
|
into -DHAVE_CONFIG_H.
|
|
|
|
|
|
|
|
Mon Jan 11 14:39:23 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.26.
|
|
|
|
|
|
|
|
* misc.c (init_access): Surround with #ifdef GETLOADAVG_PRIVILEGED.
|
|
|
|
({make,user,child}_access) [! GETLOADAVG_PRIVILEGED]: Make no-op.
|
|
|
|
* compatMakefile (install_setgid): New var, set by configure.
|
|
|
|
(install): Install setgid $(group) only if $(install_setgid) is true.
|
|
|
|
|
|
|
|
Fri Jan 8 15:31:55 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (load_too_high): If getloadavg fails with errno==0, give a
|
|
|
|
message saying that load limits are not supported.
|
|
|
|
|
|
|
|
* vpath.c (construct_vpath_list): Rewrote path deletion code to
|
|
|
|
not try to use PATH's next link after freeing PATH.
|
|
|
|
|
|
|
|
* main.c (define_makeflags): Rewritten; now handles string-valued
|
|
|
|
option, and has no arbitrary limits.
|
|
|
|
(switches): Set `toenv' flag for -I and -v.
|
|
|
|
|
|
|
|
* main.c (decode_env_switches): Cast return value of alloca to char *.
|
|
|
|
|
|
|
|
* misc.c (child_access) [HAVE_SETREUID, HAVE_SETREGID]: Use
|
|
|
|
setre[gu]id in place of set[gu]id.
|
|
|
|
|
|
|
|
Wed Jan 6 15:06:12 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (main): Define MAKEOVERRIDES, MAKE, and MAKE_COMMAND with
|
|
|
|
origin o_default.
|
|
|
|
|
|
|
|
* make.h [POSIX]: Don't test this to use ANSI_STRING.
|
|
|
|
Testing STDC_HEADERS should be sufficient.
|
|
|
|
|
|
|
|
* job.h: Declare start_waiting_jobs.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Add missing parens in if stmt that find
|
|
|
|
conditional directives.
|
|
|
|
|
|
|
|
* main.c (main): Declare init_dir.
|
|
|
|
* implicit.c (pattern_search): Always use two % specs in a
|
|
|
|
DEBUGP2, and always pass two non-nil args.
|
|
|
|
Cast field width args to int.
|
|
|
|
Add missing parens in !RULE->subdir if stmt.
|
|
|
|
* function.c (expand_function, patsubst_expand): Add parens around
|
|
|
|
assignments inside `while' stmts.
|
|
|
|
* commands.c (print_commands): Cast field width args to int.
|
|
|
|
|
|
|
|
* read.c (do_define): Cast return value of alloca to (char *).
|
|
|
|
|
|
|
|
* main.c (init_switches): New function, broken out of decode_switches.
|
|
|
|
(decode_switches): Take new arg ENV. If set, ignore non-option
|
|
|
|
args; print no error msgs; ignore options with clear `env' flags.
|
|
|
|
(decode_env_switches): Rewritten to chop envar value into words
|
|
|
|
and pass them to decode_switches.
|
|
|
|
(switches): Set `env' flag for -I and -v.
|
|
|
|
|
|
|
|
* dir.c (init_dir): Cast free to __glob_closedir_hook's type.
|
|
|
|
|
|
|
|
Tue Jan 5 14:52:15 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.25.
|
|
|
|
|
|
|
|
* job.c [HAVE_SYS_WAIT || !USG]: Don't #include <sys/time.h> and
|
|
|
|
<sys/resource.h>. <sys/time.h> interacts badly with <time.h>, and
|
|
|
|
we don't need these anyway.
|
|
|
|
|
|
|
|
* configure.in (AC_HAVE_FUNCS): Check for setre[gu]id.
|
|
|
|
* misc.c ({user,make}_access): Test #ifndef HAVE_SETRE[GU]ID, not
|
|
|
|
#ifdef POSIX || USG. SunOS 4.1 is supposedly POSIX.1 compliant,
|
|
|
|
but its set[gu]id functions aren't; its setre[gu]id functions work.
|
|
|
|
|
|
|
|
* misc.c ({user,make,child}_access): Give name of caller in error msgs.
|
|
|
|
|
|
|
|
* job.c (load_too_high): Say "cannot enforce load limit" in error msg.
|
|
|
|
|
|
|
|
* configure.in: Call AC_PROG_CC.
|
|
|
|
* compatMakefile (CC): Define to @CC@ (autoconf magic).
|
|
|
|
|
|
|
|
* compatMakefile: Add .NOEXPORT magic target.
|
|
|
|
|
|
|
|
Mon Jan 4 17:00:03 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (print_version): Updated copyright to include 93.
|
|
|
|
|
|
|
|
Thu Dec 31 12:26:15 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h [_AIX]: Don't declare alloca.
|
|
|
|
|
|
|
|
Tue Dec 29 13:45:13 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.24.
|
|
|
|
|
|
|
|
* compatMakefile (objs): Add signame.o.
|
|
|
|
(srcs): Add signame.[ch].
|
|
|
|
|
|
|
|
* compatMakefile (srcs): Add config.h.in.
|
|
|
|
(remote.o): Add -I. before -I$(srcdir).
|
|
|
|
|
|
|
|
Mon Dec 28 15:51:26 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.23.
|
|
|
|
|
|
|
|
* read.c (readline): Fatal when LEN==0, indicating a line starting
|
|
|
|
with a NUL.
|
|
|
|
(readline): Take new arg LINENO, for use in error msg.
|
|
|
|
(read_makefile, do_define): Pass it.
|
|
|
|
|
|
|
|
* compatMakefile (glob/libglob.a): Pass -DHAVE_CONFIG_H in CPPFLAGS.
|
|
|
|
(.c.o): Add -I. before -I$(srcdir).
|
|
|
|
|
|
|
|
Wed Dec 23 12:12:04 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (read_makefile): Accept and ignore a rule with no targets.
|
|
|
|
|
|
|
|
* compatMakefile (ALLOCA_SRC): New variable.
|
|
|
|
(srcs): Include its value.
|
|
|
|
|
|
|
|
* read.c (struct conditional): Renamed member `max_ignoring' to
|
|
|
|
`allocated'; added new member `seen_else'.
|
|
|
|
(conditional_line): Initialize seen_else flag when starting an `if...';
|
|
|
|
set it when we see an `else'; fatal if set when we see `else'.
|
|
|
|
(read_makefile): Fatal "missing `endif'" if there are any pending
|
|
|
|
conditionals, not just if we are still ignoring.
|
|
|
|
|
|
|
|
Tue Dec 22 15:36:28 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile (manext): Set to 1, not l.
|
|
|
|
($(mandir)/$(instname).$(manext)): Use $(srcdir) for make.man in cmds.
|
|
|
|
|
|
|
|
* file.c (file_hash_enter): Don't call uniquize_deps here.
|
|
|
|
* read.c (record_files): Likewise.
|
|
|
|
* implicit.c (pattern_search): Likewise.
|
|
|
|
* commands.c (set_file_variables): Call it only here.
|
|
|
|
|
|
|
|
* default.c (default_variables) [__convex__]: FC=fc.
|
|
|
|
|
|
|
|
* variable.c (target_environment): Expand the values of recursively
|
|
|
|
expanded variables when putting them into the environment.
|
|
|
|
* expand.c (recursively_expand): Made global.
|
|
|
|
* make.h (recursively_expand): Declare it.
|
|
|
|
|
|
|
|
* remake.c (check_dep): Set FILE->command_state to cs_deps_running
|
|
|
|
when a dep's command_state is cs_running or cs_deps_running.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Changed error msg for spurious cmds to
|
|
|
|
not say "first target".
|
|
|
|
|
|
|
|
Sun Dec 20 17:56:09 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* configure.in: Do AC_CONFIG_HEADER right after AC_INIT.
|
|
|
|
* make.h (HAVE_CONFIG_H): #include "config.h", then #define this.
|
|
|
|
* compatMakefile (config.h, configure, config.h.in): New rules.
|
|
|
|
(defines): Removed @DEFS@.
|
|
|
|
|
|
|
|
Thu Dec 17 16:11:40 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile (realclean): Just depend on distclean; no cmds.
|
|
|
|
(distclean): Do what realclean did before; also remove Makefile and
|
|
|
|
config.h; don't remove configure.
|
|
|
|
(info, dvi): New targets; depend on make.{info,dvi}.
|
|
|
|
(doc): Removed target.
|
|
|
|
(MAKEINFO, TEXI2DVI): New vars.
|
|
|
|
(make.info, make.dvi): Use them instead of explicit cmds.
|
|
|
|
|
|
|
|
Wed Dec 16 16:25:24 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* configure.in: Added fcntl.h to AC_HAVE_HEADERS. getloadavg cares.
|
|
|
|
|
|
|
|
Wed Dec 9 15:21:01 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (long_option_aliases): Add --new-file alias for -W.
|
|
|
|
|
|
|
|
* default.c (default_variables): Change all C++ to CXX and C++FLAGS
|
|
|
|
to CXXFLAGS.
|
|
|
|
|
|
|
|
* read.c (do_define): Expand the variable name before using it.
|
|
|
|
|
|
|
|
* main.c (main): Define variable "MAKE_COMMAND" to argv[0];
|
|
|
|
define "MAKE=$(MAKE_COMMAND) $(MAKEOVERRIDES)" always.
|
|
|
|
|
|
|
|
* remake.c (library_search): Search for libNAME.a in cwd; look in
|
|
|
|
vpath before looking in standard dirs, not after.
|
|
|
|
Changed order of std dirs to: /lib, /usr/lib, ${prefix}/lib.
|
|
|
|
|
|
|
|
Mon Nov 23 14:57:34 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* default.c (default_pattern_rules, default_terminal_rules): Added
|
|
|
|
brackets around initializers.
|
|
|
|
|
|
|
|
* variable.c (try_variable_definition): Don't check for LINE[0]=='\t'.
|
|
|
|
(try_variable_definition): Expand the name before defining the var.
|
|
|
|
|
|
|
|
* job.c (init_siglist): Removed function.
|
|
|
|
Removed decl of `sys_siglist'.
|
|
|
|
* make.h [! HAVE_SYS_SIGLIST]: #include "signame.h".
|
|
|
|
[HAVE_SYS_SIGLIST && !SYS_SIGLIST_DECLARED]: Declare sys_siglist
|
|
|
|
only under these conditions.
|
|
|
|
* main.c (main): Don't declare init_siglist.
|
|
|
|
(main) [! HAVE_SYS_SIGLIST]: Call signame_init instead of init_siglist.
|
|
|
|
|
|
|
|
Wed Nov 18 14:52:51 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (record_files): Don't try to append to FIRSTDEPS if it's
|
|
|
|
nil; instead just set it to MOREDEPS.
|
|
|
|
|
|
|
|
Mon Nov 16 17:49:17 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* vpath.c (construct_vpath_list): Initialize P to DIRPATH before
|
|
|
|
loop that sets MAXELEM.
|
|
|
|
|
|
|
|
Fri Nov 13 18:23:18 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.22.
|
|
|
|
|
|
|
|
Thu Nov 12 15:45:31 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (start_job_command): Under -n, increment files_remade after
|
|
|
|
processing (i.e., printing) all command lines.
|
|
|
|
|
|
|
|
Tue Nov 10 15:33:53 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (record_files): Append new deps if this rule has no
|
|
|
|
commands; prepend them to existing deps if this rule has no commands.
|
|
|
|
|
|
|
|
* dir.c (open_dirstream): Return nil if DIR->contents->files is nil.
|
|
|
|
|
|
|
|
* read.c (parse_file_seq): Removed last arg STRIP. Always strip `./'s.
|
|
|
|
(read_makefile): Changed callers.
|
|
|
|
* function.c (string_glob): Likewise.
|
|
|
|
* rule.c (install_pattern_rule): Likewise.
|
|
|
|
|
|
|
|
Mon Nov 9 17:50:16 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* remake.c (files_remade): Made global.
|
|
|
|
(notice_finished_file): Don't increment files_remade here; this
|
|
|
|
function gets called in many situations where no remaking was in
|
|
|
|
fact done.
|
|
|
|
* job.c (reap_children): Do it here instead, when we know that
|
|
|
|
actual commands have been run for the file.
|
|
|
|
* make.h (files_remade): Declare it.
|
|
|
|
|
|
|
|
Thu Nov 5 18:26:10 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* vpath.c (construct_vpath_list): Allow blanks as well as colons to
|
|
|
|
separate elts in the search path.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Don't fatal on extra tokens in `vpath'.
|
|
|
|
The search path can contain spaces now.
|
|
|
|
|
|
|
|
Tue Nov 3 20:44:32 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile (check): New target; no-op.
|
|
|
|
|
|
|
|
* file.c (file_hash_enter): Mod OLDHASH by FILE_BUCKETS after
|
|
|
|
testing for OLDHASH==0 but before using the value.
|
|
|
|
(rename_file): Don't mod OLDHASH by FILE_BUCKETS before passing it
|
|
|
|
to file_hash_enter.
|
|
|
|
|
|
|
|
* file.c (rename_file): Notice when OLDFILE->cmds came from
|
|
|
|
default.c, and don't try to print ->filename in that case.
|
|
|
|
|
|
|
|
Sun Oct 25 01:48:23 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* remake.c (update_file): Don't process F->also_make here.
|
|
|
|
(notice_finished_file): Don't process FILE->also_make if no attempt
|
|
|
|
to update FILE was actually made.
|
|
|
|
Fixed to call f_mtime directly to refresh their modtimes.
|
|
|
|
|
|
|
|
Sat Oct 24 22:08:59 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (find_percent): Don't increment P again after skipping
|
|
|
|
an escaped %.
|
|
|
|
|
|
|
|
* expand.c (variable_expand): In call to patsubst_expand, don't
|
|
|
|
find `%'s ourselves; let that function do it.
|
|
|
|
|
|
|
|
* read.c (read_makefile: record_waiting_files): Don't call
|
|
|
|
record_files if FILENAMES is nil.
|
|
|
|
(read_makefile): All alternatives in the parsing, except for rule
|
|
|
|
lines, fall through to the end of the loop. At the end of the
|
|
|
|
loop, do record_waiting_files so we notice later spurious cmds.
|
|
|
|
|
|
|
|
Fri Oct 23 15:57:37 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* variable.c (define_automatic_variables): Free old value of SHELL
|
|
|
|
before replacing it.
|
|
|
|
|
|
|
|
Thu Oct 15 18:57:56 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile (.c.o): Add -I$(srcdir)/glob to flags.
|
|
|
|
|
|
|
|
* dir.c (open_dirstream): Cast return value to __ptr_t.
|
|
|
|
|
|
|
|
* default.c (default_variables: "GET") [_IBMR2]: Use USG defn.
|
|
|
|
|
|
|
|
* make.h (MAXPATHLEN): Moved out of #ifndef POSIX.
|
|
|
|
(GET_PATH_MAX): Moved from #ifdef POSIX to #ifdef PATH_MAX #else.
|
|
|
|
Define as (get_path_max ()).
|
|
|
|
[! PATH_MAX] (NEED_GET_PATH_MAX): Define.
|
|
|
|
[! PATH_MAX] (get_path_max): Declare fn.
|
|
|
|
* misc.c [NEED_GET_PATH_MAX] (get_path_max): New function.
|
|
|
|
|
|
|
|
Mon Oct 12 13:34:45 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.21.
|
|
|
|
|
|
|
|
* job.c (sys_siglist): Only declare #ifndef SYS_SIGLIST_DECLARED.
|
|
|
|
* make.h [! HAVE_SYS_SIGLIST && HAVE__SYS_SIGLIST]: #define
|
|
|
|
SYS_SIGLIST_DECLARED.
|
|
|
|
|
|
|
|
* dir.c (file_impossible): When initializing DIR->contents, set
|
|
|
|
DIR->contents->dirstream to nil.
|
|
|
|
|
|
|
|
* compatMakefile (GLOB): Define new variable.
|
|
|
|
(objs): Use it, rather than glob/libglob.a explicitly.
|
|
|
|
|
|
|
|
* read.c (parse_file_seq): When stripping "./", handle cases like
|
|
|
|
".///foo" and "./////".
|
|
|
|
* file.c (lookup_file, enter_file): Likewise.
|
|
|
|
|
|
|
|
Sun Oct 11 17:00:35 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* dir.c (struct dirstream, {open,read}_dirstream): New
|
|
|
|
data type and functions to read a directory sequentially.
|
|
|
|
(init_dir): New function to hook it into glob.
|
|
|
|
* main.c (main): Call init_dir.
|
|
|
|
|
|
|
|
* compatMakefile (objs): Added glob/libglob.a.
|
|
|
|
* configure.in: Remove code to test for glob.
|
|
|
|
|
|
|
|
Fri Oct 9 12:08:30 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (record_files): Generalized test for NAME pointing
|
|
|
|
somewhere into F->name.
|
|
|
|
|
|
|
|
* variable.c (define_variable_in_set): Free old value when replacing.
|
|
|
|
|
|
|
|
* read.c (do_define): Free the linebuffer before returning.
|
|
|
|
(record_files): When clearing .SUFFIXES deps, free their data.
|
|
|
|
(multi_glob): Free OLD and its data when replacing it with results
|
|
|
|
of glob run.
|
|
|
|
|
|
|
|
* commands.c (set_file_variables): Use alloca in place of xmalloc
|
|
|
|
for temp space for $^, $?, et al.
|
|
|
|
|
|
|
|
* dir.c (struct directory): New member `contents' replaces `files'
|
|
|
|
and `dirstream'.
|
|
|
|
(struct directory_contents): New type.
|
|
|
|
(directories_contents): New hash table.
|
|
|
|
(dir_struct_file_exists_p): Take a struct directory_contents.
|
|
|
|
(dir_file_exists_p): Pass it the `contents' member of the dir found.
|
|
|
|
(dir_struct_file_exists_p): Renamed to dir_contents_file_exists_p;
|
|
|
|
made static. Return 0 if DIR is nil (meaning it couldn't be stat'd).
|
|
|
|
(dir_file_exists_p, find_directory): Change all callers.
|
|
|
|
(file_impossible): Use DIR->contents, initializing it if nil.
|
|
|
|
(print_dir_data_base): Use DIR->contents, and print out device and
|
|
|
|
inode numbers with each directory.
|
|
|
|
|
|
|
|
* Changes for performance win from John Gilmore <gnu@cygnus.com>:
|
|
|
|
* dir.c (DIRECTORY_BUCKETS): Increase to 199.
|
|
|
|
(DIRFILE_BUCKETS): Decrease to 107.
|
|
|
|
(find_directory): Allocate and zero a multiple of
|
|
|
|
sizeof (struct dirfile *), not of sizeof (struct dirfile).
|
|
|
|
(dir_struct_file_exists_p): New function, nearly all code from
|
|
|
|
dir_file_exists_p.
|
|
|
|
(dir_file_exists_p): Just call find_directory+dir_struct_file_exists_p.
|
|
|
|
* vpath.c (selective_vpath_search): Remove redundant
|
|
|
|
dir_file_exists_p call.
|
|
|
|
|
|
|
|
* configure.in: Comment out glob check; always use our code.
|
|
|
|
|
|
|
|
Fri Oct 2 19:41:20 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h [! HAVE_SYS_SIGLIST && HAVE__SYS_SIGLIST]: #define
|
|
|
|
HAVE_SYS_SIGLIST; after doing #define sys_siglist _sys_siglist, we
|
|
|
|
do have it.
|
|
|
|
|
|
|
|
Wed Sep 30 19:21:01 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (main): Don't do -w automatically if -s.
|
|
|
|
|
|
|
|
Tue Sep 29 21:07:55 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (printed_version): Move variable inside print_version.
|
|
|
|
(print_version): Return immediately if printed_version is set.
|
|
|
|
(die): Don't test printed_version here.
|
|
|
|
(decode_switches): Under -v, do print_version before giving usage.
|
|
|
|
(DESCRIPTION_COLUMN): New macro.
|
|
|
|
(decode_switches): Use it when printing the usage message.
|
|
|
|
Leave at least two spaces between options and their descriptions.
|
|
|
|
|
|
|
|
Fri Sep 25 13:12:42 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.20.
|
|
|
|
|
|
|
|
Wed Sep 16 16:15:22 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (read_makefile): Save errno value from trying to open
|
|
|
|
FILENAME, and restore it before erring; otherwise we get the errno
|
|
|
|
value from the last elt of the search path.
|
|
|
|
|
|
|
|
Tue Sep 15 15:12:47 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (long_option_aliases): Add --stop for -S.
|
|
|
|
|
|
|
|
* read.c (word1eq): Do strncmp before dereferencing someplace that
|
|
|
|
may be out in space.
|
|
|
|
|
|
|
|
Wed Sep 9 15:50:41 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* remake.c (notice_finished_file): If all the command lines were
|
|
|
|
recursive, don't do the touching.
|
|
|
|
|
|
|
|
* job.c (start_job_command): Don't check for + here.
|
|
|
|
* commands.c (chop_commands): Do it here instead.
|
|
|
|
|
|
|
|
* default.c (default_terminal_rules): Prepend + to cmds for RCS.
|
|
|
|
|
|
|
|
Wed Sep 2 17:53:08 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile (objs): Include $(ALLOCA).
|
|
|
|
|
|
|
|
* make.h [CRAY]: Move #define signal bsdsignal to before #includes.
|
|
|
|
|
|
|
|
Thu Aug 27 17:45:43 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (default_include_directories): Add INCLUDEDIR first.
|
|
|
|
* compatMakefile (includedir): Define.
|
|
|
|
(defines): Add -D for INCLUDEDIR="$(includedir)".
|
|
|
|
|
|
|
|
* read.c (read_makefile): Grok multiple files in `include';
|
|
|
|
globbing too.
|
|
|
|
|
|
|
|
* remake.c (library_search): New function.
|
|
|
|
(library_file_mtime): Remove function.
|
|
|
|
(f_mtime): Use library_search instead of library_file_mtime.
|
|
|
|
* compatMakefile (libdir): Define.
|
|
|
|
(defines): Add -D for LIBDIR="$(libdir)".
|
|
|
|
* make.texinfo (Libraries/Search): Document change.
|
|
|
|
|
|
|
|
* file.c (rename_file): Fix file_hash_enter call with missing arg.
|
|
|
|
|
|
|
|
Wed Aug 26 17:10:46 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.19.
|
|
|
|
|
|
|
|
* main.c (main): Set command_state to cs_finished for temp files
|
|
|
|
made for stdin makefiles.
|
|
|
|
|
|
|
|
* main.c (decode_switches): Don't tell getopt to return non-option
|
|
|
|
args in order.
|
|
|
|
Ignore an argument of `-'.
|
|
|
|
|
|
|
|
Thu Aug 20 13:36:04 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (start_job_command): If (touch_flag && !RECURSIVE), ignore
|
|
|
|
the command line and go to the next.
|
|
|
|
(notice_finished_file): Under -t, touch FILE.
|
|
|
|
* remake.c (remake_file): Don't touch it here.
|
|
|
|
|
|
|
|
Wed Aug 19 16:06:09 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* function.c (pattern_matches): Use temporary for strlen (WORD)
|
|
|
|
instead of two function calls.
|
|
|
|
|
|
|
|
* compatMakefile (LOAD_AVG): Remove variable and comments.
|
|
|
|
|
|
|
|
Tue Aug 18 14:58:58 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.texinfo (Running): Node renamed to `make Invocation'.
|
|
|
|
|
|
|
|
Fri Aug 14 12:27:10 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* arscan.c (ar_name_equal): Don't compare [MAX-3..MAX] if
|
|
|
|
NAMELEN != MEMLEN.
|
|
|
|
|
|
|
|
Thu Aug 13 17:50:09 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.18.
|
|
|
|
|
|
|
|
* main.c: Don't #include <time.h>; make.h already does.
|
|
|
|
|
|
|
|
Mon Aug 10 17:03:01 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* implicit.c (pattern_search): Fixed copying of suffix when building
|
|
|
|
also_make elts.
|
|
|
|
|
|
|
|
* function.c (expand_function: `shell'): Make sure BUFFER is
|
|
|
|
null-terminated before replacing newlines.
|
|
|
|
|
|
|
|
* compatMakefile (mandir): Use man$(manext), not always manl.
|
|
|
|
|
|
|
|
Sun Aug 2 01:42:50 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* rule.c (new_pattern_rule): Not static.
|
|
|
|
* rule.h: Declare it.
|
|
|
|
|
|
|
|
* file.c (file_hash_enter): New function, most code from rename_file.
|
|
|
|
(rename_file): Call it.
|
|
|
|
* file.h (file_hash_enter): Declare it.
|
|
|
|
|
|
|
|
* dep.h: Doc fix.
|
|
|
|
|
|
|
|
Thu Jul 30 15:40:48 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (decode_switches): Handle usage_and_exit when building
|
|
|
|
long options vector.
|
|
|
|
|
|
|
|
* default.c (default_terminal_rules): Make RCS rules use $(CHECKOUT,v).
|
|
|
|
(default_variables): Define CHECKOUT,v (hairy).
|
|
|
|
|
|
|
|
* make.h [!HAVE_SYS_SIGLIST && HAVE__SYS_SIGLIST]: #define
|
|
|
|
sys_siglist to _sys_siglist.
|
|
|
|
|
|
|
|
Sun Jul 26 16:56:32 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* NEWS: Add header and tail copyright info like Emacs NEWS.
|
|
|
|
|
|
|
|
* make.h [ANSI_STRING]: Don't #define index, rindex, bcmp, bzero,
|
|
|
|
bcopy if already #define'd.
|
|
|
|
[STDC_HEADERS] (qsort, abort, exit): Declare here.
|
|
|
|
[! __GNU_LIBRARY__ && !POSIX]: Not here.
|
|
|
|
|
|
|
|
* make.h [_AIX]: #pragma alloca first thing.
|
|
|
|
|
|
|
|
* job.c (start_waiting_job): Set the command_state to cs_running
|
|
|
|
when we queue a job on waiting_jobs.
|
|
|
|
|
|
|
|
Fri Jul 24 02:16:28 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* variable.c (define_automatic_variables): Use "" instead of nil
|
|
|
|
for empty value.
|
|
|
|
|
|
|
|
Thu Jul 23 22:31:18 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.17.
|
|
|
|
|
|
|
|
* main.c (struct command_switch.type): Add alternative usage_and_exit.
|
|
|
|
(command_switches): Add -h/--help.
|
|
|
|
|
|
|
|
Thu Jul 16 14:27:50 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* GNUmakefile (make-$(version).tar.Z): Include NEWS, not CHANGES.
|
|
|
|
* README.template: Mention NEWS.
|
|
|
|
* CHANGES: Renamed to NEWS.
|
|
|
|
|
|
|
|
* main.c [! STDC_HEADERS] [sun]: Don't declare exit.
|
|
|
|
|
|
|
|
Tue Jul 14 18:48:41 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (main): Set -o files' command_states to cs_finished.
|
|
|
|
|
|
|
|
* rule.c (count_implicit_rule_limits): Decrement num_pattern_rules
|
|
|
|
when tossing a rule.
|
|
|
|
|
|
|
|
* main.c (main): Use alloca only in simple local var assignment,
|
|
|
|
for braindead SGI compiler.
|
|
|
|
|
|
|
|
* rule.c (print_rule_data_base): Barf if num_pattern_rules is
|
|
|
|
inconsistent with the number computed when listing them.
|
|
|
|
|
|
|
|
Mon Jul 13 17:51:53 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* commands.c (set_file_variables): For $? and $^ elts that are archive
|
|
|
|
member refs, use member name only.
|
|
|
|
|
|
|
|
Fri Jul 10 00:05:04 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* variable.h (struct variable.export): Add new alternative v_ifset.
|
|
|
|
* variable.c (target_environment): Check for it.
|
|
|
|
(define_automatic_variables): Set it for MAKEFILES.
|
|
|
|
|
|
|
|
Thu Jul 9 21:24:28 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile (objs): Remove getloadavg.o; $(extras) gets it.
|
|
|
|
(remote.o): Use $(srcdir)/remote.c, not $remote.c<.
|
|
|
|
(distclean, mostlyclean): New targets.
|
|
|
|
|
|
|
|
Tue Jul 7 19:12:49 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.16.
|
|
|
|
|
|
|
|
* compatMakefile (config.status): Remove rule.
|
|
|
|
|
|
|
|
* job.c (start_waiting_job): Free C after using C->file, not before.
|
|
|
|
|
|
|
|
Sat Jul 4 20:51:49 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* commands.c, job.c, main.c, make.h, remote-cstms.c: Use #ifdef
|
|
|
|
HAVE_* instead of #ifndef *_MISSING.
|
|
|
|
* configure.in: Use AC_HAVE_FUNCS instead of AC_MISSING_FUNCS (gone).
|
|
|
|
|
|
|
|
Thu Jul 2 18:47:52 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (main): makelevel>0 or -C implies -w.
|
|
|
|
|
|
|
|
Tue Jun 30 20:50:17 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* file.c, job.c, function.c: Don't #include <errno.h>.
|
|
|
|
make.h: Do it here instead.
|
|
|
|
* arscan.c (ar_member_touch): Don't declare errno.
|
|
|
|
|
|
|
|
Thu Jun 25 17:06:55 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* GNUmakefile (make-$(version).tar.Z): Depend on INSTALL, configure.in.
|
|
|
|
|
|
|
|
* remake.c (update_file): If commands or deps are running after
|
|
|
|
update_file_1 returns, break out of the :: rule (->prev) loop and
|
|
|
|
just return.
|
|
|
|
|
|
|
|
* job.c (job_next_command): New function; code from start_job.
|
|
|
|
(start_job_command): Renamed from start_job. Call job_next_command
|
|
|
|
and recurse for empty command lines and -n.
|
|
|
|
(start_waiting_job): Call start_job_command, not start_job.
|
|
|
|
(new_job): Call job_next_command to prime the child structure, and
|
|
|
|
then call start_waiting_job.
|
|
|
|
(reap_children): Use job_next_command and start_job_command.
|
|
|
|
(start_waiting_job): Call start_remote_job_p here, and store its
|
|
|
|
result in C->remote. If zero, check the load average and
|
|
|
|
maybe put C on waiting_jobs.
|
|
|
|
(start_job_command): Test CHILD->remote rather than calling
|
|
|
|
start_remote_job_p. Don't do load avg checking at all here.
|
|
|
|
|
|
|
|
* main.c (main): Don't handle SIGILL, SIGIOT, SIGEMT, SIGBUS,
|
|
|
|
SIGSEGV, SIGFPE or SIGTRAP.
|
|
|
|
|
|
|
|
* compatMakefile (glob/libglob.a): Don't pass srcdir to sub-make.
|
|
|
|
configure will set it in glob/Makefile.
|
|
|
|
|
|
|
|
Wed Jun 24 19:40:34 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* dir.c [DIRENT] (direct): Don't define to dirent.
|
|
|
|
[! DIRENT] (direct): Define to dirent.
|
|
|
|
(dir_file_exists_p): Use struct dirent instead of struct direct.
|
|
|
|
|
|
|
|
* make.h (getcwd): No space between macro and ( for args!
|
|
|
|
|
|
|
|
* job.c (start_job): Don't put the job on waiting_jobs if
|
|
|
|
job_slots_used==0.
|
|
|
|
|
|
|
|
* make.texinfo (Missing): Shortened title.
|
|
|
|
|
|
|
|
Tue Jun 23 18:42:21 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* file.c (remove_intermediates): Print "rm" commands under -n.
|
|
|
|
|
|
|
|
Mon Jun 22 16:20:02 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.15.
|
|
|
|
|
|
|
|
Fri Jun 19 16:20:26 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* arscan.c [M_UNIX]: #undef M_XENIX.
|
|
|
|
|
|
|
|
Wed Jun 17 17:59:28 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* default.c (default_terminal_rules): Put @ prefix on RCS cmds.
|
|
|
|
|
|
|
|
Tue Jun 16 19:24:17 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile (getloadavg.o): Removed special rule.
|
|
|
|
(CFLAGS): Don't include $(defines).
|
|
|
|
(.c.o): Define suffix rule.
|
|
|
|
(glob/libglob.a): Pass CPPFLAGS=$(defines) to submake.
|
|
|
|
(GETOPT_SRC, srcs, tagsrcs): Prefix files with $(srcdir)/.
|
|
|
|
|
|
|
|
* arscan.c (ar_name_equal): Moved local vars inside #if'd block.
|
|
|
|
|
|
|
|
* make.h (max): Removed.
|
|
|
|
* expand.c (variable_buffer_output): Don't use it.
|
|
|
|
|
|
|
|
* compatMakefile (INSTALL): Define.
|
|
|
|
(Makefile): New rule to make from Makefile.in.
|
|
|
|
(srcdir): Define.
|
|
|
|
(VPATH): Define.
|
|
|
|
(getloadavg.o, remote.o): Use autoconf $foo< hack.
|
|
|
|
|
|
|
|
* commands.c (fatal_error_signal): Removed return.
|
|
|
|
|
|
|
|
Mon Jun 15 17:42:51 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.14.
|
|
|
|
|
|
|
|
* make.texinfo (Summary): New node.
|
|
|
|
(Special Targets): Mention .EXPORT_ALL_VARIABLES here.
|
|
|
|
|
|
|
|
* variable.c (max): Moved to make.h.
|
|
|
|
|
|
|
|
* compatMakefile (objs, srcs): Added ar & arscan.
|
|
|
|
|
|
|
|
* job.c (start_waiting_job): New function, 2nd half of new_job.
|
|
|
|
(new_job): Call it.
|
|
|
|
(start_waiting_jobs): New function.
|
|
|
|
* remake.c (update_goal_chain): Call start_waiting_jobs at the top
|
|
|
|
of the main loop.
|
|
|
|
* compatMakefile (objs, srcs): Removed load, added getloadavg.
|
|
|
|
|
|
|
|
Fri Jun 12 19:33:16 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (load_too_high): New function. Uses getloadavg.
|
|
|
|
(waiting_jobs): New variable.
|
|
|
|
(start_job): Don't call wait_to_start_job. Instead, if
|
|
|
|
load_too_high returns nonzero, add the child to the
|
|
|
|
`waiting_jobs' chain and return without starting the job.
|
|
|
|
|
|
|
|
Thu Jun 11 00:05:28 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* expand.c (variable_buffer_output): Made global again.
|
|
|
|
* variable.h: And declare it.
|
|
|
|
|
|
|
|
* arscan.c (PORTAR): Define for all systems if PORT5AR is not defined.
|
|
|
|
(AR_NAMELEN, AR_TRAILING_SLASH): Removed.
|
|
|
|
(ar_scan): Don't use it. Don't #ifdef AR_TRAILING_SLASH; just look
|
|
|
|
for a slash in the archive at run time.
|
|
|
|
(ar_name_equal): Rewrote .o hacking to not use AR_NAMELEN, and to
|
|
|
|
cope with trailing-slash and non-trailing-slash archives.
|
|
|
|
|
|
|
|
* main.c (main) [! SETVBUF_REVERSED]: Test this instead of USGr3 et al.
|
|
|
|
[SETVBUF_REVERSED]: Always allocate a buffer ourselves.
|
|
|
|
|
|
|
|
* load.c (load_average) [sgi]: Use sysmp call.
|
|
|
|
|
|
|
|
* compatMakefile (INSTALL_DATA, INSTALL_PROGRAM): Define.
|
|
|
|
($(bindir)/$(instname), $(mandir)/make.$(manext)): Use them.
|
|
|
|
|
|
|
|
* make.h [HAVE_VFORK_H]: #include <vfork.h>.
|
|
|
|
(vfork, VFORK_NAME): Don't define.
|
|
|
|
* job.c (start_job): Use "vfork" in place of VFORK_NAME.
|
|
|
|
|
|
|
|
* make.h [HAVE_LIMITS_H, HAVE_SYS_PARAM_H]: If #define'd, #include
|
|
|
|
the each file. Rearranged PATH_MAX hacking.
|
|
|
|
* job.c: Rearranged NGROUPS_MAX hacking.
|
|
|
|
|
|
|
|
* remake.c (fstat, time): Don't declare.
|
|
|
|
|
|
|
|
* compatMakefile (defines): Value is @DEFS@.
|
|
|
|
(LOADLIBES): Value is @LIBS@.
|
|
|
|
(extras): Value is @LIBOBJS@.
|
|
|
|
(ARCHIVES, ARCHIVES_SRC, ALLOCASRC): Removed.
|
|
|
|
* arscan.c, ar.c: Surround body with #ifndef NO_ARCHIVES.
|
|
|
|
|
|
|
|
* misc.c [! HAVE_UNISTD_H]: Test instead of !POSIX to decl get*id.
|
|
|
|
|
|
|
|
* make.h [GETCWD_MISSING]: Test instead of !USG && !POSIX et al.
|
|
|
|
(getcwd): Just declare if present. If not, declare as a macro
|
|
|
|
using getwd, and declare getwd.
|
|
|
|
[PATH_MAX] (GET_PATH_MAX): #define to PATH_MAX.
|
|
|
|
* main.c (main, log_working_directory): Use getcwd instead of getwd.
|
|
|
|
|
|
|
|
* main.c (main) [SETLINEBUF_MISSING]: Test this instead of USG.
|
|
|
|
|
|
|
|
* make.h (SIGHANDLER, SIGNAL): Removed.
|
|
|
|
(RETSIGTYPE): Define if not #define'd.
|
|
|
|
* main.c (main): Use signal in place of SIGNAL.
|
|
|
|
|
|
|
|
* main.c [SYS_SIGLIST_MISSING]: Test instead of USG.
|
|
|
|
|
|
|
|
* job.c (search_path) [GETGROUPS_MISSING]: Test instead of USG.
|
|
|
|
[HAVE_UNISTD_H]: Test instead of POSIX to not decl getgroups.
|
|
|
|
|
|
|
|
* main.c [! HAVE_UNISTD_H]: Test instead of !POSIX to decl chdir.
|
|
|
|
[! STDC_HEADERS]: Test instead of !POSIX to decl exit & atof.
|
|
|
|
|
|
|
|
* job.c (child_handler), commands.c (fatal_error_signal): Return
|
|
|
|
RETSIGTYPE instead of int.
|
|
|
|
* main.c (main): Declare fatal_error_signal and child_handler here
|
|
|
|
to return RETSIGTYPE; removed top-level decl of former.
|
|
|
|
|
|
|
|
* commands.c (fatal_error_signal), job.c (unblock_sigs, start_job),
|
|
|
|
main.c [SIGSETMASK_MISSING]: Test this instead of USG.
|
|
|
|
|
|
|
|
Wed Jun 10 22:06:13 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c [HAVE_WAITPID]: Test this instead of USG.
|
|
|
|
[! HAVE_UNISTD_H]: Test this instead of !POSIX to declare misc fns.
|
|
|
|
(GID_T): Don't #define.
|
|
|
|
(search_path): Use gid_t instead of GID_T.
|
|
|
|
[GETDTABLESIZE_MISSING, SYS_SIGLIST_MISSING, DUP2_MISSING]: Test
|
|
|
|
these individually instead of USG for all.
|
|
|
|
* make.h (ctime): Don't declare. #include time.h instead.
|
|
|
|
[HAVE_UNISTD_H]: #include <unistd.h> and #define POSIX #ifdef
|
|
|
|
_POSIX_VERSION.
|
|
|
|
* dir.c [__GNU_LIBRARY__] (D_NAMLEN): Define to use d_namlen member.
|
|
|
|
* make.h [NEED_MEMORY_H]: Only include memory.h #ifdef this.
|
|
|
|
|
|
|
|
* arscan.c: Removed #ifdef mess about string.h et al.
|
|
|
|
Just #include make.h instead.
|
|
|
|
* make.h (fstat, atol): Declare.
|
|
|
|
|
|
|
|
* commands.c (fatal_error_signal): Don't use sigmask to check for
|
|
|
|
propagated signals; use ||s instead.
|
|
|
|
(PROPAGATED_SIGNAL_MASK): Removed.
|
|
|
|
(fatal_error_signal) [POSIX]: Use sigprocmask in place of sigsetmask.
|
|
|
|
|
|
|
|
* variable.c (variable_buffer, variable_buffer_length,
|
|
|
|
initialize_variable_output, variable_output): Moved to expand.c;
|
|
|
|
made all static.
|
|
|
|
(struct output_state, save_variable_output,
|
|
|
|
restore_variable_output): Removed.
|
|
|
|
* expand.c (initialize_variable_output): Put a NUL at the beginning
|
|
|
|
of the new buffer after allocating it.
|
|
|
|
(allocated_variable_expand_for_file): Don't use
|
|
|
|
{save,restore}_variable_output. Do it by hand instead, keeping
|
|
|
|
state on the stack instead of malloc'ing it.
|
|
|
|
(allocated_variable_expand): Removed.
|
|
|
|
* variable.h (allocated_variable_expand): Define here as macro.
|
|
|
|
(variable_buffer_output, initialize_variable_output,
|
|
|
|
save_variable_output, restore_variable_output): Removed decls.
|
|
|
|
|
|
|
|
* read.c (conditional_line): For an if cmd, if any elt of the
|
|
|
|
conditionals stack is ignoring, just push a new level that ignores
|
|
|
|
and return 1; don't evaluate the condition.
|
|
|
|
|
|
|
|
Thu Jun 4 21:01:20 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (main): Put #ifdef's around frobbing SIGSYS and SIGBUS.
|
|
|
|
|
|
|
|
* job.c (getdtablesize): Don't declare or #define if already #define'd.
|
|
|
|
|
|
|
|
Wed Jun 3 23:42:36 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* file.c (snap_deps): If `.EXPORT_ALL_VARIABLES' is a target, set
|
|
|
|
export_all_variables.
|
|
|
|
* make.texinfo (Variables/Recursion): Document .EXPORT_ALL_VARIABLES.
|
|
|
|
|
|
|
|
Tue Jun 2 21:08:35 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.13.
|
|
|
|
|
|
|
|
* commands.c (set_file_variables): Calculate length for ^D and ?D
|
|
|
|
individually, making sure to give them at least enough space for "./".
|
|
|
|
|
|
|
|
* make.h [CRAY]: #define signal to bsdsignal.
|
|
|
|
|
|
|
|
* default.c (default_variables) [CRAY]: Define PC, SEGLDR,
|
|
|
|
CF77PPFLAGS, CF77PP, CFT, CF, and FC.
|
|
|
|
|
|
|
|
* arscan.c (AR_HDR_SIZE): Define to sizeof (struct ar_hdr), if it
|
|
|
|
wasn't defined by <ar.h>.
|
|
|
|
|
|
|
|
Thu May 28 00:56:53 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.12.
|
|
|
|
|
|
|
|
Tue May 26 01:26:30 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* rule.c (new_pattern_rule): Initialize LASTRULE to nil, not
|
|
|
|
pattern_rules.
|
|
|
|
|
|
|
|
Mon May 25 19:02:15 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (decode_switches): Initialize all the long_option elt members.
|
|
|
|
|
|
|
|
Thu May 21 16:34:24 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.texinfo (Text Functions): Correct filter-out description.
|
|
|
|
|
|
|
|
Tue May 19 20:50:01 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile (realclean): Don't remove backup files.
|
|
|
|
|
|
|
|
* main.c (decode_switches): Allocate ARGC+1 elts in `other_args'.
|
|
|
|
|
|
|
|
Sun May 17 16:38:48 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.11.
|
|
|
|
|
|
|
|
Thu May 14 16:42:33 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (reap_children): Don't die if wait returns EINTR.
|
|
|
|
|
|
|
|
Wed May 13 18:28:25 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (reap_children): Always run the next command for a
|
|
|
|
successful target. If we are going to die, we don't want to leave
|
|
|
|
the target partially made.
|
|
|
|
|
|
|
|
Tue May 12 00:39:19 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (construct_command_argv_internal): After loop, if we only
|
|
|
|
have one word, check it for being a shell command.
|
|
|
|
|
|
|
|
* main.c (decode_switches): Allocate ARGC slots in other_args to
|
|
|
|
begin with, so we never need to worry about growing it.
|
|
|
|
If we get a non-option arg and POSIXLY_CORRECT is in the
|
|
|
|
environment, break out of the loop. After the loop, add all remaining
|
|
|
|
args to other_args list.
|
|
|
|
|
|
|
|
* main.c (decode_switches): For positive_int and floating switches
|
|
|
|
when optarg is nil, use next arg if it looks right (start with a
|
|
|
|
digit, or maybe decimal point for floating).
|
|
|
|
|
|
|
|
* variable.c (define_automatic_variables): Always set SHELL to
|
|
|
|
default if it comes from the environment. Set its export bit.
|
|
|
|
* make.texinfo (Environment): Document change.
|
|
|
|
|
|
|
|
Mon May 11 00:32:46 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.10.
|
|
|
|
|
|
|
|
* compatMakefile (tags, TAGS): Use vars for cmds.
|
|
|
|
(ETAGS, CTAGS): Define.
|
|
|
|
|
|
|
|
* main.c (decode_switches): If a switches elt has a nil long_name,
|
|
|
|
make the long option name elt be "".
|
|
|
|
Fixed loop to not ignore all the options.
|
|
|
|
|
|
|
|
* make.texinfo (Option Summary): Added long options.
|
|
|
|
|
|
|
|
* main.c (switches): Changed -m's description to "-b".
|
|
|
|
(decode_switches): When printing the usage message, don't print
|
|
|
|
switches whose descriptions start with -.
|
|
|
|
When constructing the list of names for switch -C, search the
|
|
|
|
switches vector for switches whose descriptions are "-C".
|
|
|
|
|
|
|
|
* main.c (switches): Call -S --no-keep-going, not --dont-keep-going.
|
|
|
|
Call -I --include-dir, not --include-path.
|
|
|
|
(long_option_aliases): Added --new == -W, --assume-new == -W,
|
|
|
|
--assume-old == -o, --max-load == -l, --dry-run == -n, --recon == -n,
|
|
|
|
--makefile == -f.
|
|
|
|
|
|
|
|
* main.c (switches): Removed bogus "silent" elt.
|
|
|
|
(long_option_aliases): Define new var.
|
|
|
|
(decode_switches): Add long_option_aliases onto the end of the long
|
|
|
|
options vector created for getopt_long.
|
|
|
|
Look through long_option_aliases for extra names to list
|
|
|
|
in usage message.
|
|
|
|
|
|
|
|
Sat May 9 00:21:05 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (log_working_directory): Fixed to properly not print the
|
|
|
|
leaving message when we haven't printed the entering message.
|
|
|
|
|
|
|
|
Fri May 8 21:55:35 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (struct command_switch): Added elts `long_name',
|
|
|
|
`description', and `argdesc'.
|
|
|
|
(switches): Added initializers for new members.
|
|
|
|
(decode_switches): Rewritten to use getopt_long.
|
|
|
|
* compatMakefile (GETOPT, GETOPT_SRC): Define.
|
|
|
|
(objs, srcs): Include them.
|
|
|
|
|
|
|
|
* job.c (child_died): Renamed to dead_children; made static.
|
|
|
|
(child_handler): Increment dead_children instead of setting child_died.
|
|
|
|
(reap_children): Decrement dead_children instead of clearing
|
|
|
|
child_died. The point of all this is to avoid printing "waiting
|
|
|
|
for unfinished jobs" when we don't actually need to block.
|
|
|
|
This happened when multiple SIGCHLDs before reap_children was called.
|
|
|
|
|
|
|
|
* job.c (reap_children): If ERR is set, so we don't call start_job
|
|
|
|
on the child being reaped, instead set its command_state to
|
|
|
|
cs_finished.
|
|
|
|
(reap_children, child_handler, new_job): I added several
|
|
|
|
debugging printf's while fixing this. I left them in if (debug_flag)
|
|
|
|
because they may be useful for debugging this stuff again.
|
|
|
|
|
|
|
|
Wed May 6 22:02:37 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (read_makefile): v_export is not 1.
|
|
|
|
|
|
|
|
Mon May 4 17:27:37 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.9.
|
|
|
|
|
|
|
|
* variable.c (export_all_variables): New variable.
|
|
|
|
(target_environment): Export variables whose `export' member is
|
|
|
|
v_default if export_all_variables is set and their names are benign.
|
|
|
|
* variable.h: Declare export_all_variables.
|
|
|
|
* read.c (read_makefile): If export or unexport is given with no
|
|
|
|
args, set or clear export_all_variables, respectively.
|
|
|
|
|
|
|
|
* variable.c (target_environment): Exclude MAKELEVEL in the loop,
|
|
|
|
so it isn't duplicated when we add it at the end.
|
|
|
|
|
|
|
|
Sun May 3 17:44:48 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.8.
|
|
|
|
|
|
|
|
* variable.h (struct variable): Added new member `export'.
|
|
|
|
* variable.c (define_variable_in_set): Initialize it to v_default.
|
|
|
|
(target_environment): Don't check for .NOEXPORT.
|
|
|
|
Export variables whose `export' member is v_default and that would
|
|
|
|
have been exported under .NOEXPORT, and variables whose `export'
|
|
|
|
member is v_export.
|
|
|
|
(try_variable_definition): Return the variable defined.
|
|
|
|
* variable.h (try_variable_definition): Changed decl.
|
|
|
|
* read.c (read_makefile): Recognize `export' and `unexport' directives.
|
|
|
|
|
|
|
|
Fri May 1 11:39:38 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (main) [POSIX]: Reversed args to sigaddset.
|
|
|
|
|
|
|
|
Thu Apr 30 17:33:32 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c [POSIX || !USG] (unblock_sigs): New fn.
|
|
|
|
(start_job): Block signals before forking.
|
|
|
|
(new_job): Unblock signals after putting the new child on the chain.
|
|
|
|
* main.c (main) [POSIX]: Use sigset_t fatal_signal_set instead of
|
|
|
|
int fatal_signal_mask.
|
|
|
|
|
|
|
|
* load.c [sgi] (LDAV_CVT): Define.
|
|
|
|
|
|
|
|
Wed Apr 29 17:15:59 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.7.
|
|
|
|
|
|
|
|
* load.c (load_average) [sgi]: Clear the high bit of the address
|
|
|
|
from the symbol table before looking it up in kmem.
|
|
|
|
|
|
|
|
* misc.c (fatal, makefile_fatal): Put *** in fatal error messages.
|
|
|
|
(remake_file): No longer needed in message here.
|
|
|
|
|
|
|
|
* main.c (die): Call reap_children with BLOCK==1.
|
|
|
|
|
|
|
|
Tue Apr 28 20:44:35 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* rule.c (freerule): Don't set LASTRULE->next if LASTRULE is nil.
|
|
|
|
|
|
|
|
Sun Apr 26 15:09:51 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* rule.c (count_implicit_rule_limits): Initialize LASTRULE to nil,
|
|
|
|
not to head of chain. Extract next ptr before we might do
|
|
|
|
freerule, and use that for next iteration.
|
|
|
|
(freerule): Still do next ptr frobbing if LASTRULE is nil.
|
|
|
|
|
|
|
|
Tue Apr 21 03:16:29 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (child_error): Removed extra %s from error msg format.
|
|
|
|
|
|
|
|
* Version 3.62.6.
|
|
|
|
|
|
|
|
* job.c (reap_children): Don't start later commands in a sequence
|
|
|
|
if ERR is nonzero.
|
|
|
|
|
|
|
|
* job.c (new_job): Always call reap_children with BLOCK==0 first thing.
|
|
|
|
|
|
|
|
* job.c (reap_children): New function; work that used to be done in
|
|
|
|
child_handler.
|
|
|
|
(child_died): New global var.
|
|
|
|
(child_handler): Now just sets child_died.
|
|
|
|
(wait_for_children): Removed.
|
|
|
|
(unknown_children_possible, block_signals, unblock_signals,
|
|
|
|
push_signals_blocked_p, pop_signals_blocked_p): Removed.
|
|
|
|
(child_execute_job): Removed call to unblock_signals.
|
|
|
|
(new_job): Removed calls to push_signals_blocked_p and
|
|
|
|
pop_signals_blocked_p.
|
|
|
|
* job.h: Declare reap_children, not wait_for_children.
|
|
|
|
* commands.c (fatal_error_signal), job.c (new_job),
|
|
|
|
load.c [LDAV_BASED] (wait_to_start_job), main.c (die),
|
|
|
|
remake.c (update_goal_chain), function.c (expand_function: `shell'):
|
|
|
|
Changed wait_for_children calls to reap_children.
|
|
|
|
Some needed to be loops to wait for all children to die.
|
|
|
|
* commands.c (fatal_error_signal), main.c (main,
|
|
|
|
log_working_directory), function.c (expand_function): Removed calls
|
|
|
|
to push_signals_blocked_p and pop_signals_blocked_p.
|
|
|
|
* job.h: Removed decls.
|
|
|
|
|
|
|
|
* job.h: Added copyright notice.
|
|
|
|
|
|
|
|
Wed Apr 15 02:02:40 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (child_error): No *** for ignored error.
|
|
|
|
|
|
|
|
Tue Apr 14 18:31:21 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* implicit.c (DEBUGP2): Use do ... while (0) instead of if ... else to
|
|
|
|
avoid compiler warnings.
|
|
|
|
|
|
|
|
* read.c (parse_file_seq): Don't remove ./ when it is followed by a
|
|
|
|
blank.
|
|
|
|
|
|
|
|
Mon Apr 13 21:56:15 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h (DEBUGPR): Use do ... while (0) instead of if ... else to
|
|
|
|
avoid compiler warnings.
|
|
|
|
|
|
|
|
* remake.c (notice_finished_file): Run file_mtime on the also_make
|
|
|
|
files, so vpath_search can happen.
|
|
|
|
|
|
|
|
* GNUmakefile (tests): Use perl test suite from csa@sw.stratus.com.
|
|
|
|
(alpha-files): Include test suite tar file.
|
|
|
|
|
|
|
|
Fri Apr 3 00:50:13 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.5.
|
|
|
|
|
|
|
|
Wed Apr 1 05:31:18 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* remake.c (update_file, update_file_1): Do check_renamed on elts
|
|
|
|
of dep chains when traversing them. Something unrelated might have
|
|
|
|
renamed one of the files the dep chain points to.
|
|
|
|
|
|
|
|
* file.c (rename_file): If FILE has been renamed, follow its
|
|
|
|
`renamed' ptr, so we get to the final real FILE. Using the renamed
|
|
|
|
ones loses because they are not in the hash table, so the removal
|
|
|
|
code loops infinitely.
|
|
|
|
|
|
|
|
* read.c (read_all_makefiles): Clobber null terminator into
|
|
|
|
MAKEFILES expansion, so string passed to read_makefile is properly
|
|
|
|
terminated.
|
|
|
|
|
|
|
|
Mon Mar 30 20:18:02 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* commands.c (set_file_variables): $* for archive member with
|
|
|
|
explicit cmds is stem of member, not of whole `lib(member)'.
|
|
|
|
|
|
|
|
Thu Mar 26 15:24:38 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.4.
|
|
|
|
|
|
|
|
Tue Mar 24 05:20:51 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* rule.c (new_pattern_rule): Rules are identical only if all their
|
|
|
|
targets match (regardless of order).
|
|
|
|
|
|
|
|
Wed Mar 11 13:49:54 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* remake.c (remake_file): Changed error "no way to make" to "no
|
|
|
|
rule to make". Fiat Hugh.
|
|
|
|
|
|
|
|
* make.texinfo (Last Resort): Describe %:: rules and new .DEFAULT
|
|
|
|
behavior.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Only use .DEFAULT cmds if FILE is not a
|
|
|
|
target.
|
|
|
|
|
|
|
|
Tue Mar 10 18:13:13 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* remote-stub.c, remote-cstms.c (start_remote_job): Take new arg,
|
|
|
|
environment to pass to child.
|
|
|
|
* job.c (start_job): Pass it.
|
|
|
|
|
|
|
|
Mon Mar 9 19:00:11 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* file.c (enter_file): Also strip ./s here, to get command-line
|
|
|
|
target names.
|
|
|
|
|
|
|
|
* remote-cstms.c: Add comment telling people to leave me alone.
|
|
|
|
|
|
|
|
* compatMakefile (manpage install): Remove target before copying.
|
|
|
|
|
|
|
|
Tue Mar 3 18:43:21 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.texinfo (Missing): Renamed to "Incompatibilities and ...".
|
|
|
|
Added paragraph describing $? incompatibility with Unix and POSIX.2.
|
|
|
|
|
|
|
|
Sun Mar 1 15:50:54 1992 Roland McGrath (roland@nutrimat.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* function.c (expand_function: `shell'): Don't declare fork or pipe.
|
|
|
|
Use vfork instead of fork.
|
|
|
|
|
|
|
|
Tue Feb 25 22:05:32 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.texinfo (Chained Rules): Clarify .PRECIOUS to save
|
|
|
|
intermediate files.
|
|
|
|
|
|
|
|
* load.c [sun] (LDAV_CVT): Define to divide by FSCALE.
|
|
|
|
|
|
|
|
Sun Feb 16 02:05:16 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.3.
|
|
|
|
|
|
|
|
Sat Feb 15 17:12:20 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile (makeinfo): Use emacs batch-texinfo-format fn.
|
|
|
|
|
|
|
|
Fri Feb 14 00:11:55 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (read_makefile): Correctly handle define & endef in ifdefs.
|
|
|
|
|
|
|
|
* read.c (record_files): Pass arg for %s in error msg.
|
|
|
|
|
|
|
|
* main.c (main) [__IBMR2, POSIX]: Use correct (a la USGr3) setvbuf
|
|
|
|
call.
|
|
|
|
|
|
|
|
Wed Feb 12 12:07:39 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.texinfo (Libraries/Search): Say it does /usr/local/lib too.
|
|
|
|
|
|
|
|
Sun Feb 9 23:06:24 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (read_makefile): Check for extraneous `endef' when ignoring.
|
|
|
|
|
|
|
|
Thu Feb 6 16:15:48 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.2.
|
|
|
|
|
|
|
|
Tue Feb 4 20:04:46 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (construct_command_argv_internal): Correctly ignore
|
|
|
|
whitespace after backslash-NL.
|
|
|
|
|
|
|
|
Fri Jan 31 18:30:05 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile: Ignore errors from chgrp and chmod when installing.
|
|
|
|
|
|
|
|
Wed Jan 29 18:13:30 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (main): When setting MAKELEVEL in the env to re-exec,
|
|
|
|
allocate space so as not to clobber past the end of the old string.
|
|
|
|
|
|
|
|
* make.h [HAVE_ALLOCA_H]: Include <alloca.h>
|
|
|
|
* compatMakefile (defines): Document HAVE_ALLOCA_H.
|
|
|
|
|
|
|
|
Mon Jan 20 13:40:05 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h [VFORK_MISSING]: Use fork instead.
|
|
|
|
* compatMakefile (defines): Document same.
|
|
|
|
|
|
|
|
* job.c (construct_command_argv_internal): Don't create an empty
|
|
|
|
arg if backslash-NL is at beginning of word.
|
|
|
|
|
|
|
|
Sun Jan 19 16:26:53 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c [DGUX]: Call setvbuf as for USGr3.
|
|
|
|
|
|
|
|
* job.c (construct_command_argv_internal): Notice correctly that
|
|
|
|
backslash-NL is the end of the arg (because it is replaced with a
|
|
|
|
space).
|
|
|
|
|
|
|
|
Thu Jan 16 18:42:38 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (construct_command_argv_internal): If SHELL is nil, set it
|
|
|
|
to default_shell before proceeding.
|
|
|
|
|
|
|
|
* make.h [sgi]: No alloca.h, after all.
|
|
|
|
|
|
|
|
Wed Jan 15 12:30:04 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (multi_glob): Cons up the chain of the results of glob
|
|
|
|
from back to front, so it comes out in forward order.
|
|
|
|
|
|
|
|
* job.c (construct_command_argv_internal): Don't eat char following
|
|
|
|
backslash-NL.
|
|
|
|
|
|
|
|
Mon Jan 13 19:16:56 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.1.
|
|
|
|
|
|
|
|
* default.c (default_variables) [ultrix]: GET=get, like USG.
|
|
|
|
|
|
|
|
* job.c (construct_command_argv_internal): Remove tabs following
|
|
|
|
backslash-NL combos in the input line, so they don't show up when
|
|
|
|
that line is printed.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Don't collapse_continuations the line on
|
|
|
|
input; do it on the copy we do remove_comments on.
|
|
|
|
For rule lines, collapse_continuations the line after chopping
|
|
|
|
";cmds" off the end, so we don't eat conts in the cmds.
|
|
|
|
Give error for ";cmds" with no rule.
|
|
|
|
* job.c (construct_command_argv_internal): Eat backslash-NL combos
|
|
|
|
when constructing the line to recurse on for slow, too.
|
|
|
|
|
|
|
|
Sat Jan 11 02:20:27 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* file.c (enter_file): Don't strip leading `./'s.
|
|
|
|
* read.c (parse_file_seq): Take new arg STRIP; if nonzero, do it here.
|
|
|
|
* default.c (set_default_suffixes), function.c (string_glob),
|
|
|
|
read.c (read_makefile), rule.c (install_pattern_rule): Change callers.
|
|
|
|
|
|
|
|
* default.c (default_variables) [_IBMR2]: FC=xlf
|
|
|
|
|
|
|
|
* job.c (construct_command_argv_internal): Turn backslash-NL and
|
|
|
|
following whitespace into a single space, rather than just eating
|
|
|
|
the backslash.
|
|
|
|
|
|
|
|
* make.texinfo (Copying): @include gpl.texinfo, rather than
|
|
|
|
duplicating its contents.
|
|
|
|
|
|
|
|
Fri Nov 8 20:06:03 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (construct_command_argv_internal): Make sure not to bother
|
|
|
|
processing an empty line.
|
|
|
|
|
|
|
|
* Version 3.62.0.
|
|
|
|
|
|
|
|
* job.c (construct_command_argv_internal): Always recurse for slow;
|
|
|
|
simple case didn't handle finding newlines.
|
|
|
|
|
|
|
|
Tue Nov 5 18:51:10 1991 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (construct_command_argv_internal): Set RESTP properly when
|
|
|
|
slow; don't \ify past a newline.
|
|
|
|
|
|
|
|
Fri Nov 1 19:34:28 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h [sgi]: #include <alloca.h>.
|
|
|
|
|
|
|
|
Tue Oct 29 20:57:36 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.62.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Check for deps still running before
|
|
|
|
giving up if any dep has failed.
|
|
|
|
|
|
|
|
Sat Oct 26 16:20:00 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h [uts]: #undef S_ISREG and S_ISDIR if defined.
|
|
|
|
|
|
|
|
Fri Oct 25 19:50:39 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.60.17.
|
|
|
|
|
|
|
|
Thu Oct 24 16:58:36 1991 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (start_job): Don't check for empty cmds before tweaking the
|
|
|
|
command_ptr. Just let construct_command_argv do it.
|
|
|
|
|
|
|
|
Tue Oct 22 20:21:03 1991 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* remake.c, arscan.c [POSIX]: <fcntl.h> instead of <sys/file.h>.
|
|
|
|
|
|
|
|
* make.h [POSIX]: Declare vfork as pid_t.
|
|
|
|
|
|
|
|
Mon Oct 21 15:37:30 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.60.16.
|
|
|
|
|
|
|
|
* job.c (construct_command_argv, construct_command_argv_internal):
|
|
|
|
Take new 2nd arg RESTP. If non-NULL, stop parsing at newline, and
|
|
|
|
store addr of the NL in *RESTP.
|
|
|
|
(start_job): Don't chop expanded cmd lines up; use above code to do it.
|
|
|
|
* function.c (expand_function: `shell'): Pass RESTP==NULL.
|
|
|
|
|
|
|
|
Sat Oct 19 15:36:34 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.60.15.
|
|
|
|
|
|
|
|
Fri Oct 18 15:26:55 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (start_job): If on the same cmds->command_lines elt, look
|
|
|
|
at cmds->lines_recurse[CHILD->command_line - 1] instead of
|
|
|
|
[CHILD->command_line].
|
|
|
|
|
|
|
|
* dir.c [sgi]: <sys/dir.h>, not ndir or anything else.
|
|
|
|
|
|
|
|
Thu Oct 17 16:28:55 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* file.c (print_file_data_base): Remove unused var.
|
|
|
|
|
|
|
|
* make.h [NeXT]: No #define ANSI_STRING.
|
|
|
|
|
|
|
|
Tue Oct 15 20:08:41 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.60.14.
|
|
|
|
|
|
|
|
Fri Oct 11 16:23:52 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h: Use PATH_MAX for getwd defn.
|
|
|
|
|
|
|
|
* make.h: Move getcwd/getwd outside of #ifndef POSIX, and make it
|
|
|
|
#if USG||POSIX.
|
|
|
|
|
|
|
|
Thu Oct 10 11:53:31 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.60.13.
|
|
|
|
|
|
|
|
* read.c (read_all_makefiles): When processing MAKEFILES, save the
|
|
|
|
malloc'd ptr to be freed, instead of freeing part-way thru it.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Don't tweak FILE->also_make.
|
|
|
|
(update_file): Do it here. After calling update_file_1, set the
|
|
|
|
command_state, update_status, and updated members of each also_make
|
|
|
|
elt to FILE's values.
|
|
|
|
|
|
|
|
Tue Oct 8 14:56:04 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.60.12.
|
|
|
|
|
|
|
|
* remake.c (notice_finished_file): Set command_state of FILE and
|
|
|
|
its also_make chain to cs_finished here.
|
|
|
|
* commands.c (execute_file_commands), job.c (child_handler),
|
|
|
|
remake.c (remake_file): Don't set it before calling
|
|
|
|
notice_finished_file.
|
|
|
|
|
|
|
|
* file.h (struct file): Changed `also_make' to struct dep *.
|
|
|
|
* job.c (delete_child_targets), file.c (print_file_data_base),
|
|
|
|
remake.c (notice_finished_file), implicit.c (pattern_search):
|
|
|
|
Use dep chain instead of array of file names.
|
|
|
|
|
|
|
|
Mon Oct 7 17:04:33 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.60.11.
|
|
|
|
|
|
|
|
* arscan.c: Declare open.
|
|
|
|
* misc.c: Declare {get,set}{re,}[ug]id.
|
|
|
|
* variable.c (target_environment): Declare getenv.
|
|
|
|
|
|
|
|
Sat Oct 5 15:13:03 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h [NeXT]: <string.h> instead of <strings.h>.
|
|
|
|
|
|
|
|
Fri Oct 4 16:05:41 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* default.c (default_suffixes, defualt_suffix_rules): Add .texi
|
|
|
|
just like .texinfo.
|
|
|
|
|
|
|
|
* Version 3.60.10.
|
|
|
|
|
|
|
|
* job.c: Move vfork decl into make.h.
|
|
|
|
|
|
|
|
Fri Sep 27 18:45:30 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile (glob/libglob.a): Pass CC value to submake.
|
|
|
|
|
|
|
|
Thu Sep 26 00:08:15 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* load.c (load_average): Made not static.
|
|
|
|
|
|
|
|
* load.c [ultrix && vax]: Define LDAV_TYPE and LDAV_CVT for Ultrix 4.2.
|
|
|
|
|
|
|
|
Tue Sep 24 00:17:20 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.60.9.
|
|
|
|
|
|
|
|
* read.c (record_files): Warn about extra cmds even if the target's
|
|
|
|
name begins with a dot. I think the lusers can handle this.
|
|
|
|
|
|
|
|
Mon Sep 23 22:33:26 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h, arscan.c: Don't declare bcmp, bzero, or bcopy if they're
|
|
|
|
#define'd.
|
|
|
|
* make.h: Declare write and open.
|
|
|
|
|
|
|
|
* default.c (default_suffixes, default_suffix_rules,
|
|
|
|
default_variables): Add .C just like .cc.
|
|
|
|
* make.texinfo (Catalogue of Rules): Document .C.
|
|
|
|
|
|
|
|
* make.man (-w): Fix gramo.
|
|
|
|
|
|
|
|
Fri Sep 20 17:18:16 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h: No text after #endif.
|
|
|
|
|
|
|
|
Sun Sep 15 16:20:46 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.60.8.
|
|
|
|
|
|
|
|
* implicit.c (pattern_search): In the second pass, recurse on rule
|
|
|
|
deps that don't have a %. Why did I make it not do this?
|
|
|
|
|
|
|
|
Fri Sep 14 18:29:39 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (record_files): For extra cmds, use the last ones given.
|
|
|
|
If the target's name doesn't begin with a dot (bletch!!), emit a
|
|
|
|
two-line warning, one line giving the old cmds' location and the
|
|
|
|
other the new cmds' location.
|
|
|
|
|
|
|
|
* misc.c (makefile_error, makefile_fatal): New fns.
|
|
|
|
* make.h: Declare them.
|
|
|
|
* Use them instead of error/fatal for all msgs including a file
|
|
|
|
name and line number.
|
|
|
|
|
|
|
|
Thu Sep 13 16:35:54 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h: Declare define_default_variables.
|
|
|
|
Declare ar_parse_name, instead of ar_name_parse (M-t).
|
|
|
|
|
|
|
|
Mon Sep 10 18:35:40 1991 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.60.7.
|
|
|
|
|
|
|
|
* make.texinfo (Variables: Setting): Say whitespace is removed if
|
|
|
|
"immediately after =", rather than simply "after =".
|
|
|
|
|
|
|
|
* job.c: Don't declare wait #ifdef POSIX.
|
|
|
|
|
|
|
|
* make.h [__GNUC__]: #undef alloca and then #define it.
|
|
|
|
|
|
|
|
* main.c (main): When pruning makefiles which might loop from the
|
|
|
|
read_makefiles chain, look at all `prev' entries of double-colon rules.
|
|
|
|
|
|
|
|
Fri Sep 7 00:41:53 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (main): Only remove makefiles with cmds but no deps from
|
|
|
|
the list of makefiles to be rebuilt if they are :: targets.
|
|
|
|
: targets with cmds and no deps are not dangerous.
|
|
|
|
|
|
|
|
Wed Sep 5 17:35:51 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile (defines): Add comment that some compilers take
|
|
|
|
ENUM_BITFIELDS but produce bogus code.
|
|
|
|
(LOAD_AVG): Fix examples to \ "s.
|
|
|
|
(LOADLIBES): Add comment that SGI Irix needs -lmld for nlist.
|
|
|
|
|
|
|
|
Tue Sep 4 20:26:26 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.60.6.
|
|
|
|
|
|
|
|
Fri Aug 30 19:34:04 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* remake.c (update_file_1): When checking the command_state of
|
|
|
|
deps, check through the prev chain.
|
|
|
|
(update_goal_chain): When a target is finished, start checking its
|
|
|
|
prev (if it has one) instead.
|
|
|
|
|
|
|
|
Wed Aug 7 17:32:03 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* rule.c (convert_to_pattern): Allow files with deps to define
|
|
|
|
suffix rules (really this time).
|
|
|
|
|
|
|
|
Mon Aug 5 17:09:21 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* misc.c (user_access, make_access): Do saved-IDs (USG) flavor
|
|
|
|
#ifdef POSIX.
|
|
|
|
|
|
|
|
* file.c (enter_file): Strip ./s here.
|
|
|
|
* read.c (parse_file_seq): Not here.
|
|
|
|
|
|
|
|
Tue Jul 23 23:34:30 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile: Added comment that -lPW alloca is broken on HPUX.
|
|
|
|
|
|
|
|
Thu Jul 18 03:10:41 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.60.5.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Ignore lines containing chars that are
|
|
|
|
all isspace, not just all isblank.
|
|
|
|
|
|
|
|
* make.texinfo (Copying): @include gpl.texinfo, rather than copying
|
|
|
|
the text.
|
|
|
|
* gpl.texinfo: New file (symlink to /gd/gnu/doc/gpl.texinfo).
|
|
|
|
* GNUmakefile: Put gpl.texinfo in distribution.
|
|
|
|
|
|
|
|
Tue Jul 16 12:50:35 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h: #define _GNU_SOURCE before including headers.
|
|
|
|
Include <ctype.h> and define isblank if <ctype.h> doesn't.
|
|
|
|
* commands.c: Don't include <ctype.h> here.
|
|
|
|
* *.c: Use isblank instead of explicit ' ' || '\t'.
|
|
|
|
|
|
|
|
Mon Jul 15 17:43:38 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* function.c (expand_function: `filter'/`filter-out'): Fixed to not
|
|
|
|
loop infinitely.
|
|
|
|
|
|
|
|
Fri Jul 12 12:18:12 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* function.c (expand_function: `filter'/`filter-out'): Rewritten to
|
|
|
|
handle filter-out of multiple patterns properly. Also no longer
|
|
|
|
mallocs and reallocs for temp array; uses alloca and a linked-list
|
|
|
|
instead.
|
|
|
|
|
|
|
|
Wed Jul 10 22:34:54 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.60.4.
|
|
|
|
|
|
|
|
* make.texinfo: Moved some @groups that were outside @examples to
|
|
|
|
be inside them.
|
|
|
|
|
|
|
|
* load.c [apollo] (load_average): Define using special syscall for
|
|
|
|
Apollo DOMAIN/OS SR10.n.
|
|
|
|
|
|
|
|
Thu Jul 4 12:32:53 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.texinfo (Missing): Added Unix excessive implicit rule
|
|
|
|
search; mention that POSIX.2 doesn't require any of the missing
|
|
|
|
features.
|
|
|
|
(Top): Updated printed manual price to $15.
|
|
|
|
|
|
|
|
Wed Jul 3 18:17:50 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* file.c (rename_file): Carry over last_mtime when merging files.
|
|
|
|
* remake.c (f_mtime): Tail-recurse after renaming VPATH file, to
|
|
|
|
check for saved date in existing renamed-to file.
|
|
|
|
|
|
|
|
* remote-cstms.c (start_remote_job): Use PATH_VAR.
|
|
|
|
|
|
|
|
* commands.c [POSIX || __GNU_LIBRARY__]: Don't declare getpid.
|
|
|
|
|
|
|
|
* compatMakefile (glob-{clean,realclean}): Run clean/realclean in glob.
|
|
|
|
(clean, realclean): Require those.
|
|
|
|
|
|
|
|
* make.h: Always declare environ.
|
|
|
|
Don't declare old glob functions.
|
|
|
|
|
|
|
|
* GNUmakefile: Make no-lib deps for load.c and remote.c.
|
|
|
|
|
|
|
|
Tue Jul 2 18:35:20 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.60.3.
|
|
|
|
|
|
|
|
Mon Jul 1 16:58:30 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (multi_glob): Don't pass GLOB_QUOTE flag to glob.
|
|
|
|
|
|
|
|
* make.h [POSIX]: Include <unistd.h>, and don't declare things that
|
|
|
|
should be there.
|
|
|
|
|
|
|
|
* main.c (main) [USG && sgi]: malloc a buffer for broken sgi stdio.
|
|
|
|
|
|
|
|
Sat Jun 29 11:22:21 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* function.c (expand_function: `shell'): Use alloca for the error
|
|
|
|
msg buffer, instead of assuming an arbitrary max size.
|
|
|
|
|
|
|
|
Fri Jun 28 18:15:08 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c [POSIX] (search_path): Do real 1003.1 goop to get NGROUPS_MAX.
|
|
|
|
|
|
|
|
Wed Jun 26 11:04:44 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* default.c (define_default_variables): New fn.
|
|
|
|
(install_default_implicit_rules): Code for above fn moved there.
|
|
|
|
* main.c (main): Do define_default_variables before reading the
|
|
|
|
makefile.
|
|
|
|
|
|
|
|
Tue Jun 25 17:30:46 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (main): Quote ; in MAKEOVERRIDES.
|
|
|
|
|
|
|
|
Tue Jun 18 13:56:30 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile: Fixed typo in comment.
|
|
|
|
|
|
|
|
Tue Jun 11 00:14:59 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.60.2.
|
|
|
|
|
|
|
|
Mon Jun 10 14:46:37 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h: Always include <sys/types.h>.
|
|
|
|
[POSIX]: Include <limits.h> and #define MAXPATHLEN to be PATH_MAX.
|
|
|
|
|
|
|
|
* default.c (default_suffix_rules: .texinfo.dvi): Use $(TEXI2DVI).
|
|
|
|
(default_variables): Define TEXI2DVI.
|
|
|
|
|
|
|
|
Thu Jun 6 16:49:19 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.60.1.
|
|
|
|
|
|
|
|
* make.h (SIGNAL): Cast handler arg to SIGHANDLER type.
|
|
|
|
|
|
|
|
Wed Jun 5 06:00:43 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (multi_glob): Use POSIX.2 `glob' function.
|
|
|
|
If a glob pattern matches nothing, leave it as is (a la sh, bash).
|
|
|
|
Also, if can't find USER for ~USER, leave it as is (a la bash).
|
|
|
|
|
|
|
|
Mon Jun 3 16:36:00 1991 Roland McGrath (roland@albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile: Rewrote comments about -Ds to be easier to use.
|
|
|
|
|
|
|
|
* make.h, arscan.c, remake.c, main.c, dir.c, job.c: Changed tests
|
|
|
|
of _POSIX_SOURCE to POSIX.
|
|
|
|
|
|
|
|
* job.c: Take getdtablesize out of #ifdef __GNU_LIBRARY__.
|
|
|
|
Put separately #ifdef USG.
|
|
|
|
|
|
|
|
* COPYING: Replaced with version 2.
|
|
|
|
* Changed copyright notices to refer to GPL v2.
|
|
|
|
|
|
|
|
Thu May 30 00:31:11 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h: Don't declare sigblock for POSIX.
|
|
|
|
|
|
|
|
* main.c (main, log_working_directory) [USG]: Get getcwd failure
|
|
|
|
mode from errno, not passed buffer like BSD getwd.
|
|
|
|
|
|
|
|
* misc.c (child_access): New fn to set access for a child process;
|
|
|
|
like user_access, but you can't change back.
|
|
|
|
* make.h: Declare it.
|
|
|
|
* job.c (exec_command): Use it in place of user_access.
|
|
|
|
|
|
|
|
Wed May 29 23:28:48 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* default.c (default_variables) [pyr]: PC = pascal.
|
|
|
|
|
|
|
|
Tue May 28 20:24:56 1991 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* variable.c (print_variable): Put a newline before `endef'.
|
|
|
|
|
|
|
|
Sat May 25 02:39:52 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.60.
|
|
|
|
|
|
|
|
Wed May 22 19:41:37 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.59.5.
|
|
|
|
|
|
|
|
Thu May 16 13:59:24 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (main): Do USGr3 setvbuf behavior #ifdef APOLLO.
|
|
|
|
Don't handle SIGCHLD #ifdef USG (Apollo is USG but defines SIGCHLD).
|
|
|
|
|
|
|
|
Fri May 10 14:59:33 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* remake.c [sgi]: Don't include <sys/file.h>.
|
|
|
|
|
|
|
|
Wed May 8 01:54:08 1991 Roland McGrath (roland@geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h (SIGHANDLER): #define as (void *) #if __STDC__,
|
|
|
|
else (int (*)()).
|
|
|
|
(SIGNAL): Use it to cast return value.
|
|
|
|
* main.c (main): Cast SIG_IGN to SIGHANDLER when comparing.
|
|
|
|
* job.c (block_signals, unblock_signals): Use SIGNAL instead of signal.
|
|
|
|
|
|
|
|
* main.c: Declare mktemp to return char*, not int.
|
|
|
|
|
|
|
|
* job.c (new_job): Don't increment files_remade.
|
|
|
|
* remake.c (notice_finished_file): Do it here.
|
|
|
|
|
|
|
|
* read.c (do_define): Don't clobber DEFINITION[-1] on empty defns.
|
|
|
|
Free storage that is no longer needed.
|
|
|
|
|
|
|
|
Wed Apr 24 20:49:48 1991 Roland McGrath (roland at churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* misc.c (message): New fn to print informational msgs with
|
|
|
|
leading "make: " or "make[N]: ".
|
|
|
|
* make.h: Declare it.
|
|
|
|
* remake.c (update_file): Use it instead of printf.
|
|
|
|
|
|
|
|
Fri Apr 19 05:52:45 1991 Roland McGrath (roland at churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (main): When there are no targets, if there were no
|
|
|
|
makefiles, print a different error message, which mentions makefiles.
|
|
|
|
|
|
|
|
Tue Apr 16 03:22:45 1991 Roland McGrath (roland at geech.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* remake.c (update_file): Print "nothing to be done" instead of "is
|
|
|
|
up to date" if FILE->cmds == 0.
|
|
|
|
|
|
|
|
* job.c [!WIFEXITED]: Define if not already defined.
|
|
|
|
|
|
|
|
Thu Apr 11 18:00:50 1991 Roland McGrath (roland at wookumz.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* arscan.c (ar_name_equal): Fixed truncation comparison.
|
|
|
|
|
|
|
|
Tue Apr 2 16:17:35 1991 Roland McGrath (roland at churchy.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* glob.c: Use common version from djm.
|
|
|
|
* dir.c: Snarfed #ifdef mess for <dirent.h> or whatever from glob.c.
|
|
|
|
(dir_file_exists_p): Ignore directory entries with d_ino==0.
|
|
|
|
|
|
|
|
Mon Apr 1 20:49:45 1991 Roland McGrath (roland at albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.59.4.
|
|
|
|
|
|
|
|
Fri Mar 29 19:16:18 1991 Roland McGrath (roland at albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (free_child): Free CHILD->environment and its elts.
|
|
|
|
|
|
|
|
Sat Mar 23 14:08:09 1991 Roland McGrath (roland at albert.gnu.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (read_makefile): Don't ignore lines containing only
|
|
|
|
comments if they start with a tab. Such lines should be passed to
|
|
|
|
the shell for it to decide about the comments.
|
|
|
|
|
|
|
|
* job.c (free_child): Free CHILD->command_lines and its elts, not
|
|
|
|
CHILD->commands (which is obsolete).
|
|
|
|
* job.h, job.c: Remove obsolete `commands' member of `struct child'.
|
|
|
|
|
|
|
|
Sun Mar 17 18:40:53 1991 Roland McGrath (roland at albert.ai.mit.edu)
|
|
|
|
|
|
|
|
* remake.c (update_file): Print a msg for a top-level up-to-date
|
|
|
|
phony target (a different one than for a real file).
|
|
|
|
|
|
|
|
* read.c (conditional_line): Boundary check so we don't check the
|
|
|
|
value of the -1th elt of the stack (which is bogus).
|
|
|
|
|
|
|
|
Sat Mar 16 16:58:47 1991 Roland McGrath (roland at albert.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (conditional_line): Don't evaluate an if* when we're
|
|
|
|
already ignoring. Instead, just push a new level, with a value of
|
|
|
|
1, to keep ignoring.
|
|
|
|
|
|
|
|
Tue Mar 12 00:16:52 1991 Roland McGrath (roland at geech.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.59.3.
|
|
|
|
|
|
|
|
Mon Mar 11 23:56:57 1991 Roland McGrath (roland at geech.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (construct_command_argv_internal): Quote backslashes
|
|
|
|
when building the shell -c line.
|
|
|
|
|
|
|
|
Fri Mar 8 01:40:18 1991 Roland McGrath (roland at geech.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (exec_command): Call user_access rather than setgid(getgid()).
|
|
|
|
|
|
|
|
* misc.c (remove_comments): Renamed from collapse_line; took out
|
|
|
|
collapse_continuations call.
|
|
|
|
* make.h: Change decl.
|
|
|
|
* read.c (read_makefile): Collapse continuations on the line buffer
|
|
|
|
immediately after reading it. Call remove_comments rather than
|
|
|
|
collapse_line (which is now defunct).
|
|
|
|
|
|
|
|
Thu Feb 21 18:06:51 1991 Roland McGrath (mcgrath at cygint.cygnus.com)
|
|
|
|
|
|
|
|
* misc.c (user_access, make_access): New fns to toggle btwn permissions
|
|
|
|
for user data (files and spawning children), and permissions for make
|
|
|
|
(for taking the load average, mostly).
|
|
|
|
* make.h: Declare them.
|
|
|
|
* job.c (start_job): Call make_access before wait_to_start_job, and
|
|
|
|
user_access after.
|
|
|
|
* main.c (main): Call user_access before doing much.
|
|
|
|
|
|
|
|
Mon Feb 3 15:02:03 1991 Roland McGrath (roland at albert.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.59.2.
|
|
|
|
|
|
|
|
Tue Jan 29 20:30:50 1991 Roland McGrath (roland at cygint.cygnus.com)
|
|
|
|
|
|
|
|
* read.c (read_all_makefiles): Use allocated_variable_expand to expand
|
|
|
|
`$(MAKEFILES)', since the results are used across calls to
|
|
|
|
read_makefile, which could clobber them.
|
|
|
|
|
|
|
|
Wed Jan 23 00:24:10 1991 Roland McGrath (roland at cygint.cygnus.com)
|
|
|
|
|
|
|
|
* main.c (main): Call install_default_implicit_rules after reading
|
|
|
|
makefiles, not before.
|
|
|
|
* default.c (install_default_implicit_rules): If a suffix-rule file
|
|
|
|
entry has cmds, don't give it any from default_suffix_rules.
|
|
|
|
|
|
|
|
Fri Jan 17 17:39:49 1991 Roland McGrath (roland at albert.ai.mit.edu)
|
|
|
|
|
|
|
|
* arscan.c: Added support for AIX archives.
|
|
|
|
|
|
|
|
* remake.c: Don't include ar.h.
|
|
|
|
* main.c: Removed unused atol decl.
|
|
|
|
* arscan.c (ar_scan): Declare arg FUNCTION to return long int.
|
|
|
|
* ar.c (ar_touch): Don't perror for an invalid archive.
|
|
|
|
* make.h: Declare lseek as long int.
|
|
|
|
|
|
|
|
* job.c [hpux]: Define getdtablesize a la USG.
|
|
|
|
|
|
|
|
Sun Jan 12 21:08:34 1991 Roland McGrath (roland at albert.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.59.1.
|
|
|
|
|
|
|
|
Fri Jan 10 03:48:08 1991 Roland McGrath (roland at albert.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (search_path): Take new arg, place to put full pathname (rather
|
|
|
|
than mallocing it).
|
|
|
|
(exec_command): Pass it, using auto storage.
|
|
|
|
|
|
|
|
* main.c (print_version): Updated copyright years.
|
|
|
|
|
|
|
|
Wed Jan 8 19:46:19 1991 Roland McGrath (roland at albert.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c [_POSIX_SOURCE]: Just #include <sys/wait.h>, and define macro
|
|
|
|
WAIT_NOHANG in terms of waitpid.
|
|
|
|
[!_POSIX_SOURCE && (HAVE_SYS_WAIT || !USG)]: Don't #include <signal.h>
|
|
|
|
(make.h does).
|
|
|
|
Define macro WAIT_NOHANG in terms of wait3.
|
|
|
|
(child_handler): #ifdef on WAIT_NOHANG, not HAVE_SYS_WAIT || !USG.
|
|
|
|
Use WAIT_NOHANG macro instead of wait3.
|
|
|
|
|
|
|
|
* file.h (struct file.command_state): Remove unused elt.
|
|
|
|
|
|
|
|
Wed Dec 26 18:10:26 1990 Roland McGrath (roland at albert.ai.mit.edu)
|
|
|
|
|
|
|
|
* commands.c (set_file_variables): If FILE got its commands from
|
|
|
|
.DEFAULT, make $< == $@ (4.3 BSD/POSIX.2d11 compat).
|
|
|
|
|
|
|
|
Mon Dec 24 17:36:27 1990 Roland McGrath (roland at albert.ai.mit.edu)
|
|
|
|
|
|
|
|
* default.c (default_variables): Rename 2nd LINK.s defn to LINK.S.
|
|
|
|
|
|
|
|
Fri Dec 14 15:05:25 1990 Roland McGrath (roland at albert.ai.mit.edu)
|
|
|
|
|
|
|
|
* vpath.c (selective_vpath_search): Check for makefile-mentioned before
|
|
|
|
checking for actual existence. The old order loses if the containing
|
|
|
|
directory doesn't exist (but a rule might make it).
|
|
|
|
|
|
|
|
* make.h [__GNUC__]: Don't #define alloca if already #define'd.
|
|
|
|
|
|
|
|
* rule.c (convert_to_pattern): Don't look at the target constructed for
|
|
|
|
the empty rule when making the null-suffix rule. Construct it over
|
|
|
|
again, since the former may have been freed already.
|
|
|
|
|
|
|
|
Thu Dec 13 17:21:03 1990 Roland McGrath (roland at churchy.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h [__GNU_LIBRARY__]: Include <unistd.h> to get random fn decls.
|
|
|
|
|
|
|
|
Wed Dec 12 17:12:59 1990 Roland McGrath (roland at churchy.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h, arscan.c, glob.c: Only include <memory.h> #ifdef USG.
|
|
|
|
|
|
|
|
* variable.c (define_variable_in_set): Replace env_overrides check that
|
|
|
|
wasn't really redundant (undoing Sep 28 change). Add comment saying
|
|
|
|
why this check is necessary.
|
|
|
|
|
|
|
|
* job.c, main.c [DGUX]: Needs siglist like USG.
|
|
|
|
|
|
|
|
Mon Dec 11 01:19:29 1990 Roland McGrath (roland at albert.ai.mit.edu)
|
|
|
|
|
|
|
|
* default.c [M_XENIX]: For rules that are different for Xenix, use the
|
|
|
|
generic Unix version #ifdef __GNUC__.
|
|
|
|
|
|
|
|
* main.c [M_XENIX]: Use USGr3-style setvbuf call.
|
|
|
|
|
|
|
|
* read.c (find_percent): Do backslash folding correctly, not leaving
|
|
|
|
extra crud on the end of the string.
|
|
|
|
|
|
|
|
Sun Dec 10 21:48:36 1990 Roland McGrath (roland at albert.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c: Don't declare wait3 if it's #defined.
|
|
|
|
|
|
|
|
* GNUmakefile, compatMakefile, make.texinfo: Change make-info
|
|
|
|
to make.info.
|
|
|
|
|
|
|
|
Thu Dec 7 21:20:01 1990 Roland McGrath (roland at churchy.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h [STDC_HEADERS || __GNU_LIBRARY__ || _POSIX_SOURCE]: Use
|
|
|
|
ANSI <string.h> and names for str/mem functions.
|
|
|
|
Use <stdlib.h> to declare misc fns rather than explicit decls.
|
|
|
|
[_POSIX_SOURCE]: Don't declare kill (<signal.h> will).
|
|
|
|
Include <sys/types.h> before <signal.h> because some braindead
|
|
|
|
nonconformant 1003.1 implementation needs it.
|
|
|
|
* misc.c: Don't declare malloc, realloc. Do it in make.h.
|
|
|
|
* arscan.c, glob.c: Use sequence for string fns from make.h verbatim.
|
|
|
|
* make.h (S_ISDIR, S_ISREG): Declare if necessary.
|
|
|
|
* commands.c (delete_child_targets), job.c (search_path), read.c
|
|
|
|
(construct_include_path): Use S_ISfoo(m) instead of
|
|
|
|
(m & S_IFMT) == S_IFfoo.
|
|
|
|
* dir.c, glob.c [_POSIX_SOURCE]: Use dirent.
|
|
|
|
|
|
|
|
Wed Nov 29 22:53:32 1990 Roland McGrath (roland at geech.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.59.
|
|
|
|
|
|
|
|
Tue Nov 28 16:00:04 1990 Roland McGrath (roland at churchy.ai.mit.edu)
|
|
|
|
|
|
|
|
* arscan.c (ar_name_equal) [APOLLO]: Don't do `.o' hacking. On Apollos
|
|
|
|
the full file name is elsewhere, and there is no length restriction (or
|
|
|
|
so I'm told).
|
|
|
|
|
|
|
|
Thu Nov 23 17:33:11 1990 Roland McGrath (roland at albert.ai.mit.edu)
|
|
|
|
|
|
|
|
* load.c [hp300 && BSD] (LDAV_CVT): Define for this system.
|
|
|
|
|
|
|
|
Tue Nov 21 07:58:40 1990 Roland McGrath (roland at albert.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (record_files): Fix trivial bug with deciding to free storage
|
|
|
|
for a file name.
|
|
|
|
|
|
|
|
Thu Nov 16 06:21:38 1990 Roland McGrath (roland at geech.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile ($(bindir)/make): Install it setgid kmem.
|
|
|
|
|
|
|
|
Thu Nov 1 16:12:55 1990 Roland McGrath (roland at churchy.ai.mit.edu)
|
|
|
|
|
|
|
|
* GNUmakefile (make-*.tar.Z): Use `h' option to tar (dereference
|
|
|
|
symlinks), to grab texinfo.tex from wherever it lives.
|
|
|
|
|
|
|
|
Tue Oct 30 16:15:20 1990 Roland McGrath (roland at churchy.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.58.13.
|
|
|
|
|
|
|
|
Fri Oct 26 14:33:34 1990 Roland McGrath (roland at churchy.ai.mit.edu)
|
|
|
|
|
|
|
|
* GNUmakefile: make-*.tar.Z: Include texinfo.tex.
|
|
|
|
|
|
|
|
Tue Oct 23 19:34:33 1990 Roland McGrath (roland at churchy.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (define_makeflags): When there are no flags to write, make
|
|
|
|
sure the array has two leading nulls, since `MAKEFLAGS' is defined from
|
|
|
|
&flags[1].
|
|
|
|
|
|
|
|
* main.c (default_keep_going_flag): New variable (constant one).
|
|
|
|
(command_switches: -k, -S): Use above for default value.
|
|
|
|
(define_makeflags): Only write flag/flag_off switches if they are on,
|
|
|
|
and either there is no default value, or they are not the default.
|
|
|
|
|
|
|
|
Mon Oct 22 16:14:44 1990 Roland McGrath (roland at churchy.ai.mit.edu)
|
|
|
|
|
|
|
|
* main.c (struct command_switch): New member `no_makefile'.
|
|
|
|
(command_switches: -n, -q, -t): Set no_makefile == 1.
|
|
|
|
(define_makeflags): Take new arg MAKEFILE: if nonzero, don't use
|
|
|
|
options whose `no_makefile' flags are set.
|
|
|
|
(main): Call define_makeflags with MAKEFILE==1 before remaking
|
|
|
|
makefiles, and again with MAKEFILE==0 before remaking goals.
|
|
|
|
|
|
|
|
Tue Oct 2 17:16:45 1990 Roland McGrath (roland at geech.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.58.12.
|
|
|
|
|
|
|
|
Mon Oct 1 15:43:23 1990 Roland McGrath (roland at churchy.ai.mit.edu)
|
|
|
|
|
|
|
|
* arscan.c [HPUX]: Use PORTAR==1 format.
|
|
|
|
|
|
|
|
Sat Sep 29 16:38:05 1990 Roland McGrath (roland at churchy.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h, remake.c, arscan.c: Don't declare `open'.
|
|
|
|
|
|
|
|
Fri Sep 28 04:46:23 1990 Roland McGrath (roland at churchy.ai.mit.edu)
|
|
|
|
|
|
|
|
* variable.c (define_variable_in_set): Remove redundant -e check.
|
|
|
|
|
|
|
|
Wed Sep 26 00:28:59 1990 Roland McGrath (roland at geech.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (start_job): Set RECURSIVE from the right elt of
|
|
|
|
CHILD->file->cmds->lines_recurse.
|
|
|
|
|
|
|
|
* commands.c (chop_commands): Don't botch the line count for allocating
|
|
|
|
CMDS->lines_recurse.
|
|
|
|
|
|
|
|
* Version 3.58.11.
|
|
|
|
|
|
|
|
* job.c (start_job): Don't always increment CHILD->command_line! Only
|
|
|
|
do it when CHILD->command_ptr has run out! (Dumb bug. Sigh.)
|
|
|
|
|
|
|
|
Thu Sep 20 02:18:51 1990 Roland McGrath (roland at geech.ai.mit.edu)
|
|
|
|
|
|
|
|
* GNUmakefile [ARCH]: Give explicit rule for remote.{c,dep} to use
|
|
|
|
variable `REMOTE' for more flags.
|
|
|
|
($(prog)): Link in $(LOADLIBES).
|
|
|
|
|
|
|
|
Wed Sep 19 02:30:36 1990 Roland McGrath (roland at churchy.ai.mit.edu)
|
|
|
|
|
|
|
|
* commands.h (struct commands): New member `ncommand_lines', the number
|
|
|
|
of elts in `command_lines' et al.
|
|
|
|
* commands.c (chop_commands): Set `ncommand_lines' elt of CMDS, and
|
|
|
|
don't put a nil pointer at the end of `command_lines'.
|
|
|
|
* job.h (struct child): New member `command_lines' to hold
|
|
|
|
variable-expanded command lines.
|
|
|
|
* job.c (new_job): Store expanded command lines in `command_lines'
|
|
|
|
member of new child. Don't clobber FILE->cmds.
|
|
|
|
(start_job): Use CHILD->command_lines in place of
|
|
|
|
CHILD->file->cmds->command_lines.
|
|
|
|
|
|
|
|
* variable.h, variable.c, job.c, expand.c: Undo yesterday's change,
|
|
|
|
which is no longer necessary since we have cleverly avoided the issue.
|
|
|
|
|
|
|
|
* job.c (start_job): Don't variable-expand each command line.
|
|
|
|
(new_job): Do them all here, storing the expansions in the array.
|
|
|
|
|
|
|
|
Tue Sep 18 01:23:13 1990 Roland McGrath (roland at churchy.ai.mit.edu)
|
|
|
|
|
|
|
|
* variable.h (struct variable): Remove `expanding' member.
|
|
|
|
* variable.c (define_variable_in_set): Don't initialize it.
|
|
|
|
* expand.c (struct variable_expanding): New type, a linked list
|
|
|
|
containing `struct variable' pointers.
|
|
|
|
(variables_expanding): New variable, the chain of variables currently
|
|
|
|
being expanded.
|
|
|
|
(recursively_expand): Don't test and set `expanding' member.
|
|
|
|
Instead, run through the `variables_expanding' chain looking for a link
|
|
|
|
referring to V to find self-reference. Add a new link to the chain,
|
|
|
|
describing V, before recursive expansion, and pop it off afterward.
|
|
|
|
* job.c (child_handler): Save `variables_expanding' and clear it before
|
|
|
|
calling start_job, and restore it afterward. This avoids major lossage
|
|
|
|
when the SIGCHLD comes in the middle of variable expansion.
|
|
|
|
|
|
|
|
Mon Sep 17 14:46:26 1990 Roland McGrath (roland at geech.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c, commands.c: Don't define sigmask.
|
|
|
|
* make.h: Put it here instead.
|
|
|
|
|
|
|
|
* variable.c (target_environment): If `.NOEXPORT' was specified as a
|
|
|
|
target, only export command-line and environment variables, and
|
|
|
|
file-origin variables that were in the original environment.
|
|
|
|
|
|
|
|
* make.man: Add missing ?roff control for `-I' option description.
|
|
|
|
|
|
|
|
Thu Sep 13 14:10:02 1990 Roland McGrath (roland at churchy.ai.mit.edu)
|
|
|
|
|
|
|
|
* load.c [UMAX]: Move #include <sys/sysdefs.h> to [not UMAX_43].
|
|
|
|
|
|
|
|
Wed Sep 12 15:10:15 1990 Roland McGrath (roland at churchy.ai.mit.edu)
|
|
|
|
|
|
|
|
* expand.c (recursively_expand): Don't use `reading_filename' and
|
|
|
|
`reading_lineno_ptr' if they're nil.
|
|
|
|
|
|
|
|
Thu Aug 30 17:32:50 1990 Roland McGrath (roland at geech)
|
|
|
|
|
|
|
|
* Version 3.58.10.
|
|
|
|
|
|
|
|
Tue Aug 28 04:06:29 1990 Roland McGrath (roland at churchy.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c [USG] (unknown_children_possible): New variable, set nonzero
|
|
|
|
when it's possible for children not in the `children' chain to die.
|
|
|
|
(block_signals) [USG]: Set it.
|
|
|
|
(unblock_signals) [USG]: Clear it.
|
|
|
|
(child_handler) [USG]: Don't complain about unknown children if
|
|
|
|
`unknown_children_possible' is set.
|
|
|
|
|
|
|
|
* read.c (do_define): Make sure there's enough space for the newline,
|
|
|
|
so we don't write off the end of allocated space.
|
|
|
|
|
|
|
|
* arscan.c (ar_name_equal): Fixed to work when MEM is AR_NAMELEN-1 but
|
|
|
|
NAME is not the same length.
|
|
|
|
|
|
|
|
Sat Aug 25 16:17:14 1990 Roland McGrath (roland at geech)
|
|
|
|
|
|
|
|
* job.c (construct_command_argv_internal): Use a static char array for
|
|
|
|
a constant, since old C has no auto aggregate initializers.
|
|
|
|
|
|
|
|
Thu Aug 23 16:11:03 1990 Roland McGrath (roland at churchy.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (search_path): If PATH is nil or "" use a default path.
|
|
|
|
|
|
|
|
Wed Aug 22 01:05:32 1990 Roland McGrath (roland at churchy.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.58.9.
|
|
|
|
|
|
|
|
* job.c (exec_command): Don't take PATH and SHELL args. Get them from
|
|
|
|
ENVP.
|
|
|
|
(child_execute_job): Don't take FILE arg, and don't pass path and shell
|
|
|
|
to exec_command.
|
|
|
|
(start_job): Don't pass FILE arg to child_execute_job.
|
|
|
|
* function.c (expand_function: `shell'): Ditto.
|
|
|
|
* main.c (main): Don't pass path and shell to exec_command.
|
|
|
|
|
|
|
|
Fri Aug 17 23:17:27 1990 Roland McGrath (roland at geech)
|
|
|
|
|
|
|
|
* job.c (construct_command_argv_internal): New fn broken out of
|
|
|
|
construct_command_argv. Takes strings SHELL and IFS instead of doing
|
|
|
|
variable expansion for them. Recurse to make an argv for SHELL,
|
|
|
|
passing SHELL==0. When SHELL==0, don't recurse for shell argv; make a
|
|
|
|
simple one using /bin/sh.
|
|
|
|
(construct_command_argv): Do the variable expansions and call above.
|
|
|
|
|
|
|
|
Thu Aug 16 19:03:14 1990 Roland McGrath (roland at geech)
|
|
|
|
|
|
|
|
* read.c (multi_glob): For ~USER/FILE, if USER isn't found, don't
|
|
|
|
change the file name at all.
|
|
|
|
|
|
|
|
Tue Aug 7 18:33:28 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* function.c (expand_function: `suffix'/`notdir'): Don't kill the last
|
|
|
|
space if we never wrote one.
|
|
|
|
|
|
|
|
* function.c (expand_function: `suffix'): Retain the dot, like the
|
|
|
|
documentation says.
|
|
|
|
|
|
|
|
Mon Aug 6 14:35:06 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.58.8.
|
|
|
|
|
|
|
|
* main.c (decode_switches): For positive_int and floating cases, move
|
|
|
|
SW past the arg (and don't set it to ""), so another switch can follow.
|
|
|
|
|
|
|
|
Fri Aug 3 00:43:15 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* job.c (child_execute_job): Use unblock_signals instead of
|
|
|
|
push_signals_blocked_p (0).
|
|
|
|
|
|
|
|
* main.c (fatal_signal_mask): New variable, mask of signals caught with
|
|
|
|
fatal_error_signal.
|
|
|
|
(main): Set it.
|
|
|
|
* job.c ({block,unblock}_children): Renamed to {block,unblock}_signals.
|
|
|
|
Block/unblock both child signal and signals in fatal_signal_mask.
|
|
|
|
(children_blocked_p_{stack,max,depth}, {push,pop}_children_blocked_p):
|
|
|
|
Renamed from children to signals. Use {block,unblock}_signals instead
|
|
|
|
of {block,unblock}_children.
|
|
|
|
* commands.c (fatal_error_signal), job.c (wait_for_children, new_job,
|
|
|
|
child_execute_job, main, log_working_directory), function.c
|
|
|
|
(expand_function: `shell'), job.h: Rename {push,pop}_children_blocked_p
|
|
|
|
to {push,pop}_signals_blocked_p.
|
|
|
|
* job.c (child_handler): Call {block,unblock}_signals instead of just
|
|
|
|
{block,unblock}_remote_children. We need to block the fatal signals.
|
|
|
|
|
|
|
|
Thu Aug 2 22:41:06 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* main.c, function.c: Fixed typos in comments.
|
|
|
|
|
|
|
|
* file.c (print_file_data_base): Fix computation of avg files/bucket.
|
|
|
|
|
|
|
|
Tue Jul 31 22:11:14 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.58.7.
|
|
|
|
|
|
|
|
Wed Jul 25 16:32:38 1990 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* arscan.c (ar_name_equal): Fixed to really do it right.
|
|
|
|
(ar_member_pos): Fixed order of args.
|
|
|
|
* ar.c (ar_member_date_1): Ditto.
|
|
|
|
|
|
|
|
Fri Jul 20 15:30:26 1990 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* arscan.c (ar_name_equal): Rewritten. Accounts for a possible
|
|
|
|
trailing slash in MEM.
|
|
|
|
|
|
|
|
* remake.c (f_mtime): Keep track of whether ARNAME is used and free it
|
|
|
|
if not. Also free MEMNAME.
|
|
|
|
* ar.c (ar_member_date, ar_touch): Ditto.
|
|
|
|
|
|
|
|
* arscan.c (arscan) [HPUX or hpux]: Treat same as USGr3 PORTAR==1.
|
|
|
|
|
|
|
|
* make.h: If NSIG is not defined, but _NSIG is, #define NSIG _NSIG.
|
|
|
|
|
|
|
|
* compatMakefile: Don't use $* in explicit rules.
|
|
|
|
|
|
|
|
* default.c (default_variables: "PREPROCESS.S"): Include $(CPPFLAGS).
|
|
|
|
|
|
|
|
* remake.c (f_mtime): If FILE is an ar ref, get the member modtime.
|
|
|
|
|
|
|
|
* function.c (string_glob): Terminate the string properly when it's
|
|
|
|
empty.
|
|
|
|
|
|
|
|
Wed Jul 18 11:26:56 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.58.6.
|
|
|
|
|
|
|
|
* commands.c (set_file_variables): Fixed computation for ^F/?F elt len.
|
|
|
|
|
|
|
|
Sat Jul 14 13:41:24 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* job.c (construct_command_argv): Always use
|
|
|
|
allocated_variable_expand_for_file instead of variable_expand_for_file
|
|
|
|
because we might be called from inside a variable expansion (for the
|
|
|
|
`shell' function).
|
|
|
|
|
|
|
|
* function.c (expand_function: `shell'): Free the arglist's storage
|
|
|
|
correctly. construct_command_argv only allocates ARGV and ARGV[0].
|
|
|
|
|
|
|
|
* job.c (children_blocked_p_idx): Renamed to children_blocked_p_depth.
|
|
|
|
(push_children_blocked_p, pop_children_blocked_p): Use ..._depth
|
|
|
|
instead of ..._idx, and do it right!
|
|
|
|
|
|
|
|
Wed Jul 11 15:35:43 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.h (SIGNAL): New macro to replace `signal' calls. Does arg and
|
|
|
|
ret value casts to (void *) #ifdef __STDC__ to avoid conflicts btwn
|
|
|
|
ANSI and BSD `signal' and handler types.
|
|
|
|
* main.c (main), job.c (child_handler): Use it.
|
|
|
|
|
|
|
|
Fri Jul 6 00:00:38 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* ar.c (ar_member_date, ar_touch): Pass 2nd arg to f_mtime.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Search the include path for MAKEFILES
|
|
|
|
variable makefiles (TYPE == 1), like it says in the manual.
|
|
|
|
|
|
|
|
* file.h (struct file), main.c (struct command_switch): Remove trailing
|
|
|
|
commas from enums.
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): Remove unused variables.
|
|
|
|
* commands.h: Declare chop_commands.
|
|
|
|
* make.h: Declare uniquize_deps.
|
|
|
|
* main.c (main): Remove unused variable.
|
|
|
|
(decode_switches): Remove unused label.
|
|
|
|
* remake.c: Include "ar.h" for ar_parse_name decl.
|
|
|
|
* implicit.c (try_implicit_rule): Remove unused variable.
|
|
|
|
* function.c (expand_function: `shell'): Declare fork, pipe.
|
|
|
|
* ar.c: Declare ar_name_equal.
|
|
|
|
|
|
|
|
* GNUmakefile: If using gcc, add warning flags to CFLAGS.
|
|
|
|
|
|
|
|
* remake.c: Remove decl of ar_member_date, since it's done in make.h.
|
|
|
|
|
|
|
|
* remake.c (f_mtime): For ar refs, allow the archive to be found via
|
|
|
|
VPATH search if we're searching, and change the ar ref accordingly.
|
|
|
|
|
|
|
|
* ar.c (ar_parse_name): New global fn to parse archive-member
|
|
|
|
references into the archive and member names.
|
|
|
|
(ar_member_date, ar_touch): Use it.
|
|
|
|
* make.h: Declare it.
|
|
|
|
|
|
|
|
* remake.c (f_mtime): After doing rename_file, do check_renamed instead
|
|
|
|
of assuming rename_file will always set FILE->renamed (which it won't).
|
|
|
|
|
|
|
|
* vpath.c (selective_vpath_search): Only accept prospective files that
|
|
|
|
don't actually exist yet are mentioned in a makefile if the file we are
|
|
|
|
searching for isn't a target.
|
|
|
|
|
|
|
|
Wed Jul 4 04:11:55 1990 Roland McGrath (mcgrath at helen.Berkeley.EDU)
|
|
|
|
|
|
|
|
* remake.c (update_goal_chain): Do check_renamed after calling
|
|
|
|
file_mtime.
|
|
|
|
(check_dep): Ditto after update_file.
|
|
|
|
|
|
|
|
* file.c (rename_file): Prettied up long message for merging cmds.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Get each dep file's modtime, and allow for
|
|
|
|
it being renamed, before checking for a circular dep, since a renaming
|
|
|
|
may have introduced one.
|
|
|
|
|
|
|
|
Tue Jul 3 18:15:01 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* ar.c (ar_touch): Don't free ARNAME since enter_file holds onto the
|
|
|
|
storage.
|
|
|
|
|
|
|
|
* function.c (string_glob): Don't leave a trailing space.
|
|
|
|
|
|
|
|
* read.c (do_define): Allow leading whitespace before `endef'.
|
|
|
|
|
|
|
|
Mon Jul 2 14:10:16 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* implicit.c (pattern_search): No longer take NAME arg. Instead take
|
|
|
|
ARCHIVE flag. If ARCHIVE is nonzero, FILE->name is of the form
|
|
|
|
"LIB(MEMBER)"; rule for "(MEMBER)" is searched for, and LASTSLASH is
|
|
|
|
set to nil. Since NAME was only non-nil when it was the archive member
|
|
|
|
name passed by try_implicit_rule, this change easily allows turning off
|
|
|
|
LASTSLASH checking for archive members without excessive kludgery.
|
|
|
|
(try_implicit_rule): Pass ARCHIVE flag instead of file name.
|
|
|
|
|
|
|
|
* Version 3.58.5.
|
|
|
|
|
|
|
|
* commands./c (set_file_variables): Don't kill last char of $(^D) elts.
|
|
|
|
|
|
|
|
Sat Jun 30 00:53:38 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* ar.c (ar_member_date): Don't free ARNAME since enter_file holds onto
|
|
|
|
the storage.
|
|
|
|
|
|
|
|
* arscan.c (ar_scan) [sun386 && PORTAR == 1]: Treat like USGr3.
|
|
|
|
|
|
|
|
Wed Jun 27 14:38:49 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* main.c (main): Put a newline on the debugging message when deciding
|
|
|
|
not to remake a makefile to avoid a possible loop.
|
|
|
|
Only decide not to remake makefiles that have commands (as well as
|
|
|
|
being targets and having no deps).
|
|
|
|
|
|
|
|
Fri Jun 22 12:35:37 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* default.c (default_variables): Define `LINK.s' and `LINK.S'.
|
|
|
|
(default_suffix_rules): Define .S.o rule.
|
|
|
|
|
|
|
|
* job.c (construct_command_argv): If we decide to go the slow route,
|
|
|
|
free all storage for the chopped args.
|
|
|
|
(start_job): Free the argument list's storage correctly.
|
|
|
|
construct_command_argv only allocates ARGV and ARGV[0].
|
|
|
|
|
|
|
|
Tue Jun 19 18:27:43 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.58.4.
|
|
|
|
|
|
|
|
Fri Jun 15 21:12:10 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* glob.c: New version from ai-lab which doesn't do [^abc].
|
|
|
|
|
|
|
|
Thu Jun 7 00:30:46 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* dir.c: Copied dirent vs direct et al mess from glob.c.
|
|
|
|
|
|
|
|
* glob.c: Replaced with updated version from djm.
|
|
|
|
* glob.c: Check macro DIRENT instead of _POSIX_SOURCE for <dirent.h>.
|
|
|
|
__GNU_LIBRARY__ implies DIRENT and STDC_HEADERS.
|
|
|
|
|
|
|
|
Thu May 31 22:19:49 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* vpath.c (vpath_search): Don't stop the loop if a pattern matches but
|
|
|
|
the search fails. All matching patterns have their paths searched
|
|
|
|
(like it says in the manual).
|
|
|
|
|
|
|
|
* make.texinfo (Rules: Directory Search: Selective Search): Say that
|
|
|
|
multiple `vpath' directives with the same pattern DO accumulate, not
|
|
|
|
supersede earlier ones.
|
|
|
|
|
|
|
|
* vpath.c (print_vpath_data_base): Increment the count of vpaths on
|
|
|
|
each loop iteration, rather than letting it stay zero.
|
|
|
|
|
|
|
|
* Version 3.58.3.
|
|
|
|
|
|
|
|
* job.c (block_children, unblock_children): Made static.
|
|
|
|
(push_children_blocked_p, pop_children_blocked_p): New functions to
|
|
|
|
push and pop whether children are blocked or not.
|
|
|
|
* job.h: Declare push_children_blocked_p, pop_children_blocked_p and
|
|
|
|
not block_children, unblock_children.
|
|
|
|
* commands.c (fatal_error_signal), job.c (wait_for_children, new_job,
|
|
|
|
child_execute_job), main.c (main, log_working_directory): Use sequences
|
|
|
|
of push_children_blocked_p (1) and pop_children_blocked_p () instead of
|
|
|
|
explicitly blocking and unblocking children.
|
|
|
|
* function.c (expand_function: `shell'): Don't unblock children. The
|
|
|
|
push-pop sequence in wait_for_children makes it unnecessary.
|
|
|
|
|
|
|
|
Tue May 29 21:30:00 1990 Roland McGrath (mcgrath at helen.Berkeley.EDU)
|
|
|
|
|
|
|
|
* read.c (do_define): Don't include the last newline in the definition.
|
|
|
|
|
|
|
|
* function.c (expand_function: `shell'): Call construct_command_argv
|
|
|
|
before forking and don't fork if it returns nil. Free the argument
|
|
|
|
list's storage before finishing.
|
|
|
|
|
|
|
|
* job.c (start_job): Free the storage for the child's argument list
|
|
|
|
in the parent side of the fork after the child has been spawned.
|
|
|
|
|
|
|
|
* job.c (start_job): If construct_command_argv returns nil, go to the
|
|
|
|
next command line.
|
|
|
|
|
|
|
|
* job.c (construct_command_argv): Use the shell if the command contains
|
|
|
|
an unterminated quote.
|
|
|
|
|
|
|
|
Wed May 23 19:54:10 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.58.2.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Parse "override define" correctly.
|
|
|
|
|
|
|
|
Thu May 17 15:25:58 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* arscan.c [USG]: Don't declare memcpy and memcmp. <memory.h> should
|
|
|
|
do this anyway (and lack of declarations is harmless).
|
|
|
|
|
|
|
|
* remote-customs.c: Renamed to remote-cstms.c for System V.
|
|
|
|
* remote.c [CUSTOMS]: Changed accordingly.
|
|
|
|
|
|
|
|
Sun May 13 14:38:39 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* GNUmakefile: Use same cmds for doc tar.Z as for dist tar.Z (so the
|
|
|
|
contents go in make-N.NN).
|
|
|
|
|
|
|
|
Thu Apr 26 19:33:25 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.58.1.
|
|
|
|
|
|
|
|
Wed Apr 25 20:27:52 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* job.c (init_siglist): Don't do SIGUSR1 and SIGUSR2 if they are the
|
|
|
|
same as SIGIO and SIGURG (true on Cray).
|
|
|
|
|
|
|
|
Tue Apr 24 20:26:41 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* arscan.c (ar_scan): Do behavior for PORTAR == 1 and USGr3 also
|
|
|
|
#ifdef APOLLO.
|
|
|
|
|
|
|
|
Wed Apr 11 10:00:39 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* job.c (exec_command): Set the effective GID to the real GID. Somehow
|
|
|
|
this code got lost.
|
|
|
|
|
|
|
|
* implicit.c (pattern_search): Use the right index variable when
|
|
|
|
seeing if we need to expand FILE->also_make.
|
|
|
|
|
|
|
|
Sun Mar 4 09:18:58 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.58.0.
|
|
|
|
|
|
|
|
* remake.c (remake_file): Treat non-targets without commands under -t
|
|
|
|
the same as anything else without commands.
|
|
|
|
|
|
|
|
Sat Feb 24 17:46:04 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* default.c (default_variables: PREPROCESS.S): Removed $< from defn.
|
|
|
|
|
|
|
|
* main.c (main): Ignore arguments that are the empty string, rather
|
|
|
|
than feeding them to enter_file and barfing therein.
|
|
|
|
|
|
|
|
Wed Feb 14 16:28:37 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* main.c (main): Call construct_include_path after doing chdirs.
|
|
|
|
|
|
|
|
Thu Feb 8 13:43:44 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.58.
|
|
|
|
|
|
|
|
Sat Feb 3 22:06:55 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.57.7.
|
|
|
|
|
|
|
|
* make.texinfo (Implicit: Catalogue of Rules): For RCS, noted that
|
|
|
|
working files are never overwritten by the default rule.
|
|
|
|
|
|
|
|
Thu Feb 1 17:27:54 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* rule.c (count_implicit_rule_limits): Redid loop control to not run
|
|
|
|
twice on freed rules.
|
|
|
|
|
|
|
|
* GNUmakefile: Made `.dep' files be architecture-specific too.
|
|
|
|
|
|
|
|
* main.c (main, log_working_directory) [USG]: Block children around
|
|
|
|
calls to `getwd' (actually `getcwd' on USG), because that function
|
|
|
|
sometimes spawns a child running /bin/pwd on USG.
|
|
|
|
|
|
|
|
Tue Jan 30 14:02:50 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* function.c (subst_expand): Pay attention to SUFFIX_ONLY, putz.
|
|
|
|
|
|
|
|
Wed Jan 24 21:03:29 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.man: Fixed repeated word.
|
|
|
|
|
|
|
|
* make.texinfo (Missing): Reworded a buggy sentence.
|
|
|
|
|
|
|
|
Mon Jan 22 12:39:22 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* main.c (print_version): Added 1990 to copyright notice.
|
|
|
|
|
|
|
|
* Version 3.57.6.
|
|
|
|
|
|
|
|
Sat Jan 20 11:52:01 1990 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* file.c (rename_file): Don't free the storage for the old name, since
|
|
|
|
it might not have been malloc'd.
|
|
|
|
|
|
|
|
* job.c (construct_command_argv): Call
|
|
|
|
allocated_variable_expand_for_file instead of variable_expand_for_file
|
|
|
|
to expand `$(SHELL)'.
|
|
|
|
|
|
|
|
* make.texinfo (Bugs): Change address from roland@wheaties.ai.mit.edu
|
|
|
|
to roland@prep.ai.mit.edu.
|
|
|
|
|
|
|
|
Tue Jan 16 19:22:33 1990 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.57.5.
|
|
|
|
|
|
|
|
Sun Jan 14 16:48:01 1990 Roland McGrath (mcgrath at helen.Berkeley.EDU)
|
|
|
|
|
|
|
|
* job.c (start_job): Only call wait_to_start_job for the first command
|
|
|
|
line in each sequence.
|
|
|
|
|
|
|
|
Thu Jan 4 14:27:20 1990 Roland McGrath (mcgrath at helen.Berkeley.EDU)
|
|
|
|
|
|
|
|
* load.c [LDAV_BASED] (wait_to_start_job): Loop while job_slots_used >
|
|
|
|
0, not > 1.
|
|
|
|
|
|
|
|
* job.c (search_path): Don't return a pointer to local storage.
|
|
|
|
Allocate data space for the pathname instead.
|
|
|
|
|
|
|
|
* function.c (expand_function: `shell'): Don't write garbage if the
|
|
|
|
child wrote no output.
|
|
|
|
|
|
|
|
Wed Jan 3 15:28:30 1990 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.57.4.
|
|
|
|
|
|
|
|
* file.h (struct file): New member `renamed', a `struct file *' that is
|
|
|
|
the place this file has been renamed to (or nil).
|
|
|
|
(check_renamed): Macro to check for a file having been renamed.
|
|
|
|
Dereferences the renaming and sets the given variable.
|
|
|
|
* file.c (rename_file): Completely rewritten. Renames in place if
|
|
|
|
possible, or moves FILE to a different hash bucket if there is no
|
|
|
|
existing file with the new name. If there is an existing file with the
|
|
|
|
new name, FILE is merged into it and FILE->renamed is set to point to
|
|
|
|
it.
|
|
|
|
* variable.c (merge_variable_sets): New fn to merge two variable sets.
|
|
|
|
(merge_variable_set_lists): New fn to merge two variable set lists.
|
|
|
|
* variable.h: Declare merge_variable_set_lists.
|
|
|
|
* remake.c (update_file_1, check_dep): Run `check_renamed' after
|
|
|
|
calling file_mtime, check_dep.
|
|
|
|
(update_file): Same after update_file_1.
|
|
|
|
(update_goal_chain, update_file_1, check_dep): Same after update_file.
|
|
|
|
|
|
|
|
* read.c (uniquize_deps): New fn, broken out of record_files, to remove
|
|
|
|
duplicate deps from a chain.
|
|
|
|
(record_files): Use it.
|
|
|
|
* implicit.c (pattern_search): Use uniquize_deps.
|
|
|
|
|
|
|
|
* file.h (file_mtime_1): New macro, like file_mtime, but take second
|
|
|
|
arg, passed to f_mtime.
|
|
|
|
(file_mtime): Implement as file_mtime_1 (file, 1).
|
|
|
|
(file_mtime_no_search): New macro: file_mtime (file, 0).
|
|
|
|
* remake.c (f_mtime): Take new arg SEARCH. Only do VPATH and `-lNAME'
|
|
|
|
searching if it is nonzero.
|
|
|
|
* main.c (main): Use file_mtime_no_search for makefiles.
|
|
|
|
* remake.c (update_goal_chain): Use file_mtime_no_search if MAKEFILES.
|
|
|
|
|
|
|
|
* main.c (printed_version): New variable, init'd to zero.
|
|
|
|
(print_version): Set it to nonzero before returning.
|
|
|
|
(die): If -v and !printed_version, call print_version before clean up
|
|
|
|
and death.
|
|
|
|
|
|
|
|
* main.c (log_working_directory): Keep track of whether or not the
|
|
|
|
"Entering" message has been printed, and return without printing the
|
|
|
|
"Leaving" message if not.
|
|
|
|
|
|
|
|
* main.c (decode_switches): Don't complain about missing args before
|
|
|
|
checking for a noarg_value elt in the command_switch structure.
|
|
|
|
|
|
|
|
Tue Jan 2 15:41:08 1990 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.texinfo (Commands: Recursion: Options/Recursion): Document
|
|
|
|
special case of -j.
|
|
|
|
|
|
|
|
* make.texinfo, main.c, job.c: Changed copyright notices to include
|
|
|
|
1990.
|
|
|
|
|
|
|
|
* make.texinfo (Top): Fixed introductory paragraph, which said that
|
|
|
|
`make' itself (instead of the manual) has various chapters.
|
|
|
|
(Variables: Advanced: Substitution Refs): When pxref'ing about
|
|
|
|
`patsubst', use node `Text Functions', not `Functions'.
|
|
|
|
Add an xref about `patsubst' after description of $(var:a%b=c%d).
|
|
|
|
(Functions: Syntax of Functions): Explain why mixing delimiters in
|
|
|
|
function/var refs is unwise. Clarify fn arg evaluation order.
|
|
|
|
(Options): Reworded sentence about `-e'.
|
|
|
|
(Implicit: Implicit Variables): Don't say `RM' is unused.
|
|
|
|
Say the dflt values for the flag vars is empty unless otherwise noted,
|
|
|
|
since some have defaults.
|
|
|
|
(Implicit: Pattern Rules: Pattern Examples): Clarified use of $< and $@
|
|
|
|
in first example.
|
|
|
|
(Implicit: Last Resort): Don't say the .DEFAULT example creates files
|
|
|
|
"silently". It's automatic, but not silent.
|
|
|
|
(Implicit: Search Algorithm): Fixed confusing ungrammatical sentence
|
|
|
|
for item 5.1.
|
|
|
|
(Archives: Archive Update): Added missing `next' pointer.
|
|
|
|
(Archives: Archive Symbols): Note that GNU `ar' deals with this
|
|
|
|
automatically.
|
|
|
|
|
|
|
|
* job.c (search_path): New fn, to search for an executable file in a
|
|
|
|
search path (broken out of exec_command).
|
|
|
|
(exec_command): Take fourth arg, the shell program to use (if
|
|
|
|
necessary). Use search_path for the program, and the shell program.
|
|
|
|
Pass args "file args ..." to shell program (with no -c), where FILE is
|
|
|
|
the full pathname of the program (script) to be run.
|
|
|
|
(child_execute_job): Pass shell program to exec_command.
|
|
|
|
* main.c (main): Ditto.
|
|
|
|
|
|
|
|
* main.c (main): Don't write a message if exec_command returns, because
|
|
|
|
it will never return.
|
|
|
|
|
|
|
|
Fri Dec 22 16:19:58 1989 Roland McGrath (mcgrath at hecuba.Berkeley.EDU)
|
|
|
|
|
|
|
|
* default.c (default_variables: "LINK.cc"): Use $(C++FLAGS) instead of
|
|
|
|
$(CFLAGS).
|
|
|
|
|
|
|
|
Wed Dec 20 09:58:48 1989 Roland McGrath (mcgrath at hecuba.Berkeley.EDU)
|
|
|
|
|
|
|
|
* job.c (new_job): If start_job set the child's `command_state' to
|
|
|
|
`cs_finished', call notice_finished_file.
|
|
|
|
|
|
|
|
Sun Dec 17 19:45:41 1989 Roland McGrath (mcgrath at hecuba.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.57.3.
|
|
|
|
|
|
|
|
Wed Dec 13 17:57:12 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* rule.c (convert_to_pattern): Accept files with dependencies as
|
|
|
|
suffix rules.
|
|
|
|
|
|
|
|
Thu Nov 30 15:47:13 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.57.2.
|
|
|
|
|
|
|
|
* function.c (expand_function: `shell'): Don't clobber BUFFER and then
|
|
|
|
try to free it.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Took code to force remake of nonexistent
|
|
|
|
deps out of #if 0, and changed the test to nonexistent non-intermediate
|
|
|
|
deps. In version 4, I think removing this test completely will
|
|
|
|
implement the new feature that if a: b and b: c and c is newer than a,
|
|
|
|
b need not be remade.
|
|
|
|
|
|
|
|
Sun Nov 26 16:12:41 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* compatMakefile (load.o, remote.o): Use $*.c instead of explicit file
|
|
|
|
names so that using VPATH works.
|
|
|
|
|
|
|
|
Tue Nov 21 14:57:18 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.57.1.
|
|
|
|
|
|
|
|
Fri Nov 10 03:28:40 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* remake.c (check_dep): Set *MUST_MAKE_PTR if FILE does not exist after
|
|
|
|
being updated. (The exact opposite test was here before; why???)
|
|
|
|
(update_file_1): Set a dep's `changed' member after updating it if it
|
|
|
|
is phony and has commands (because they will then always be executed).
|
|
|
|
|
|
|
|
Thu Nov 9 13:47:12 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* load.c [UMAX]: #ifdef UMAX_43 include different headers for the
|
|
|
|
`inq_stats' call.
|
|
|
|
* compatMakefile (LOAD_AVG): Document UMAX_43.
|
|
|
|
|
|
|
|
* Version 3.57.0.
|
|
|
|
|
|
|
|
* commands.c (chop_commands): New function to chop commands into lines.
|
|
|
|
* job.c (new_job): Break that code out, and call chop_commands.
|
|
|
|
* remake.c (remake_file): Call chop_commands before looking at
|
|
|
|
FILE->cmds->any_recurse.
|
|
|
|
|
|
|
|
* make.texinfo (Running: Goals): Don't say that the default target
|
|
|
|
won't be taken from an included makefile.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): #if 0 out setting MUST_MAKE if a dep
|
|
|
|
doesn't exist.
|
|
|
|
|
|
|
|
Fri Nov 3 15:53:03 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.57.
|
|
|
|
|
|
|
|
* variable.c (try_variable_definition): Don't calculate useless value.
|
|
|
|
|
|
|
|
* main.c (define_makeflags): Fixed -j propagation.
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): Removed unused variable.
|
|
|
|
|
|
|
|
Sun Oct 29 11:11:15 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): If the commands are empty, call
|
|
|
|
notice_finished_file before returning.
|
|
|
|
|
|
|
|
Sat Oct 28 23:06:32 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Don't always update a target that has no
|
|
|
|
deps. Only do this for double-colon targets.
|
|
|
|
|
|
|
|
Wed Oct 25 16:36:16 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* main.c (main) [hpux]: hpux == HPUX.
|
|
|
|
* compatMakefile (defines): Document that HPUX should be defined.
|
|
|
|
|
|
|
|
Tue Oct 24 19:19:48 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.56.8.
|
|
|
|
|
|
|
|
* job.c (exec_command): Fixed what mode bits are checked.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): "No cmds and no deps actually changed"
|
|
|
|
loses if ! FILE->is_target.
|
|
|
|
|
|
|
|
* make.texinfo (Variables: Setting): Don't say that spaces after a
|
|
|
|
variable definition are ignored (since they aren't).
|
|
|
|
|
|
|
|
Mon Oct 23 14:34:23 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.56.7.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): If, after being updated, any dependency
|
|
|
|
does not exist, remake the target.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Always update if FILE has commands but no
|
|
|
|
deps.
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): If we return early because there
|
|
|
|
are no commands, set FILE->updated.
|
|
|
|
|
|
|
|
Thu Oct 19 18:47:37 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* arscan.c (ar_scan) [M_XENIX]: Don't run atoi or atol on the
|
|
|
|
`struct ar_hdr' members that are int or long int on Xenix.
|
|
|
|
|
|
|
|
Sat Oct 14 10:43:03 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* arscan.c (ar_scan): Cosmetic clean ups.
|
|
|
|
(ar_name_equal): New function to compare names, handling truncated
|
|
|
|
member names and special `.o' truncation.
|
|
|
|
(ar_member_pos): Use ar_name_equal.
|
|
|
|
* ar.c (ar_member_date_1): Use ar_name_equal.
|
|
|
|
|
|
|
|
* Version 3.56.6.
|
|
|
|
|
|
|
|
* file.h (struct file): Made `update_status' a `short int', and moved
|
|
|
|
it before `command_state' so the bitfields can be packed better.
|
|
|
|
|
|
|
|
* remake.c (files_remade): Made global.
|
|
|
|
(notice_finished_file): Don't increment files_remade.
|
|
|
|
* job.c (new_job): Do.
|
|
|
|
|
|
|
|
* job.c (start_job): Don't return a value. Always set
|
|
|
|
CHILD->file->command_state to either cs_running or cs_finished.
|
|
|
|
(new_job, child_handler): Don't expect start_job to return a value.
|
|
|
|
Instead, look at the file's command_state.
|
|
|
|
|
|
|
|
* commands.c (chop_commands): Merged into job.c (new_job).
|
|
|
|
* commands.h: Don't declare chop_commands.
|
|
|
|
|
|
|
|
* job.c (start_job): Made static.
|
|
|
|
(new_job): New function to create a `struct child' and call start_job.
|
|
|
|
(free_child): New function to free a `struct child'.
|
|
|
|
(child_handler, new_job): Call it.
|
|
|
|
* job.h: Don't declare start_job. Do declare new_job.
|
|
|
|
* commands.c (execute_file_commands): Call new_job.
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): Don't set FILE->update_status if
|
|
|
|
start_job fails.
|
|
|
|
|
|
|
|
* function.c (expand_function): Don't use `reading_filename' and
|
|
|
|
`reading_lineno_ptr' if they're nil.
|
|
|
|
|
|
|
|
Fri Oct 13 18:16:00 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* read.c (find_semicolon): New function to look for an unquoted ; not
|
|
|
|
preceded by an unquoted # in a string.
|
|
|
|
(read_makefile): Call it before expanding the line. If it finds a ;,
|
|
|
|
cut the line short there before expanding it. If not, call it again
|
|
|
|
after expanding.
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): Don't check FILE->command_state.
|
|
|
|
We won't get called unless it's cs_not_started.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Call collapse_line on the variable-expanded
|
|
|
|
rule line after checking for ; and #.
|
|
|
|
|
|
|
|
* job.c (start_job): When there are no more commands, always return 0.
|
|
|
|
* commands.c (execute_file_commands): Don't put the new child in the
|
|
|
|
`children' chain unless FILE->command_state is cs_running.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Rewrote ;-handling to only do it once (why
|
|
|
|
did I do it twice??) and to check for a # before the ;.
|
|
|
|
|
|
|
|
* job.c (start_job): Set CHILD->file->update_status to 0 when we run
|
|
|
|
out of commands. Set it to 1 before returning failure.
|
|
|
|
(child_handler): Don't set C->file->update_status to 0 when start_job
|
|
|
|
returns success and commands are not running.
|
|
|
|
|
|
|
|
* read.c (read_makefile): If there is a # before the ; for commands,
|
|
|
|
forget the ; and commands.
|
|
|
|
|
|
|
|
Thu Oct 12 15:48:16 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* job.c (child_execute_job): Pass -c to the shell.
|
|
|
|
|
|
|
|
Wed Oct 11 18:41:10 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.56.5.
|
|
|
|
|
|
|
|
* main.c (define_makeflags): Cleaned up to keep better track of dashes
|
|
|
|
written, etc.
|
|
|
|
|
|
|
|
* function.c (expand_function: `shell'): When converting newlines to
|
|
|
|
spaces in output, search with `index' calls rather than a simple loop.
|
|
|
|
|
|
|
|
* main.c (main): Make sure stdout is line-buffered.
|
|
|
|
|
|
|
|
* main.c (decode_switches): Always check for missing switch arg.
|
|
|
|
|
|
|
|
Mon Oct 9 17:17:23 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.56.4.
|
|
|
|
|
|
|
|
Sat Oct 7 00:32:25 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* commands.c (set_file_variables): #ifdef NO_ARCHIVES, still set $@ and
|
|
|
|
$%.
|
|
|
|
|
|
|
|
* commands.c (set_file_variables): Include a trailing slash in the
|
|
|
|
directory variables (@D, etc.).
|
|
|
|
|
|
|
|
* job.c (child_handler): Call notice_finished_file after changing a
|
|
|
|
child's state to `cs_finished'.
|
|
|
|
* remake.c (update_file_1): Don't call notice_finished_file if
|
|
|
|
FILE->command_state == cs_finished.
|
|
|
|
|
|
|
|
Wed Oct 4 16:09:33 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.56.3.
|
|
|
|
|
|
|
|
Tue Oct 3 21:09:51 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* read.c (read_all_makefiles): When setting elements of MAKEFILES from
|
|
|
|
the contents of read_makefiles, make sure we're using the right
|
|
|
|
element.
|
|
|
|
|
|
|
|
* dir.c, glob.c [USGr3 || DIRENT]: Don't define d_ino as d_fileno.
|
|
|
|
|
|
|
|
* Version 3.56.2.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Return zero after calling remake_file if
|
|
|
|
FILE->command_state != cs_finished. Test update_status thoroughly.
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): Don't call notice_finished_file.
|
|
|
|
|
|
|
|
* remake.c (remake_file): Return immediately after calling
|
|
|
|
execute_file_commands.
|
|
|
|
|
|
|
|
Sat Sep 30 14:57:05 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.56.1 (alpha).
|
|
|
|
|
|
|
|
* file.h (struct file): Made `update_status' not be a bitfield, since
|
|
|
|
some broken compilers don't handle it right.
|
|
|
|
|
|
|
|
* function.c (expand_function: `join'): Don't clobber the pointers and
|
|
|
|
then try to free them.
|
|
|
|
|
|
|
|
* job.c (exec_command): Fixed & vs = precedence problem.
|
|
|
|
|
|
|
|
Thu Sep 28 17:29:56 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Fixed typo in debugging output.
|
|
|
|
|
|
|
|
* remake.c (library_file_mtime): Search for /usr/local/lib/libLIB.a
|
|
|
|
after /usr/lib/libLIB.a.
|
|
|
|
|
|
|
|
Tue Sep 26 16:07:58 1989 Roland McGrath (mcgrath at helen.Berkeley.EDU)
|
|
|
|
|
|
|
|
* read.c (conditional_line): For `ifeq (a, b)', swallow space after the
|
|
|
|
comma.
|
|
|
|
|
|
|
|
Sun Sep 24 13:25:32 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* function.c (patsubst_function): If BY_WORD and the match is not a
|
|
|
|
full word, update the text pointer correctly.
|
|
|
|
|
|
|
|
* function.c (expand_function: `word'): Don't lose track of the second
|
|
|
|
arg's expansion and free something else instead.
|
|
|
|
|
|
|
|
Fri Sep 22 16:15:29 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.56.
|
|
|
|
|
|
|
|
Thu Sep 21 14:28:42 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* main.c (main): Make an array of the mtimes of the makefiles before
|
|
|
|
updating them, and compare their file_mtimes against this later. Don't
|
|
|
|
re-exec if a makefile was successfully updated but didn't change. If a
|
|
|
|
makefile failed to be remade and no longer exists, die. If a makefile
|
|
|
|
failed to be remade, but changed anyway, re-exec. If a makefile failed
|
|
|
|
to be remade, but is unchanged, continue on.
|
|
|
|
|
|
|
|
Wed Sep 20 18:02:07 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.55.6.
|
|
|
|
|
|
|
|
* implicit.c (pattern_search): Maintain an array CHECK_LASTSLASH of the
|
|
|
|
CHECK_LASTSLASH flag values used to match each member of TRYRULES.
|
|
|
|
When making FILE->stem, if CHECKED_LASTSLASH[FOUNDRULE], prepend the
|
|
|
|
part of FILENAME before LASTSLASH.
|
|
|
|
|
|
|
|
Tue Sep 19 17:44:08 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* dir.c (dir_file_exists_p): Check for FILENAME being nil before
|
|
|
|
checking for it being "".
|
|
|
|
|
|
|
|
* main.c (define_makeflags): Fixed test for whether a flag/flag_off
|
|
|
|
option was non-default. Also changed to generate a string that Unix
|
|
|
|
Make will grok (except for FP/int values and new flags).
|
|
|
|
|
|
|
|
* job.c (child_execute_job): Don't use the shell's -c option.
|
|
|
|
Also fixed an off-by-one bug in the ARGV -> shell arg list copying.
|
|
|
|
|
|
|
|
Mon Sep 18 15:17:31 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.55.5.
|
|
|
|
|
|
|
|
* read.c (parse_file_seq): Check the beginning of the file name for a
|
|
|
|
`./', not the two chars after the end of the name (Q rather than P).
|
|
|
|
|
|
|
|
* job.c (child_execute_job): Include all of ARGV in the arg list for
|
|
|
|
the shell.
|
|
|
|
|
|
|
|
* main.c (define_makeflags): Don't include floating and positive_int
|
|
|
|
options in !PF.
|
|
|
|
|
|
|
|
* job.c (exec_command): Set the effective gid to the real gid before
|
|
|
|
execing.
|
|
|
|
|
|
|
|
* job.c (child_execute_job): Don't clobber the arg list when execing
|
|
|
|
the shell.
|
|
|
|
|
|
|
|
Sun Sep 17 15:27:19 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* main.c (define_makeflags): Moved all the checking inside the switch.
|
|
|
|
|
|
|
|
* load.c [LDAV_BASED] (load_average): When we can't get the load
|
|
|
|
average, return zero instead of running off the end.
|
|
|
|
|
|
|
|
* file.c: Include variables.h.
|
|
|
|
* job.c: Declare dup2 and {block,unblock}_remote_children.
|
|
|
|
* file.h: Declare f_mtime.
|
|
|
|
* job.c: Don't declare construct_command_argv, since job.h does.
|
|
|
|
* function.c, main.c, load.c, remake.c: Include job.h.
|
|
|
|
* load.c [LDAV_BASED] (load_average): Declare nlist.
|
|
|
|
* variable.h: Declare print_file_variables.
|
|
|
|
* job.c [!USG]: Don't declare sigsetmask.
|
|
|
|
[!USG]: Declare getdtablesize.
|
|
|
|
Don't declare load_average. Do declare wait_to_start_job.
|
|
|
|
Declare vfork, gete[gu]id, execve.
|
|
|
|
* commands.c: Declare remote_kill, getpid.
|
|
|
|
* make.h: Declare kill, exit, sigblock, pipe, close, ctime, open,
|
|
|
|
lseek, read.
|
|
|
|
* make.h [not USG]: Declare sigsetmask.
|
|
|
|
* job.h: Declare wait_for_children and {block,unblock}_children.
|
|
|
|
|
|
|
|
* dir.c (dir_file_exists_p): If FILENAME is nil, read in the whole
|
|
|
|
directory.
|
|
|
|
(find_directory): When we want to read in the whole directory, call
|
|
|
|
dir_file_exists_p with nil instead of "".
|
|
|
|
|
|
|
|
* file.h (struct file), job.h (struct child),
|
|
|
|
variable.h (struct variable): Use bitfields for flags.
|
|
|
|
* make.h (ENUM_BITFIELD): If GCC or #ifdef ENUM_BITFIELDS, define as
|
|
|
|
:BITS, else empty.
|
|
|
|
* compatMakefile (defines): Document ENUM_BITFIELDS.
|
|
|
|
|
|
|
|
Sat Sep 16 12:38:58 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.55.4 (alpha).
|
|
|
|
|
|
|
|
* GNUmakefile (dist): Depend on default and doc.
|
|
|
|
|
|
|
|
* load.c [LDAV_BASED]: Include <nlist.h> rather than <a.out.h>; #ifdef
|
|
|
|
NLIST_NAME_UNION, use n_un.n_name instead of n_name.
|
|
|
|
* compatMakefile (LOAD_AVG): Document NLIST_NAME_UNION.
|
|
|
|
|
|
|
|
* job.c [USG-ish]: Don't redefine WIF{SIGNALED,EXITED} if they're
|
|
|
|
already defined.
|
|
|
|
|
|
|
|
Fri Sep 15 13:59:42 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* glob.c, dir.c [USGr3 or DIRENT]: If neither d_ino, nor d_fileno is
|
|
|
|
defined, define d_ino as d_fileno.
|
|
|
|
|
|
|
|
Thu Sep 14 18:29:38 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* job.c: Don't declare exec_command static.
|
|
|
|
|
|
|
|
* make.texinfo (Name Index): Changed title to include directives.
|
|
|
|
|
|
|
|
* Version 3.55.3 (alpha).
|
|
|
|
|
|
|
|
* make.texinfo (Running: Options): Document -e.
|
|
|
|
|
|
|
|
* main.c (main): Always give imported environment variables origin
|
|
|
|
`o_env'.
|
|
|
|
* variable.c (define_variable_in_set): Under -e, if ORIGIN, or an
|
|
|
|
existing variable's origin, is `o_env', make it `o_env_override'.
|
|
|
|
|
|
|
|
* load.c: Use the symbol KERNEL_FILE_NAME instead of KERNEL_FILE.
|
|
|
|
* compatMakefile: Changed the comment for `LOAD_AVG' accordinly.
|
|
|
|
|
|
|
|
Thu Sep 7 16:46:26 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.55.2 (alpha).
|
|
|
|
|
|
|
|
* variable.c (print_variable_set), rule.c (print_rule_data_base),
|
|
|
|
file.c (print_file_data_base): If NO_FLOAT is defined, don't use
|
|
|
|
floating-point for printing statistics.
|
|
|
|
* compatMakefile (defines): Document NO_FLOAT.
|
|
|
|
|
|
|
|
* make.h (HASH): New macro to add the hashing value of one char to a
|
|
|
|
variable.c.
|
|
|
|
* file.c (lookup_file, enter_file, rename_file): Use it.
|
|
|
|
* dir.c (find_directory, dir_file_exists_p, file_impossible_p): Ditto.
|
|
|
|
* variable.c (define_variable_in_set, lookup_variable): Same here.
|
|
|
|
|
|
|
|
* variable.c, file.c, dir.c: Don't define *_BUCKETS if they are already
|
|
|
|
defined.
|
|
|
|
|
|
|
|
* compatMakefile (defines): Added comment about defining NO_ARCHIVES.
|
|
|
|
(ARCHIVES, ARCHIVES_SRC): New variables for {ar,arscan}.[oc].
|
|
|
|
(objs, srcs): Use $(ARCHIVES) and $(ARCHIVES_SRC).
|
|
|
|
* commands.c (set_file_variables), dir.c (file_exists_p),
|
|
|
|
remake.c (touch_file, name_mtime), implicit.c (try_implicit_rule,
|
|
|
|
pattern_search), make.h: If NO_ARCHIVES is #defined, don't do any
|
|
|
|
archive stuff.
|
|
|
|
|
|
|
|
* commands.c (set_file_variables): Don't kill the last char of
|
|
|
|
directory names in $([@*<%?^]D).
|
|
|
|
|
|
|
|
Wed Sep 6 15:23:11 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* default.c (default_terminal_rules {%:: %,v}, {%:: RCS/%,v}): Don't
|
|
|
|
run co if the target exists.
|
|
|
|
|
|
|
|
* glob.c (glob_match): [!xyz], rather than [^xyz], means none of [xyz].
|
|
|
|
|
|
|
|
* glob.c: Misc minor cosmetic changes.
|
|
|
|
|
|
|
|
Tue Sep 5 14:49:56 1989 Roland McGrath (mcgrath at saffron.Berkeley.EDU)
|
|
|
|
|
|
|
|
* load.c [LDAV_BASED] (load_average): Check for == -1, rather than < 0
|
|
|
|
to see if lseek fails. On some systems, `avenrun' is at an offset >
|
|
|
|
(2**31)-1, and lseek succeeds, returning a negative value.
|
|
|
|
|
|
|
|
Mon Sep 4 11:07:58 1989 Roland McGrath (mcgrath at saffron.Berkeley.EDU)
|
|
|
|
|
|
|
|
* rule.c (new_pattern_rule): Return `int' instead of `void': nonzero if
|
|
|
|
the passed rule was used, zero if not.
|
|
|
|
(install_pattern_rule): Pay attention to the return from
|
|
|
|
new_pattern_rule, and don't set the rule's `terminal' flag or give it
|
|
|
|
commands unless it's used.
|
|
|
|
(create_pattern_rule): Same idea.
|
|
|
|
|
|
|
|
* dir.c (find_directory): Removed unused variable.
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): Removed unused variable.
|
|
|
|
|
|
|
|
* read.c (record_files): Don't use NAME after freeing it.
|
|
|
|
|
|
|
|
Sat Sep 2 00:33:19 1989 Roland McGrath (mcgrath at saffron.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.55.1 (alpha).
|
|
|
|
|
|
|
|
* function.c (string_glob): Don't add spaces after file names that
|
|
|
|
aren't added. (Also means don't add spaces without checking the size
|
|
|
|
of the buffer.)
|
|
|
|
|
|
|
|
* remake.c (update_goal_chain): Don't remove makefiles with cmds and no
|
|
|
|
deps from the chain.
|
|
|
|
* main.c (main): Do it here, before calling update_goal_chain.
|
|
|
|
|
|
|
|
* remake.c (update_goal_chain): When updating fails, change STATUS even
|
|
|
|
if MAKEFILES is set. Also stop remaking when updating fails if not
|
|
|
|
under -k and MAKEFILES is not set.
|
|
|
|
|
|
|
|
* remake.c (remake_file, update_file_1, notice_finished_file),
|
|
|
|
commands.c (execute_file_commands), make.h, commands.h: The functions
|
|
|
|
remake_file, notice_finished_file, and execute_file_commands no longer
|
|
|
|
return values, and their callers no longer expect values returned.
|
|
|
|
|
|
|
|
* remake.c (notice_finished_file): Don't set FILE's modtime to now if
|
|
|
|
it is a non-target with no commands.
|
|
|
|
|
|
|
|
Fri Sep 1 00:04:39 1989 Roland McGrath (mcgrath at saffron.Berkeley.EDU)
|
|
|
|
|
|
|
|
* read.c (read_all_makefiles): After freeing each element on MAKEFILES,
|
|
|
|
replace it with the name stored in read_makefiles by read_makefile.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Don't decide not to remake if FILE has no
|
|
|
|
cmds and no deps actually changed if FILE doesn't have any deps.
|
|
|
|
|
|
|
|
* file.c (remove_intermediate): Remove precious files that also have
|
|
|
|
the `dontcare' flag set.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Don't always remake if FILE has cmds but no
|
|
|
|
deps; only if FILE is double-colon. (I don't know why this should be
|
|
|
|
done for double-colon targets, but that's what Unix make does.)
|
|
|
|
|
|
|
|
* load.c [LDAV_BASED] (load_average): Write error messages if the
|
|
|
|
various system calls fail. Keep track of if we've failed before.
|
|
|
|
The first time we fail, write a message saying -l won't be enforced.
|
|
|
|
The first time we succeed after having failed, write a message saying
|
|
|
|
-l will be enforced again.
|
|
|
|
|
|
|
|
* remake.c [USG]: Don't #include <sys/file.h>
|
|
|
|
|
|
|
|
* load.c [generic Unix LDAV_BASED]: #include <fcntl.h> #ifdef USG,
|
|
|
|
else <sys/file.h> instead.
|
|
|
|
|
|
|
|
* job.c [USG && !USGr3 && !HAVE_DUP2]: Remove redundant
|
|
|
|
#include <errno.h> and declaration of `errno'.
|
|
|
|
[...] (dup2): Fixed so it won't always lose.
|
|
|
|
|
|
|
|
* default.c (default_suffix_rules: .texinfo.dvi): Copy, rather than
|
|
|
|
move, the aux and index files, so the TeX run can use them.
|
|
|
|
|
|
|
|
* compatMakefile: Remove redundant comment.
|
|
|
|
|
|
|
|
* load.c [generic Unix LDAV_BASED]: Include <a.out.h> instead of
|
|
|
|
<nlist.h>, since the `struct nlist' declaration in <nlist.h> varies
|
|
|
|
more than the one in <a.out.h>.
|
|
|
|
(load_average): Use the `n_un.n_name' field of the `struct nlist',
|
|
|
|
since the <a.out.h> declaration uses the union.
|
|
|
|
|
|
|
|
* main.c (main): For the temporary files made for stdin makefiles, set
|
|
|
|
the `intermediate' and `dontcare' flags.
|
|
|
|
* file.c (remove_intermediates): Don't print any messages for files
|
|
|
|
whose `dontcare' flag is set. (The only files that will be
|
|
|
|
intermediate and `dontcare' will be the temporary files made for stdin
|
|
|
|
makefiles.)
|
|
|
|
|
|
|
|
* job.c (exec_command): Made global.
|
|
|
|
* job.h: Declare it.
|
|
|
|
* main.c (main): Use exec_command when re-execing.
|
|
|
|
|
|
|
|
* make.h: Declare environ.
|
|
|
|
* make.c: Don't.
|
|
|
|
|
|
|
|
* job.c (child_execute_job): New function to perform everything done in
|
|
|
|
the child side of a fork (for a job or `shell' function).
|
|
|
|
(start_job): Call it.
|
|
|
|
* job.h: Declare construct_command_argv and child_execute_job.
|
|
|
|
* function.c (expand_function: `shell'): Use child_execute_job.
|
|
|
|
|
|
|
|
Thu Aug 31 18:42:51 1989 Roland McGrath (mcgrath at saffron.Berkeley.EDU)
|
|
|
|
|
|
|
|
* function.c (expand_function: `shell'): Remove a trailing newline
|
|
|
|
instead of turning it into a space.
|
|
|
|
|
|
|
|
* main.c (main): Do init_siglist #ifdef HAVE_SIGLIST.
|
|
|
|
|
|
|
|
* job.c [WTERMSIG || (USG && !HAVE_SYS_WAIT)]: Test each W* macro
|
|
|
|
separately and define all those that aren't defined.
|
|
|
|
|
|
|
|
Sat Aug 26 15:13:21 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* ar.c (ar_name): Return zero for `(foo)'.
|
|
|
|
|
|
|
|
* Version 3.55.
|
|
|
|
|
|
|
|
* make.texinfo (Rules: Multiple Targets): Make this node's `next'
|
|
|
|
pointer point to `Static Pattern'.
|
|
|
|
* make.texinfo (Makefiles: MAKEFILES Variable): Make this node's `prev'
|
|
|
|
pointer point to `Makefile Names'.
|
|
|
|
|
|
|
|
* make.1: Renamed to make.man.
|
|
|
|
* compatMakefile: Define `mandir' and `manext'.
|
|
|
|
(install): Depend on $(mandir)/make.$(manext).
|
|
|
|
($(mandir)/make.$(manext)): Depend on make.man and copy it to $@.
|
|
|
|
($(bindir)/make): Use `make' rather than $<; so Unix make can grok it.
|
|
|
|
|
|
|
|
Thu Aug 24 03:35:48 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* variable.c (target_environment): Allow variables that start with
|
|
|
|
underscores.
|
|
|
|
|
|
|
|
Wed Aug 23 22:50:32 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* variable.c (target_environment): Reject variables that don't start
|
|
|
|
with letters.
|
|
|
|
|
|
|
|
Tue Aug 22 04:14:29 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* GNUmakefile (make-$(version).tar.Z): Put make.1 (the Unix manual
|
|
|
|
page) in the tar file.
|
|
|
|
|
|
|
|
* variable.c (target_environment): Don't write variables with origin
|
|
|
|
o_default (i.e., ones from default.c).
|
|
|
|
* make.texinfo (Commands: Recursion: Variables/Recursion): Document
|
|
|
|
that default variables are not put in the environment.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Remake all targets with commands but no
|
|
|
|
deps.
|
|
|
|
|
|
|
|
Sat Aug 19 06:03:16 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* remake.c (update_file_1): In the final loop, set the deps'
|
|
|
|
`changed' members if they are newer than FILE.
|
|
|
|
|
|
|
|
* remake.c (update_goal_chain): Under -d, print a message if we decide
|
|
|
|
not to remake a makefile so as to avoid a possible infinite loop.
|
|
|
|
|
|
|
|
Fri Aug 18 20:30:14 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* remake.c (remake_file): Cleaned up.
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): If the commands are empty, set
|
|
|
|
FILE->update_status to zero before returning.
|
|
|
|
|
|
|
|
* remake.c (notice_finished_file): Set `last_mtime' fields to zero
|
|
|
|
instead of calling name_mtime; file_mtime will do that later if anybody
|
|
|
|
cares.
|
|
|
|
|
|
|
|
Thu Aug 17 10:01:11 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.texinfo (Rules: Wildcards: Wildcard Examples): Give this node a
|
|
|
|
`prev' pointer.
|
|
|
|
|
|
|
|
* Version 3.54.9 (alpha).
|
|
|
|
|
|
|
|
* make.texinfo: Fixed some @nodes.
|
|
|
|
|
|
|
|
* remake.c (check_dep): Don't set *MUST_MAKE_PTR if FILE doesn't exist
|
|
|
|
after running update_file.
|
|
|
|
|
|
|
|
* remake.c (notice_finished_file): If FILE has no commands, pretend its
|
|
|
|
modtime is now.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): In the loops that call update_file on the
|
|
|
|
deps, compare modtimes before and after (unless deps are still being
|
|
|
|
made) and set the deps' `changed' members. Do not set the `changed'
|
|
|
|
members in the loop that prints the newer/older debugging messages.
|
|
|
|
* remake.c (update_file_1): If no deps changed and FILE has no
|
|
|
|
commands, decide it doesn't need remaking.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Print a debugging message if we take
|
|
|
|
commands from default_file.
|
|
|
|
|
|
|
|
* make.texinfo (Rules: Directory Search: Selective Search): Removed
|
|
|
|
note about warning for `vpath' with a constant pathname, since it isn't
|
|
|
|
warned about anymore.
|
|
|
|
|
|
|
|
* remake.c (update_goal_chain): If MAKEFILES, remove makefiles which
|
|
|
|
are targets and have no deps.
|
|
|
|
* make.texinfo (Makefiles: Remaking Makefiles): Document that makefiles
|
|
|
|
will not be remade if they are targets but have no dependencies.
|
|
|
|
|
|
|
|
Tue Aug 15 00:00:08 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu)
|
|
|
|
|
|
|
|
* remake.c (notice_finished_file): Increment files_remade for non-phony
|
|
|
|
files if they didn't exist before (even if they still don't).
|
|
|
|
|
|
|
|
* job.c: Include <errno.h> and declare errno.
|
|
|
|
|
|
|
|
* job.c (exec_command): If the execve fails with ENOEXEC (Exec format
|
|
|
|
error), return instead of exiting the child process.
|
|
|
|
|
|
|
|
* job.c (start_job): In the child side, if exec_command fails, try
|
|
|
|
using the shell.
|
|
|
|
|
|
|
|
* job.c (start_job): In the child side, call unblock_children instead
|
|
|
|
of sigsetmask.
|
|
|
|
|
|
|
|
* remake.c (notice_finished_file): Under -n or -q, always increment
|
|
|
|
files_remade for non-phony files.
|
|
|
|
|
|
|
|
* rule.c (intall_pattern_rule): Use find_percent.
|
|
|
|
|
|
|
|
* vpath.c (vpath_search): Pass the `percent' members to
|
|
|
|
pattern_matches.
|
|
|
|
|
|
|
|
Mon Aug 14 23:30:24 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu)
|
|
|
|
|
|
|
|
* vpath.c (struct vpath): New member `percent', to hold a pointer into
|
|
|
|
the pattern where the % is.
|
|
|
|
(construct_vpath_list): Call find_percent on the pattern and set the
|
|
|
|
new `percent' member.
|
|
|
|
* read.c (read_makefile): Don't run find_percent on `vpath' directive
|
|
|
|
patterns.
|
|
|
|
|
|
|
|
* function.c (pattern_matches): Take new arg PERCENT, a pointer into
|
|
|
|
PATTERN where the % is. If PERCENT is nil, copy PATTERN into local
|
|
|
|
space and run find_percent on it.
|
|
|
|
(expand_function: `filter', `filter-out'): Pass new arg to
|
|
|
|
pattern_matches.
|
|
|
|
* read.c (record_files): Pass PATTERN_PERCENT to pattern_matches for
|
|
|
|
static pattern rules. Save the percent pointer into implicit rule
|
|
|
|
targets, and pass them to create_pattern_rule.
|
|
|
|
* rule.c (convert_to_pattern): Pass new arg to create_pattern_rule.
|
|
|
|
(create_pattern_rule): Take new arg TARGET_PERCENTS, nil or an array of
|
|
|
|
pointers into the corresponding elements of TARGETS, where the %s are.
|
|
|
|
|
|
|
|
Sun Aug 13 00:29:19 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.54.8.
|
|
|
|
|
|
|
|
* README.templatate, README-doc.template: New files, turned into README
|
|
|
|
and README-doc to go into the two distribution tar files.
|
|
|
|
* GNUmakefile: Added a rule to edit the version number in
|
|
|
|
README.template and README-doc.template, producing README and
|
|
|
|
README-doc.
|
|
|
|
|
|
|
|
* remake.c (update_goal_chain): If -n or -q is in effect for a
|
|
|
|
makefile, and it got updated, don't change STATUS, so we can still
|
|
|
|
return -1 (meaning nothing was done). This avoids an infinite loop on
|
|
|
|
"make -n Makefile".
|
|
|
|
|
|
|
|
Sat Aug 12 23:14:24 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* remake.c (notice_finished_file): Treat -q the same as -n.
|
|
|
|
|
|
|
|
* remake.c (update_goal_chain): Fixed handling of return from
|
|
|
|
update_file. If -n or -q is in effect, ignore it.
|
|
|
|
|
|
|
|
* job.c (start_job): Don't test for -t. We should never get called in
|
|
|
|
that case.
|
|
|
|
|
|
|
|
Fri Aug 11 04:09:14 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* function.c (expand_function): Removed unused variables.
|
|
|
|
(handle_function): Removed unused variable.
|
|
|
|
|
|
|
|
* main.c (main): Removed unused variable.
|
|
|
|
|
|
|
|
Wed Aug 9 09:37:10 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.54.7.
|
|
|
|
|
|
|
|
* remake.c (notice_finished_file): If FILE's modtime actually changed,
|
|
|
|
increment files_remade.
|
|
|
|
(remake_file): Don't increment files_remade.
|
|
|
|
|
|
|
|
* remake.c (update_file): Don't print "up to date" messages for
|
|
|
|
phony files.
|
|
|
|
|
|
|
|
* job.c (child_handler): Don't set C->file->update_status to 1 if
|
|
|
|
start_job returns nonzero under -n or -t.
|
|
|
|
|
|
|
|
* expand.c (variable_expand): Count parens in $(foo:a=b) refs.
|
|
|
|
|
|
|
|
* main.c: Removed old declaration of `glob_tilde' (which hasn't existed
|
|
|
|
for a few months).
|
|
|
|
|
|
|
|
Tue Aug 8 23:53:43 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (exec_command): Fixed to not ignore the last path component and
|
|
|
|
to do the right thing with an empty path.
|
|
|
|
|
|
|
|
Fri Aug 4 15:58:19 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* remake.c (library_file_mtime): Look for libLIB.a, not /libLIB.a.
|
|
|
|
Do VPATH search on libLIB.a, not /usr/lib/libLIB.a
|
|
|
|
|
|
|
|
Thu Aug 3 20:42:00 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c [HAVE_SYS_WAIT or not USG]: If WIFSIGNALED is not defined by
|
|
|
|
<sys/wait.h>, define it as (WTERMSIG != 0).
|
|
|
|
|
|
|
|
Tue Aug 1 19:25:34 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* remake.c (remake_file): If FILE has no commands and is a target,
|
|
|
|
don't set its time to now. The time gets reset by notice_finished_file
|
|
|
|
anyway, and it isn't needed since check_dep checks for nonexistence.
|
|
|
|
|
|
|
|
* Version 3.54.6.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Don't read off the end of the string after an
|
|
|
|
`include'.
|
|
|
|
|
|
|
|
* job.c (exec_command): New function to search the path for a file and
|
|
|
|
execute it.
|
|
|
|
(start_job): Use exec_command rather than execvp.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Expand `include' directive args before
|
|
|
|
parsing them. Allow trailing whitespace after filename.
|
|
|
|
|
|
|
|
* variable.c (target_environment): Put makelevel + 1, rather than
|
|
|
|
makelevel, in the `MAKELEVEL' envariable.
|
|
|
|
|
|
|
|
Sat Jul 29 10:27:04 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* remake.c (notice_finished_file): Don't get the new modtime of phony
|
|
|
|
files.
|
|
|
|
|
|
|
|
* remake.c (remake_file): Run commands instead of touching under -t if
|
|
|
|
FILE->cmds->any_recurse is set.
|
|
|
|
|
|
|
|
* commands.h (struct commands): Add new member `any_recurse', to be set
|
|
|
|
nonzero if any `lines_recurse' element is nonzero.
|
|
|
|
* commands.c (chop_commands): Set the `any_recurse' member.
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): Split chopping of commands into
|
|
|
|
lines into new function chop_commands.
|
|
|
|
* commands.h: Declare chop_commands.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Test for a line beginning with a tab after
|
|
|
|
checking for conditional lines, but before all other checks.
|
|
|
|
|
|
|
|
Fri Jul 28 18:10:29 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* read.c (read_makefile): Match directives against collapsed line
|
|
|
|
and use that for their args.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Warn about extra text after `include'.
|
|
|
|
|
|
|
|
Tue Jul 25 14:34:25 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.texinfo (Rules: Directory Search: Selective Search): Fixed
|
|
|
|
example to use correct `vpath' syntax.
|
|
|
|
|
|
|
|
Mon Jul 24 12:10:58 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.54.5.
|
|
|
|
|
|
|
|
* job.c (start_job): In the child side, unblock SIGCHLD.
|
|
|
|
|
|
|
|
Fri Jul 21 18:25:59 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* make.h: Don't include <sys/types.h> #ifdef sun.
|
|
|
|
|
|
|
|
Mon Jul 17 14:29:10 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* implicit.c (pattern_search): If ar_name (FILENAME), don't check for
|
|
|
|
directory names.
|
|
|
|
|
|
|
|
* job.c (wait_for_children): Changed "waiting for children" message to
|
|
|
|
"waiting for unfinished jobs".
|
|
|
|
|
|
|
|
Fri Jul 14 13:17:13 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* load.c (load_average): Use an unsigned offset into kmem.
|
|
|
|
|
|
|
|
Thu Jul 13 18:44:49 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* variable.c (pop_variable_scope): Don't free the head of the chain of
|
|
|
|
variables in each bucket twice.
|
|
|
|
|
|
|
|
Tue Jul 11 06:45:24 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* GNUmakefile: Include COPYING in the doc tar file.
|
|
|
|
|
|
|
|
* variable.c, read.c, misc.c, job.c, function.c: Replace some identical
|
|
|
|
"for" loops with next_token or end_of_token calls.
|
|
|
|
|
|
|
|
Mon Jul 10 16:55:08 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.54.4.
|
|
|
|
|
|
|
|
* compatMakefile: Documented new conditionals.
|
|
|
|
|
|
|
|
* job.c: Don't define sys_siglist if HAVE_SIGLIST is defined.
|
|
|
|
Don't define dup2 if HAVE_DUP2 is defined.
|
|
|
|
|
|
|
|
* job.c (child_handler): Interpret the return from start_job correctly.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Don't write "target not remade because of
|
|
|
|
errors" message under -n or -q.
|
|
|
|
|
|
|
|
* read.c: Declare getpwnam.
|
|
|
|
|
|
|
|
* glob.c: Use <dirent.h> if DIRENT is defined.
|
|
|
|
[USG]: Don't declare memcpy, since <memory.h> does.
|
|
|
|
|
|
|
|
Fri Jul 7 20:53:13 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* misc.c (collapse_line): Copy the line over in the right place.
|
|
|
|
|
|
|
|
Fri Jul 7 18:33:24 1989 Roland McGrath (fsf at void.ai.mit.edu)
|
|
|
|
|
|
|
|
* remake.c: Conditionalize inclusion of <sys/file.h> on not
|
|
|
|
USG, since HP-UX defines a `struct file' there.
|
|
|
|
|
|
|
|
Fri Jul 7 12:11:30 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c: If WTERMSIG is defined by <sys/wait.h>, define WAIT_T as int,
|
|
|
|
and don't define other macros; this covers HP-UX.
|
|
|
|
If WTERMSIG is not defined, use int or union wait based on USG and
|
|
|
|
HAVE_SYS_WAIT; this covers BSD and SysV.
|
|
|
|
|
|
|
|
* Version 3.54.3 (alpha).
|
|
|
|
|
|
|
|
* job.c [USG and not USGr3]: Include <errno.h> and declare errno.
|
|
|
|
|
|
|
|
* job.c (unblock_children [USG]): Declare child_handler.
|
|
|
|
|
|
|
|
* job.c: Renamed WRETCODE to WEXITSTATUS.
|
|
|
|
[HAVE_SYS_WAIT or not USG]: Undefine WTERMSIG, WCOREDUMP, and
|
|
|
|
WEXITSTATUS before defining them. The HP-UX <sys/wait.h> defines them.
|
|
|
|
|
|
|
|
* main.c (main): If there are no goals, fatal AFTER printing the data
|
|
|
|
base under -p.
|
|
|
|
|
|
|
|
Thu Jul 6 22:43:33 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu)
|
|
|
|
|
|
|
|
* glob.c [USG]: #define rindex as strrchr.
|
|
|
|
|
|
|
|
* job.c [USG]: Include <sys/param.h> and #define getdtablesize() as
|
|
|
|
NOFILE.
|
|
|
|
|
|
|
|
Wed Jul 5 09:36:00 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.54.2 (alpha).
|
|
|
|
|
|
|
|
* expand.c (variable_expand): When expanding recursive variable
|
|
|
|
references (${${a}}), use the correct delimiters in the constructed
|
|
|
|
variable reference.
|
|
|
|
|
|
|
|
Mon Jul 3 18:29:26 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile: Clear out and redefine the .SUFFIXES list because
|
|
|
|
silly Sun 4 make defines .cps.h.
|
|
|
|
|
|
|
|
* compatMakefile: Fix comment about -DNO_MINUS_C_MINUS_O.
|
|
|
|
|
|
|
|
* remake.c: Include <sys/file.h> for O_* on 4.2.
|
|
|
|
|
|
|
|
* commands.c: Define sigmask if it's not defined.
|
|
|
|
|
|
|
|
Fri Jun 30 07:33:08 1989 Roland McGrath (roland at apple-gunkies.ai.mit.edu)
|
|
|
|
|
|
|
|
* remake.c (remake_file): Don't always increment files_remade.
|
|
|
|
|
|
|
|
* variable.c (push_new_variable_scope): Zero the new variable hash
|
|
|
|
table.
|
|
|
|
|
|
|
|
Thu Jun 29 17:14:32 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* expand.c (variable_expand): When terminating the variable expansion
|
|
|
|
buffer, use variable_buffer_output instead of a simply zero store,
|
|
|
|
because the buffer may need to be enlarged.
|
|
|
|
|
|
|
|
Wed Jun 28 16:53:47 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.54.
|
|
|
|
|
|
|
|
* default.c (default_suffixes): Added `.ln'.
|
|
|
|
(default_suffix_rules): Changed lint rules to use -C.
|
|
|
|
|
|
|
|
Thu Jun 22 20:49:35 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (start_job): Set `environ' to CHILD->environment before execing
|
|
|
|
in the child process!
|
|
|
|
|
|
|
|
Tue Jun 20 17:23:13 1989 Roland McGrath (roland at spiff.ai.mit.edu)
|
|
|
|
|
|
|
|
* compatMakefile: Put job.h and rule.h in `srcs'.
|
|
|
|
|
|
|
|
* Version 3.53.
|
|
|
|
|
|
|
|
Mon Jun 19 16:25:18 1989 Roland McGrath (roland at spiff.ai.mit.edu)
|
|
|
|
|
|
|
|
* job.c (start_job): If there are no more commands, return nonzero
|
|
|
|
under -n or -t.
|
|
|
|
|
|
|
|
* compatMakefile (make): Pass `-f' to mv.
|
|
|
|
|
|
|
|
* GNUmakefile: If `ARCH' or `machine' is defined, make $(ARCH)/*.o and
|
|
|
|
$(ARCH)/make instead of *.o and make.
|
|
|
|
|
|
|
|
* function.c (string_glob): Don't try to use freed storage!
|
|
|
|
|
|
|
|
* read.c (readline): If there is only one byte of space in the buffer,
|
|
|
|
enlarge the buffer before reading more.
|
|
|
|
|
|
|
|
* arscan.c [M_XENIX]: Miscellaneous minor changes for Xenix.
|
|
|
|
|
|
|
|
Sun Jun 18 13:07:45 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* GNUmakefile (depend): Split commands into two lines so they won't be
|
|
|
|
so long when variable-expanded.
|
|
|
|
|
|
|
|
* compatMakefile: Documented MINUS_C_MINUS_O meaning. The line
|
|
|
|
describing it got removed when the USG/wait stuff was documented.
|
|
|
|
|
|
|
|
Sat Jun 17 22:56:54 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
|
|
|
|
|
|
|
|
* Version 3.52.
|
|
|
|
|
|
|
|
Mon Jun 12 17:45:11 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* remake.c (check_dep): Drop circular dependencies instead of fataling.
|
|
|
|
(update_file_1 already does this.)
|
|
|
|
|
|
|
|
* default.c (default_suffix_rules): For .s -> .o, put the -o flag to
|
|
|
|
the assembler before the source file name.
|
|
|
|
|
|
|
|
Sun Jun 11 12:00:52 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.51.
|
|
|
|
|
|
|
|
* make.texinfo (Features): Noted 1003.2 requirement of `+' meaning.
|
|
|
|
|
|
|
|
* file.c (remove_intermediates): If !SIG, write a single "rm" command
|
|
|
|
line, listing all files.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Don't free the storage for the passed
|
|
|
|
filename, since it might not be malloc'd. When doing an included
|
|
|
|
makefile, free the name's storage.
|
|
|
|
(read_all_makefiles): Use variable_expand to find the value of
|
|
|
|
`MAKEFILES'. Free the storage for the names of -f makefiles.
|
|
|
|
(read_makefile): Allocate storage for the makefile name in the
|
|
|
|
`struct file' in read_makefiles.
|
|
|
|
|
|
|
|
* make.texinfo (Running: Instead of Execution): Document the effect of
|
|
|
|
+ and $(MAKE)/${MAKE}.
|
|
|
|
|
|
|
|
* make.texinfo (Functions: Foreach Function): Document that if the
|
|
|
|
iteration variable was undefined before the `foreach' call, it will be
|
|
|
|
undefined after the call.
|
|
|
|
|
|
|
|
* commands.c: Split into commands.c, job.h, and job.c.
|
|
|
|
|
|
|
|
* rule.c (try_implicit_rule, pattern_search): Moved to new file
|
|
|
|
implicit.c.
|
|
|
|
|
|
|
|
* rule.c: Split into rule.h, rule.c, and default.c.
|
|
|
|
* default.c (install_default_pattern_rules): Renamed to
|
|
|
|
install_default_implicit_rules.
|
|
|
|
* make.h, main.c (main): Renamed uses.
|
|
|
|
|
|
|
|
* make.c: Renamed to misc.c.
|
|
|
|
|
|
|
|
* make.c (main, log_working_directory, decode_switches,
|
|
|
|
decode_env_switches, define_makeflags, die, print_version,
|
|
|
|
print_data_base): Moved to new file main.c.
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): Don't collapse backslash-newlines
|
|
|
|
here. When chopping the commands up into lines, don't chop at
|
|
|
|
backslash-newlines.
|
|
|
|
(start_job): Collapse backslash-newlines after printing the line.
|
|
|
|
|
|
|
|
* commands.c (start_job): Don't collapse backslash-newlines here.
|
|
|
|
(execute_file_commands): Collapse backslash-newlines before chopping
|
|
|
|
the commands up into lines.
|
|
|
|
|
|
|
|
* commands.c (set_file_variables): Initialize the length counters for
|
|
|
|
$^ and $? to zero!
|
|
|
|
|
|
|
|
* commands.c (start_job): Use vfork instead of fork. Someone else says
|
|
|
|
the child and parent DO have separate file descriptors.
|
|
|
|
|
|
|
|
* variable.c: Split internals into variable.c, function expansion into
|
|
|
|
function.c, and variable expansion into expand.c.
|
|
|
|
* function.c (handle_function): New function to check for a function
|
|
|
|
invocation and expand it.
|
|
|
|
* expand.c (variable_expand): Use handle_function.
|
|
|
|
* variable.c (push_new_variable_scope): New function to push a new
|
|
|
|
empty variable set onto the current setlist.
|
|
|
|
(pop_variable_scope): New function to pop the topmost set from the
|
|
|
|
current setlist and free its storage.
|
|
|
|
* function.c (expand_function: `foreach'): Push a new variable scope
|
|
|
|
for the iteration variable and pop the scope when finished.
|
|
|
|
* variable.h: Declare new functions.
|
|
|
|
* variable.c (initialize_variable_output): New function to return a
|
|
|
|
pointer to the beginning of the output buffer.
|
|
|
|
(save_variable_output): New function to save the variable output state.
|
|
|
|
(restore_variable_output): New function to restore it.
|
|
|
|
* expand.c (variable_expand): Use initialize_variable_output.
|
|
|
|
(allocated_variable_expand): Use {save,restore}_variable_output.
|
|
|
|
* variable.c (current_setlist): Renamed to current_variable_set_list
|
|
|
|
and made global.
|
|
|
|
|
|
|
|
Sat Jun 10 00:11:25 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* remake.c (library_file_mtime): Check for libNAME.a in the current
|
|
|
|
directory before doing VPATH search.
|
|
|
|
|
|
|
|
* variable.c (print_variable_set): Don't write "# Variables", and write
|
|
|
|
fewer blank lines.
|
|
|
|
(print_variable_data_base): Precede the variables with "# Variables".
|
|
|
|
|
|
|
|
* make.c (main): Print the data base under -p after doing everything
|
|
|
|
else, just before exitting. This way it gets info determined in
|
|
|
|
updating the goal targets.
|
|
|
|
|
|
|
|
* variable.c (print_variable_data_base): Split into print_variable,
|
|
|
|
which prints one variable, and print_variable_set, which prints a set.
|
|
|
|
Replaced with a call to print_variable_set for the global set.
|
|
|
|
(print_file_variables): New function to print a given file's local
|
|
|
|
variables.
|
|
|
|
|
|
|
|
* file.c (print_file_data_base): Call print_file_variables to print
|
|
|
|
each file's local variables.
|
|
|
|
|
|
|
|
* commands.c (set_file_variables): Actually define the values for
|
|
|
|
the $^ and $? variables!!!
|
|
|
|
|
|
|
|
* make.texinfo (Implicit: Pattern Rules: Automatic): Document new D and
|
|
|
|
F versions of $^ and $?.
|
|
|
|
|
|
|
|
* commands.c (start_job): In the child fork, use getdtablesize and a
|
|
|
|
loop to close all file descriptors other than 0, 1, and 2. We need to
|
|
|
|
do this since not only the bad stdin pipe, but also some directories,
|
|
|
|
may be open.
|
|
|
|
|
|
|
|
* commands.c (start_job): Use fork instead of vfork, because a vfork
|
|
|
|
parent and child share file descriptors, and our child needs to diddle
|
|
|
|
with stdin.
|
|
|
|
|
|
|
|
* variable.c (initialize_file_variables): When created a new variable
|
|
|
|
set, zero out the hash table.
|
|
|
|
|
|
|
|
* variable.c (target_environment): Don't use variables whose names are
|
|
|
|
not made up of alphanumerics and underscores.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Set the `parent' member of each dependency
|
|
|
|
to FILE before updating it.
|
|
|
|
|
|
|
|
* file.h (struct file): Add `parent' member.
|
|
|
|
|
|
|
|
* variable.c (initialize_file_variables): Don't take second arg PARENT.
|
|
|
|
Use FILE->parent instead. If FILE->parent->variables is nil, recurse
|
|
|
|
to initialize it.
|
|
|
|
|
|
|
|
* variable.h: Declare {allocated_}variable_expand_for_file.
|
|
|
|
|
|
|
|
* variable.c (allocated_variable_expand): Now
|
|
|
|
allocated_variable_expand_for_file, calling variable_expand_for_file,
|
|
|
|
and taking second arg FILE.
|
|
|
|
(allocated_variable_expand): New function, a wrapper around
|
|
|
|
allocated_variable_expand_for_file, passing a nil second arg.
|
|
|
|
|
|
|
|
Fri Jun 9 12:11:45 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* commands.c (start_job): On the child side of the fork, always close
|
|
|
|
the bad stdin file descriptor.
|
|
|
|
|
|
|
|
* commands.c (struct child): New member `environment', to hold the
|
|
|
|
environment for the child.
|
|
|
|
(execute_file_commands): Set the new childs `environment' member to nil
|
|
|
|
before calling start_job.
|
|
|
|
(start_job): Set up CHILD->environment before running the commands if
|
|
|
|
it is nil.
|
|
|
|
|
|
|
|
* make.c (main): Don't call new_environ. `shell' functions will now be
|
|
|
|
run with the environment make was called with.
|
|
|
|
|
|
|
|
* commands.c (child_handler): Don't check C->command_ptr before calling
|
|
|
|
start_job since we now have to check C->file->cmds->command_lines and
|
|
|
|
it's easier to let start_job handle all that.
|
|
|
|
|
|
|
|
* commands.c (struct child): New member `command_line', to hold an
|
|
|
|
index into file->cmds->command_lines.
|
|
|
|
(execute_file_commands): Set the new child's `command_line' to 0 and
|
|
|
|
its `commands' and `commands_ptr' to nil.
|
|
|
|
(start_job): When CHILD->command_ptr runs out, increment
|
|
|
|
CHILD->command_line and run the corresponding line from
|
|
|
|
CHILD->file->cmds->command_lines. Run it even under -t, -q, or -n if
|
|
|
|
the CHILD->file->cmds->lines_recurse element for that line is set.
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): Chop CMDS up into lines, setting
|
|
|
|
its `command_lines' and `lines_recurse' members, if it wasn't already
|
|
|
|
chopped.
|
|
|
|
|
|
|
|
* commands.h (struct commands): New members `command_lines' and
|
|
|
|
`lines_recurse'. The first is an array of chopped-up lines; the second
|
|
|
|
is an array of flags, each nonzero if the corresponding line is
|
|
|
|
recursive.
|
|
|
|
|
|
|
|
* variable.c (variable_expand_for_file): If FILE is nil, just do a
|
|
|
|
vanilla variable_expand.
|
|
|
|
(expand_function: `shell'): Pass second arg (as nil) to
|
|
|
|
construct_command_argv.
|
|
|
|
|
|
|
|
* commands.c (construct_command_argv): Use variable_expand_for_file on
|
|
|
|
`$(SHELL)' and `$(IFS)' instead of lookup_variable to check those
|
|
|
|
variables. This handles file-local and recursive values correctly.
|
|
|
|
To support this, take an additional argument FILE.
|
|
|
|
|
|
|
|
* variable.c (initialize_file_variables): New function to initialize
|
|
|
|
FILE's variable set list from PARENT's setlist. PARENT is the
|
|
|
|
immediate dependent that caused FILE to be remade, or nil if FILE is a
|
|
|
|
goal. (When user-level per-file variables are implemented, PARENT
|
|
|
|
should be passed as nil when defining per-file variables.)
|
|
|
|
|
|
|
|
* variable.c (variable_expand_for_file): New function to expand a line
|
|
|
|
using the variable set of a given file, and reporting error messages
|
|
|
|
for the file and line number of that file's commands.
|
|
|
|
|
|
|
|
* variable.h: Don't declare lookup_variable_for_file.
|
|
|
|
|
|
|
|
* variable.c (lookup_variable_*): Turned back into lookup_variable. It
|
|
|
|
now uses current_setlist.
|
|
|
|
(global_setlist): New static `struct variable_set_list', a setlist
|
|
|
|
containing global_variable_set.
|
|
|
|
(current_setlist): New static `struct variable_set_list *', a pointer
|
|
|
|
to the current variable set list.
|
|
|
|
(define_variable): Define in the current top-level set, not the global
|
|
|
|
set.
|
|
|
|
|
|
|
|
* commands.c (set_file_variables): New function to set up the automatic
|
|
|
|
variables for a file in its own variable set.
|
|
|
|
(execute_file_commands): Use set_file_variables.
|
|
|
|
|
|
|
|
* variable.c (new_environ): Replaced with target_environment, taking an
|
|
|
|
argument FILE, and returning an environment for FILE's commands.
|
|
|
|
|
|
|
|
* variable.c, variable.h: Remove all global special variable pointers.
|
|
|
|
|
|
|
|
* variable.c (define_variable_for_file): New function like
|
|
|
|
define_variable, but takes additional arg FILE, and defines the
|
|
|
|
variable in the variable set at the top of FILE's chain.
|
|
|
|
(lookup_variable_for_file): New function like lookup_variable, but
|
|
|
|
takes additional arg FILE, and looks the variable up in all of FILE's
|
|
|
|
variable sets.
|
|
|
|
|
|
|
|
* file.h (struct file): New member `variables', a `struct
|
|
|
|
variable_set_list' containing the list of variable sets used in the
|
|
|
|
expansion of the file's commands.
|
|
|
|
|
|
|
|
* variable.c (variables): Replaced with static `struct variable_set'
|
|
|
|
global_variable_set.
|
|
|
|
(define_variable): Now define_variable_in_set, taking additional
|
|
|
|
argument SET, the `struct variable_set' to define it in.
|
|
|
|
(define_variable): Use define_variable_in_set with global_variable_set.
|
|
|
|
(lookup_variable): Now lookup_variable_in_set, taking additional
|
|
|
|
argument SET, the `struct variable_set' to look it up in.
|
|
|
|
(lookup_variable): Use lookup_variable_in_set with global_variable_set.
|
|
|
|
(lookup_variable_in_setlist): New function to look up a variable in a
|
|
|
|
`struct variable_set_list' using lookup_variable_in_set.
|
|
|
|
|
|
|
|
* variable.h (struct variable_set): New structure, containing a hash
|
|
|
|
table and the number of hash buckets.
|
|
|
|
(struct variable_set_list): New structure, containing a link for a
|
|
|
|
linked-list, and a `struct variable_set'.
|
|
|
|
|
|
|
|
* commands.c (start_job): Under -n, return what the recursive start_job
|
|
|
|
call returns, since it might actually start a child.
|
|
|
|
|
|
|
|
* make.texinfo (Rules: Wildcards): Document ~ and ~USER expansion.
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): If start_job returns
|
|
|
|
failure, but -t is set, set FILE->update_status to success.
|
|
|
|
(start_job): If -t is set, and the commands are not recursive, return
|
|
|
|
failure (is is done for -q).
|
|
|
|
|
|
|
|
* remake.c (touch_file): New function to touch FILE.
|
|
|
|
(remake_file): Use touch_file. When touching a file, still do
|
|
|
|
execute_file_commands.
|
|
|
|
|
|
|
|
* remake.c (remake_file): Don't check question_flag (-q), since we
|
|
|
|
can't know here if the commands are recursive.
|
|
|
|
|
|
|
|
* commands.c (start_job): Don't use the `recursive' member of
|
|
|
|
CHILD->file->cmds. Instead, check for leading +s and $(MAKE) or
|
|
|
|
${MAKE} in the command line here.
|
|
|
|
|
|
|
|
* commands.h (struct commands): Remove `recursive' member.
|
|
|
|
|
|
|
|
* rule.c (install_default_pattern_rules): Remove use of `recursive'
|
|
|
|
member.
|
|
|
|
|
|
|
|
* read.c (record_files): Don't check commands from $(MAKE) and set
|
|
|
|
their `recursive' member.
|
|
|
|
|
|
|
|
* commands.c (fatal_error_signal): Treat SIGQUIT like SIGINT, SIGHUP,
|
|
|
|
and SIGTERM, but don't send it to ourselves because it will cause a
|
|
|
|
core dump.
|
|
|
|
|
|
|
|
Thu Jun 8 20:30:04 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.50.
|
|
|
|
|
|
|
|
* variable.c (variable_expand): Use allocated_variable_expand instead
|
|
|
|
of expand_argument in a few places.
|
|
|
|
|
|
|
|
* variable.c (allocated_variable_expand): Do static variable shuffling
|
|
|
|
here instead of using expand_argument.
|
|
|
|
(expand_argument): Use allocated_variable_expand.
|
|
|
|
|
|
|
|
* variable.c (recursively_expand): New function to recursively expand
|
|
|
|
its argument (a `struct variable'), returning the malloc'd value.
|
|
|
|
(variable_expand): Use recursively_expand.
|
|
|
|
|
|
|
|
Sun May 28 12:49:27 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.c (main): Fixed buggy fix in deciding to increase space for
|
|
|
|
command-line variable definitions. (First it never did it, then it
|
|
|
|
always did it; now it does it when necessary.)
|
|
|
|
|
|
|
|
Sat May 27 14:01:54 1989 Roland McGrath (mcgrath at hecuba.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.c (main): Fixed bug in deciding to increase space for
|
|
|
|
command-line variable definitions.
|
|
|
|
|
|
|
|
Fri May 26 15:48:01 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* read.c (multi_glob): Use allocated_expand_variable for checking
|
|
|
|
`HOME' variable for ~ expansion, since this may be called from inside a
|
|
|
|
`wildcard' function expansion.
|
|
|
|
|
|
|
|
* variable.h: Declare allocated_expand_variable.
|
|
|
|
|
|
|
|
* variable.c (allocated_expand_variable): New function to do variable
|
|
|
|
expansion in an allocated buffer, rather than the static one.
|
|
|
|
|
|
|
|
* make.c (main): Don't set glob_tilde (it no longer exists).
|
|
|
|
|
|
|
|
* variable.c (string_glob): Use multi_glob and parse_file_seq.
|
|
|
|
|
|
|
|
* read.c (multi_glob): Do ~ expansion here.
|
|
|
|
|
|
|
|
* glob.c (glob_tilde, glob_filename): Removed ~ expansion.
|
|
|
|
|
|
|
|
* variable.c (define_variable, lookup_variable): Use a smarter hashing
|
|
|
|
algorithm (the same one used for files and directories).
|
|
|
|
(VARIABLE_BUCKETS): Increased to 523.
|
|
|
|
|
|
|
|
* file.c (enter_file, lookup_file, rename_file): Use a smarter hashing
|
|
|
|
algorithm, spreading the bits about somewhat.
|
|
|
|
|
|
|
|
* make.c (log_working_directory): Under `-p', precede the directory
|
|
|
|
message with a `#'.
|
|
|
|
|
|
|
|
* make.c (print_version): Under `-p', precede each line with a `#'.
|
|
|
|
(print_data_base): Precede the header line with a `#' and include the
|
|
|
|
date and time on it.
|
|
|
|
|
|
|
|
* vpath.c (print_vpath_data_base): Precede non-directive
|
|
|
|
lines with `#'s.
|
|
|
|
|
|
|
|
* commands.c (print_commands): Precede the non-command line with a `#'.
|
|
|
|
|
|
|
|
* rule.c (print_rule_data_base), file.c (print_file_data_base): Precede
|
|
|
|
non-rule lines with `#'s.
|
|
|
|
|
|
|
|
* dir.c (print_dir_data_base): Precede all lines with `#'s.
|
|
|
|
|
|
|
|
* variable.c (print_variable_data_base): Changed format so that it can
|
|
|
|
be makefile input. Lines that are not variable definitions are
|
|
|
|
preceded with `#'. Nonrecursive variable definitions are made with all
|
|
|
|
dollar signs doubled to reproduce the initial value. Recursive
|
|
|
|
variable definitions containing newlines are done with `define'
|
|
|
|
directives. Nonrecursive variable definitions containing newlines, and
|
|
|
|
variable names containing :, =, or newlines, will come out garbled.
|
|
|
|
|
|
|
|
Wed May 24 00:20:04 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.49.
|
|
|
|
|
|
|
|
Tue May 23 19:18:00 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* variable.c (expand_function: `filter'/`filter-out'): Use
|
|
|
|
find_percent instead of pattern_p.
|
|
|
|
|
|
|
|
* variable.c (expand_function: `patsubst'): Pass new args (both nil)
|
|
|
|
to patsubst_expand.
|
|
|
|
(variable_expand): For $(var:pat%=rep%) references, pass new args to
|
|
|
|
patsubst_expand so as to avoid find_percent and thus disallow
|
|
|
|
quoting the %s.
|
|
|
|
|
|
|
|
* read.c (record_files): Pass new args to patsubst_expand.
|
|
|
|
|
|
|
|
* variable.c (patsubst_expand): Take two new args: PATTERN_PERCENT
|
|
|
|
and REPLACE_PERCENT. Each of these, if non-nil, means that PATTERN
|
|
|
|
(or REPLACE) has already been run through find_percent, and
|
|
|
|
PATTERN_PERCENT (or REPLACE_PERCENT) is the result.
|
|
|
|
|
|
|
|
* make.h: Declare find_percent instead of pattern_p.
|
|
|
|
|
|
|
|
* read.c (pattern_p): Changed to find_percent, returning a pointer
|
|
|
|
to the %, or nil if there is none.
|
|
|
|
(record_files): Take another arg, PATTERN_PERCENT, a pointer to the
|
|
|
|
% in PATTERN.
|
|
|
|
(read_makefile): Pass PATTERN_PERCENT to record_files.
|
|
|
|
|
|
|
|
* make.texinfo (Rules: Static Pattern: Static Usage,
|
|
|
|
Rules: Directory Search: Selective Search,
|
|
|
|
Functions: Text Functions): Documented that `%' can be quoted.
|
|
|
|
|
|
|
|
* variable.c (expand_function: `filter'/`filter-out'): Use pattern_p
|
|
|
|
to allow quoted %s in patterns.
|
|
|
|
|
|
|
|
* variable.c (patsubst_expand): Use pattern_p on PATTERN and REPLACE
|
|
|
|
to allow quoted %s. Quoting backslashes are removed from REPLACE
|
|
|
|
even if PATTERN contains no unquoted %.
|
|
|
|
|
|
|
|
* read.c (pattern_p): Made global.
|
|
|
|
* make.h: Declare pattern_p.
|
|
|
|
|
|
|
|
* read.c (pattern_p): New function to search for an unquoted % in a
|
|
|
|
string. Backslashes quote %s and backslashes. Quoting backslashes
|
|
|
|
are removed from the string by compacting it into itself. Returns
|
|
|
|
nonzero if an unquoted % was found, zero if not.
|
|
|
|
(record_files): Use pattern_p to check for implicit rules.
|
|
|
|
(read_makefile): Use pattern_p to check for static pattern rules.
|
|
|
|
Also use it to allow quoted %s in `vpath' patterns; warn about
|
|
|
|
`vpath' patterns with no %s.
|
|
|
|
|
|
|
|
Mon May 22 16:31:52 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* glob.c (glob_filename): Replace a `1' with the `l' that should
|
|
|
|
have been there. This incidentally stops it from dumping core.
|
|
|
|
|
|
|
|
* glob.c (glob_filename): If the path is just a directory, with no
|
|
|
|
file name pattern, return the directory alone.
|
|
|
|
|
|
|
|
* glob.c (glob_tilde): New global variable (int), defaults to zero.
|
|
|
|
(glob_filename): If glob_tilde is nonzero, expand ~ or ~USER.
|
|
|
|
|
|
|
|
* variable.c (string_glob): Keep a static allocated buffer for file
|
|
|
|
names taken from the list, instead of allocating and freeing one
|
|
|
|
every time.
|
|
|
|
|
|
|
|
Fri May 19 18:06:26 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.c (decode_switches): Get floating numbers from the right string.
|
|
|
|
|
|
|
|
Sun May 14 13:48:04 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* commands.c (delete_child_targets): When deleting `also_make'
|
|
|
|
files, include the target's name in the message:
|
|
|
|
make: *** [foo] Deleting file `bar'
|
|
|
|
|
|
|
|
Sat May 13 17:34:26 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.c (max_load_average, default_load_average): Default to -1.
|
|
|
|
|
|
|
|
* load.c (wait_to_start_job): Return if max_load_average is < 0.0,
|
|
|
|
not equal.
|
|
|
|
|
|
|
|
Fri May 12 16:08:05 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* variable.c (variable_buffer_output): Don't try to do pointer
|
|
|
|
arithmetic between objects not in the same array.
|
|
|
|
|
|
|
|
Wed May 10 15:55:29 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* rule.c [M_XENIX] (default_suffix_rules, default_variables): Minor
|
|
|
|
changes to allow for strange compiler syntax.
|
|
|
|
|
|
|
|
* rule.c (default_variables): Don't include "> $@" in
|
|
|
|
$(PREPROCESS.S), since it's already in the .S.s rule.
|
|
|
|
|
|
|
|
* file.c (enter_file): Make a new double-colon file the `prev'
|
|
|
|
member of the bottom `prev' file (the one whose `prev' is nil).
|
|
|
|
|
|
|
|
* read.c (do_define): Append newlines after copying the lines into
|
|
|
|
the value buffer, so we end up with a trailing newline.
|
|
|
|
|
|
|
|
* make.c (print_version): If the global variable
|
|
|
|
`remote_description' is not nil or "", append "-%s" (its value) to
|
|
|
|
the version number.
|
|
|
|
* remote-*.c: Define remote_description appropriately.
|
|
|
|
|
|
|
|
Sun May 7 15:15:53 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* commands.c (error_status): Converted to new function child_error,
|
|
|
|
taking new arguments TARGET_NAME and IGNORED, and writing an error
|
|
|
|
message: "*** [target] Error 1" (or signal #, etc.), appending
|
|
|
|
" (ignored)" if IGNORED is nonzero.
|
|
|
|
(child_handler): Use child_error instead of error_status.
|
|
|
|
|
|
|
|
* compatMakefile (all): Don't depend on `doc'.
|
|
|
|
|
|
|
|
* compatMakefile (clean): Don't remove make-info*.
|
|
|
|
(realclean): New rule, depends on `clean', removes tags, TAGS,
|
|
|
|
and all Info and TeX files.
|
|
|
|
|
|
|
|
Thu May 4 17:00:46 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* variable.c (print_variable_data_base), file.c
|
|
|
|
(print_file_data_base), rule.c (print_rule_data_base),
|
|
|
|
Use floating-point for averages and percentages.
|
|
|
|
|
|
|
|
* make.c (print_data_base): Print messages before and after the data
|
|
|
|
base information.
|
|
|
|
|
|
|
|
* commands.c (print_commands): Changed output format to separate
|
|
|
|
lines in commands and prefix them with tabs.
|
|
|
|
|
|
|
|
* dir.c (print_dir_data_base): Changed output format slightly.
|
|
|
|
|
|
|
|
* vpath.c (struct vpath, construct_vpath_list,
|
|
|
|
selective_vpath_search): Remove the `exists' member and its uses.
|
|
|
|
|
|
|
|
* vpath.c (print_vpath_data_base): New function to print all
|
|
|
|
selective and general VPATH search paths (for -p).
|
|
|
|
|
|
|
|
* make.c (print_data_base): Call print_vpath_data_base.
|
|
|
|
|
|
|
|
* file.c (print_file_data_base): Changed format to look more like a
|
|
|
|
makefile rule. Now reports all information in the `struct file'.
|
|
|
|
|
|
|
|
* rule.c (print_rule_data_base): Changed format of display from:
|
|
|
|
%: (terminal)
|
|
|
|
depends on: RCS/%,v
|
|
|
|
to:
|
|
|
|
%: RCS/%,v
|
|
|
|
is terminal.
|
|
|
|
references nonexistent subdirectory.
|
|
|
|
Also include number and percent that refer to nonexistent
|
|
|
|
subdirectories.
|
|
|
|
|
|
|
|
Thu Apr 27 15:45:40 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.c (main): Figure out the level of recursion before writing
|
|
|
|
the `Entering directory' message.
|
|
|
|
* variable.c (define_automatic_variables): Don't figure out the
|
|
|
|
level of recursion from `MAKELEVEL'. It's now done in main.
|
|
|
|
|
|
|
|
* Version 3.48.
|
|
|
|
|
|
|
|
Wed Apr 26 16:39:17 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* commands.c (child_handler): Set `update_status' to zero when there
|
|
|
|
are no more commands.
|
|
|
|
|
|
|
|
* make.c (log_working_directory): If MAKELEVEL > 0, indicate the
|
|
|
|
recurson in the message (make[1]: ...).
|
|
|
|
|
|
|
|
* commands.c (child_handler): Change status to `cs_finished' when
|
|
|
|
commands fail.
|
|
|
|
|
|
|
|
* commands.c (start_job): Return 0 (success) if there were no more
|
|
|
|
commands for the child.
|
|
|
|
(child_handler): Change the status to `cs_finished' when start_job
|
|
|
|
fails to start the commands.
|
|
|
|
|
|
|
|
* make.c (main): Don't handle SIGEMT if it's not defined.
|
|
|
|
Do handle SIGDANGER if it is defined.
|
|
|
|
|
|
|
|
* commands.c (child_handler): Reorganized inner loop so that it
|
|
|
|
doesn't try to inspect the child before finding it.
|
|
|
|
|
|
|
|
Tue Apr 25 16:28:24 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.c (end_of_token): Fixed bug wherein backslashes caused
|
|
|
|
immediate return.
|
|
|
|
|
|
|
|
* Version 3.47.
|
|
|
|
|
|
|
|
* make.texinfo (Implicit: Pattern Rules: Automatic): Document
|
|
|
|
setting of `$*' for explicit rules. Add note clarifying that
|
|
|
|
automatic variables, though referred to in the documentation as
|
|
|
|
`$<', etc. are no different than `$(<)', etc.
|
|
|
|
|
|
|
|
Fri Apr 21 18:00:12 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* file.c (enter_file): Don't strip leading `./'s.
|
|
|
|
|
|
|
|
* read.c (parse_file_seq): Strip leading `./'s.
|
|
|
|
|
|
|
|
Thu Apr 13 17:26:41 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.texinfo (Commands: Parallel, Running: Options): Document that
|
|
|
|
-l with no argument removes a previous load limit.
|
|
|
|
|
|
|
|
* make.c (struct command_switch): New member `default_value'.
|
|
|
|
(default_job_slots): Default value (of 1) for -j.
|
|
|
|
(default_load_average): Default value (of 0, unlimited) for -l.
|
|
|
|
(command_switches): Use default values for -j and -l.
|
|
|
|
Also, -l without an arg now means no load limit.
|
|
|
|
(define_makeflags): Don't write positive_int or floating options
|
|
|
|
whose values are their defaults.
|
|
|
|
|
|
|
|
* make.c (main): Under -w, write a `Leaving directory' message
|
|
|
|
before re-execing.
|
|
|
|
|
|
|
|
Tue Apr 11 16:46:29 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.46.
|
|
|
|
|
|
|
|
* Makefile: Provide an easy place for system-specific definitions
|
|
|
|
(-DUSG, etc.) and extra object files (for whatever).
|
|
|
|
|
|
|
|
* make.texinfo: Miscellaneous fixes from RMS.
|
|
|
|
|
|
|
|
Mon Apr 10 19:31:34 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* rule.c (pattern_search): Put rules with `subdir' flags set in
|
|
|
|
TRYRULES, since these might be valid with VPATHs. In the TRYRULES
|
|
|
|
loop, don't do lookup_file or file_exists_p calls for dependencies
|
|
|
|
of rules with `subdir' flags set, but still do vpath_search calls
|
|
|
|
and intermediate-file searches.
|
|
|
|
|
|
|
|
Thu Apr 6 16:33:00 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.texinfo (Implicit: Pattern Rules: Automatic): Document the
|
|
|
|
new definition of $* for explicit rules.
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): If FILE->stem is nil, figure
|
|
|
|
out if FILE->name ends in a suffix in the .SUFFIXES list; if so,
|
|
|
|
store the name sans suffix in FILE->stem (and $*).
|
|
|
|
|
|
|
|
Wed Apr 5 15:24:48 1989 Roland McGrath (mcgrath at helen.Berkeley.EDU)
|
|
|
|
|
|
|
|
* file.c (remove_intermediates): Don't use `file_exists_p' to check
|
|
|
|
for the existence of intermediate files, because the hashed
|
|
|
|
directories will probably be out of date.
|
|
|
|
|
|
|
|
* commands.c (child_handler): Free the good stdin before running the
|
|
|
|
next command line.
|
|
|
|
|
|
|
|
* commands.c [USG] (init_siglist): Don't case SIGEMT if it's not
|
|
|
|
defined. Do case SIGDANGER (for IBM RT) if it is defined.
|
|
|
|
|
|
|
|
* commands.c: Changed `SYS_WAIT' to `HAVE_SYS_WAIT'.
|
|
|
|
(child_handler): Use `wait3' if HAVE_SYS_WAIT is #defined.
|
|
|
|
|
|
|
|
* file.c (enter_file): If any `./'s are stripped off, allocate a new
|
|
|
|
copy of the shortened name.
|
|
|
|
|
|
|
|
* rule.c (pattern_search): Allocate the right length strings for
|
|
|
|
`also_make' members.
|
|
|
|
|
|
|
|
Sat Apr 1 13:28:38 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.45.
|
|
|
|
|
|
|
|
* GNUmakefile: Make a separate tarfile of the DVI and info files.
|
|
|
|
|
|
|
|
* make.c (define_makeflags): If a switch that takes an argument has
|
|
|
|
its default value, put the switch in MAKEFLAGS with no arguments.
|
|
|
|
|
|
|
|
* make.c (command_switches): Pass `-l' in MAKEFLAGS.
|
|
|
|
|
|
|
|
Wed Mar 29 17:50:05 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* GNUmakefile: Don't include the DVI and info files in the dist.
|
|
|
|
|
|
|
|
* commands.c (child_handler): Don't call
|
|
|
|
check_changed_{directories,vpaths}.
|
|
|
|
|
|
|
|
* make.h: Don't declare check_changed_{directories,vpaths}.
|
|
|
|
|
|
|
|
* vpath.c (check_changed_vpaths): Removed this function.
|
|
|
|
|
|
|
|
* dir.c (struct directory): Remove `modtime' member.
|
|
|
|
(find_directory): Don't set `modtime' member.
|
|
|
|
(check_changed_directories): Removed this function.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Set FILE->command_state to cs_finished
|
|
|
|
if it didn't need to be remade.
|
|
|
|
|
|
|
|
* remake.c (update_file): Only write the "up to date" message if the
|
|
|
|
target went from `not_started' state to `finished' state without
|
|
|
|
incrementing the count of files remade.
|
|
|
|
|
|
|
|
* commands.c [USG] (init_siglist): If both SIGCHLD and SIGCLD are
|
|
|
|
defined, don't put them both in the `switch'.
|
|
|
|
|
|
|
|
Tue Mar 28 15:37:02 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* file.c (rename_file): Change FILE's name!!!
|
|
|
|
|
|
|
|
* rule.c (create_pattern_rule): Set the `terminal' member of the new
|
|
|
|
rule after calling new_pattern_rule, which zeros it.
|
|
|
|
|
|
|
|
* rule.c (default_variables): Use $(C++) in $(COMPILE.cc)!
|
|
|
|
|
|
|
|
Sun Mar 26 15:52:30 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Makefile: Added a `clean' target.
|
|
|
|
|
|
|
|
Fri Mar 24 15:08:46 1989 Roland McGrath (mcgrath at helen.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.44.
|
|
|
|
|
|
|
|
* file.c (rename_file): If a `struct file' for the renamed-to name
|
|
|
|
exists, and it is a target or has deps or commands, barf.
|
|
|
|
If not just remove the old one for put in the new one.
|
|
|
|
|
|
|
|
* remake.c (update_file_1, check_dep): Changed it back so that equal
|
|
|
|
modtimes to NOT make dependencies be considered newer. RCS checks
|
|
|
|
out files with equal modtimes as the RCS files, so this screws it.
|
|
|
|
|
|
|
|
* make.h, glob.c: If __GNUC__ is defined, use __builtin_alloca.
|
|
|
|
|
|
|
|
* Makefile: Use variables `ALLOCA' and `ALLOCASRC' so systems
|
|
|
|
without a good standard alloca can get it from the Emacs
|
|
|
|
distribution (or somewhere).
|
|
|
|
|
|
|
|
* dir.c: Don't include <sys/stat.h>, since make.h does.
|
|
|
|
|
|
|
|
* make.c: Removed debugging version of getwd.
|
|
|
|
|
|
|
|
Thu Mar 23 16:16:27 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.43.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): If a dependency loop is found, don't
|
|
|
|
fatal. Emit an error message and remove the dependency.
|
|
|
|
|
|
|
|
* remake.c (library_file_mtime): Fixed to use the right names.
|
|
|
|
(update_file_1, check_dep): Consider a dependency "newer" than its
|
|
|
|
dependent if they have the same modification time.
|
|
|
|
|
|
|
|
Wed Mar 22 19:31:35 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* file.c (remove_intermediates): Don't try to remove nonexistent files.
|
|
|
|
|
|
|
|
Mon Mar 20 10:21:22 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.42.
|
|
|
|
|
|
|
|
* rule.c (default_variables): Set F77 to $(FC) and F77FLAGS to
|
|
|
|
$(FFLAGS) so explicit rules expecting these (which are in System V)
|
|
|
|
will work. However, there is no way to make setting these affect
|
|
|
|
the implicit rules, unless we trash FC and FFLAGS (which BSD uses).
|
|
|
|
[USG]: Set GET to `get' rather than `/usr/sccs/get'.
|
|
|
|
|
|
|
|
Sun Mar 19 20:00:27 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* vpath.c (construct_vpath_list): Don't replace VPATH[ELEM] with
|
|
|
|
dir_name (V), because the latter may get freed.
|
|
|
|
|
|
|
|
Sat Mar 18 15:01:39 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.41.
|
|
|
|
|
|
|
|
* make.texinfo: Cleaned-up edition 0.1 Beta from RMS and Bob Chassell.
|
|
|
|
|
|
|
|
* file.c (rename_file): If a file with the new name already existed,
|
|
|
|
use the same storage space, after freeing the old file's name, deps,
|
|
|
|
and `also_make' member, preserving the link in the chain.
|
|
|
|
Also write an error message telling the user to report the incident;
|
|
|
|
I don't think this should be able to happen, but I'm not sure.
|
|
|
|
|
|
|
|
* file.c (rename_file): Don't add the hash values of the old and new
|
|
|
|
names together! Reset HASHVAL before computing the second value.
|
|
|
|
|
|
|
|
* dir.c (check_changed_directories): Zero the new file hash table
|
|
|
|
after allocating it.
|
|
|
|
|
|
|
|
* dir.c (dir_file_exists_p): If FILENAME is "", return 1 if the
|
|
|
|
directory exists.
|
|
|
|
|
|
|
|
* vpath.c (check_changed_vpaths): New function to run through the
|
|
|
|
search paths of all VPATHs, making the `exists' members correspond
|
|
|
|
to reality.
|
|
|
|
|
|
|
|
* commands.c (child_handler): Call check_changed_vpaths.
|
|
|
|
|
|
|
|
* make.h: Declare check_changed_vpaths.
|
|
|
|
|
|
|
|
* vpath.c (struct vpath): New element `exists', an array of char
|
|
|
|
flags; exists[N] is nonzero if searchpath[N] exists.
|
|
|
|
(construct_vpath_list): Set the `exists' member.
|
|
|
|
(selective_vpath_search): Don't search directories whose `exists'
|
|
|
|
elements are zero.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Set the `dontcare' flag of makefiles
|
|
|
|
from the MAKEFILES variable if they were not mentioned anywhere but
|
|
|
|
in the MAKEFILES variable.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Don't write an error message if fopen
|
|
|
|
fails for a makefile from the MAKEFILES variable.
|
|
|
|
|
|
|
|
* dir.c (struct directory): Add `modtime' member to record the
|
|
|
|
modification time of the directory when it was opened.
|
|
|
|
(check_changed_directories): New function to check all known
|
|
|
|
directories; if their modtimes have changed since they were opened,
|
|
|
|
their file tables are cleared and they are reset to be read in.
|
|
|
|
|
|
|
|
* commands.c (child_handler): Call check_changed_directories before
|
|
|
|
returning.
|
|
|
|
make.h: Declare check_changed_directories.
|
|
|
|
|
|
|
|
Tue Mar 14 20:07:13 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.40.
|
|
|
|
|
|
|
|
* make.c (print_version): Made the copyright say 1988, 1989.
|
|
|
|
|
|
|
|
* read.c (read_all_makefiles): Don't set *MAKEFILES to the name of
|
|
|
|
the end of the read_makefiles chain, since the latter may be from an
|
|
|
|
included makefile. (Why did I do this before?)
|
|
|
|
|
|
|
|
* make.c (main): Set argv[0] to "" if it was nil. Don't put the
|
|
|
|
command-line variable definitions into argv[0], only into the MAKE
|
|
|
|
variable!
|
|
|
|
|
|
|
|
Sun Mar 5 20:44:08 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* ar.c (ar_member_date, ar_touch): Remove the trailing ) from the
|
|
|
|
member name.
|
|
|
|
|
|
|
|
Fri Mar 3 18:15:15 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* commands.c (construct_command_argv): Initialize NEW_ARGV to 0. At
|
|
|
|
`slow' label, if NEW_ARGV is not 0, free it; then allocate 4 strings.
|
|
|
|
|
|
|
|
Tue Feb 28 14:29:39 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.39.
|
|
|
|
|
|
|
|
* COPYING, make.texinfo: New GNU General Public License, version 1.
|
|
|
|
|
|
|
|
* *.c, *.h, Makefile: New copyright notices for the new GNU General
|
|
|
|
Public License, version 1.
|
|
|
|
|
|
|
|
* commands.c [USG]: Define WRETCODE correctly (again).
|
|
|
|
|
|
|
|
* variable.c (expand_function: `shell'): Don't capture the standard
|
|
|
|
error output of the shell command.
|
|
|
|
|
|
|
|
* ar.c (ar_touch, ar_member_date): Allocate MEMNAME with the right
|
|
|
|
length.
|
|
|
|
|
|
|
|
* load.c [not UMAX] (load_average): Don't clobber the first nlist
|
|
|
|
member when trying to set the second!
|
|
|
|
|
|
|
|
Thu Feb 23 13:13:53 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* commands.c (child_handler): Really ignore errors under -i and for
|
|
|
|
- lines, don't just print a different message.
|
|
|
|
|
|
|
|
* make.c (decode_switches): Fixed handling of arguments (or lack
|
|
|
|
thereof) to switches.
|
|
|
|
|
|
|
|
Wed Feb 22 16:25:39 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* commands.c (construct_command_argv): Don't clobber LINE when
|
|
|
|
checking the IFS variable.
|
|
|
|
|
|
|
|
Sun Feb 19 11:17:07 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* load.c [UMAX, not NO_LDAV] (load_average): Return 0.0 rather than
|
|
|
|
randomness when calls fail.
|
|
|
|
|
|
|
|
* Version 3.38.
|
|
|
|
|
|
|
|
* commands.c (fatal_error_signal): If handling a user kill signal
|
|
|
|
(TERM, INT, HUP), wait for the children without printing the
|
|
|
|
"Waiting for children" message, since they will die quickly.
|
|
|
|
|
|
|
|
* Version 3.37.
|
|
|
|
|
|
|
|
* remote-stub.c (remote_status): Take another arg, BLOCK. If this
|
|
|
|
is nonzero block waiting for remote children. If not, return 0 if
|
|
|
|
we would have to block.
|
|
|
|
|
|
|
|
* commands.c (child_handler) [not USG]: If called as a signal
|
|
|
|
handler, use wait3 and don't block.
|
|
|
|
[USG]: If called as a signal handler, return after handling one child.
|
|
|
|
|
|
|
|
Sat Feb 18 13:37:04 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* file.c (snap_deps): Process all double-colon entries of each file,
|
|
|
|
not just the first one.
|
|
|
|
|
|
|
|
* Version 3.36.
|
|
|
|
|
|
|
|
* remote-stub.c: remote.c renamed.
|
|
|
|
remote.c: Just include remote-stub.c
|
|
|
|
|
|
|
|
* commands.c (child_handler): If we were called as a signal handler,
|
|
|
|
return after handling one child.
|
|
|
|
|
|
|
|
* commands.c [not USG]: Include <signal.h> and define `sigmask' if
|
|
|
|
<signal.h> doesn't.
|
|
|
|
(block_children, unblock_children): Use sigmask rather than
|
|
|
|
bitshifting explicitly (and incorrectly).
|
|
|
|
|
|
|
|
* remote.c (remote_kill): New function to send a signal to a
|
|
|
|
remote child.
|
|
|
|
|
|
|
|
* commands.c (fatal_error_signal): If we get a SIGTERM, send one to
|
|
|
|
each living child. If we get a SIGTERM, SIGINT, or SIGHUP, delete
|
|
|
|
all pending targets before waiting for children.
|
|
|
|
(struct child): Add new member `deleted'.
|
|
|
|
(start_job): Initialize `deleted' member to 0.
|
|
|
|
(delete_child_targets): New function to delete a given child's
|
|
|
|
targets, unless the `deleted' flag in the `struct child' says they
|
|
|
|
have already been deleted. Sets this flag before returning.
|
|
|
|
|
|
|
|
Thu Feb 16 18:32:07 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* commands.c [USG]: Define `WRETCODE' correctly (X & 0xff00).
|
|
|
|
|
|
|
|
Tue Feb 14 16:05:00 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* commands.c (construct_command_argv): Don't make the 0th element of
|
|
|
|
the argument list be "sh" when executing /bin/sh, because start_job
|
|
|
|
uses the 0th element as the program name.
|
|
|
|
|
|
|
|
Sun Feb 12 17:42:05 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.35.
|
|
|
|
|
|
|
|
* read.c (readline): Put a null in the beginning of the buffer
|
|
|
|
before starting the reading loop.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Made main reading loop while
|
|
|
|
!feof (infile), and removed EOF check after calling readline.
|
|
|
|
|
|
|
|
Sun Feb 5 19:52:38 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* remote.c (block_remote_children, unblock_remote_children): New
|
|
|
|
(stub) functions to block and restore asynchronous notification of
|
|
|
|
remote child death.
|
|
|
|
|
|
|
|
* commands.c (block_children): Call block_remote_children.
|
|
|
|
(unblock_children): Call unblock_remote_children.
|
|
|
|
(child_handler): If called as a signal handler, block remote
|
|
|
|
children on entry and unblock them before returning.
|
|
|
|
|
|
|
|
* commands.c (child_handler): For unknown children, if they are
|
|
|
|
remote, give their remote ID; if local, give their PID and make's.
|
|
|
|
|
|
|
|
* commands.c (execute_file_command): Don't put a new child in the
|
|
|
|
chain unless start_job succeeds. Block children before calling
|
|
|
|
start_job, and unblock them after putting the child in the chain and
|
|
|
|
incrementing `job_slots_used' (if start_job succeeded).
|
|
|
|
|
|
|
|
* commands.c (block_children, unblock_children): Make these globally
|
|
|
|
visible (not `static').
|
|
|
|
commands.h: Declare block_children and unblock_children.
|
|
|
|
|
|
|
|
* variable.c (expand_function: `shell'): Use
|
|
|
|
`shell_function_completed'. Block children before forking and
|
|
|
|
unblock after `shell_function_pid' is set properly and
|
|
|
|
`shell_functon_completed' is reset to 0.
|
|
|
|
|
|
|
|
* commands.c (child_handler): When the child of the `shell' function
|
|
|
|
completes, set `shell_function_completed' to 1 if it actually ran,
|
|
|
|
or -1 if it didn't (due to fork or exec failure).
|
|
|
|
|
|
|
|
* commands.c (block_children, unblock_children): New functions to
|
|
|
|
block and unblock the child termination signal.
|
|
|
|
(wait_for_children): Use block_children and unblock_children.
|
|
|
|
(execute_file_commands): Block children around the critical section
|
|
|
|
wherein a new child is put on the chain.
|
|
|
|
|
|
|
|
* make.c (main): Change the environment to contain the correct
|
|
|
|
MAKELEVEL before re-execing.
|
|
|
|
|
|
|
|
Sat Feb 4 18:28:48 1989 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.34.
|
|
|
|
|
|
|
|
Fri Feb 3 16:36:49 1989 Roland McGrath (mcgrath at helen.Berkeley.EDU)
|
|
|
|
|
|
|
|
* rule.c (default_variables): Fixed $(LINK.c).
|
|
|
|
|
|
|
|
Wed Feb 1 18:05:07 1989 Roland McGrath (mcgrath at pepper.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.33.
|
|
|
|
|
|
|
|
* version.c: Removed copyright notice, since this is a one-line file.
|
|
|
|
|
|
|
|
* commands.c (error_status): Made it return BUF, rather than running
|
|
|
|
off the end (this apparently worked on Sun 3s for some reason).
|
|
|
|
|
|
|
|
* ar.c, commands.c, dep.h, load.c, make.c, make.h, read.c, remake.c,
|
|
|
|
rule.c, variable.c, Makefile: Changed copyrght notices to cover 1989.
|
|
|
|
|
|
|
|
Mon Jan 30 15:51:28 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.32.
|
|
|
|
|
|
|
|
Fri Jan 27 20:09:24 1989 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* remake.c (remake_file): Don't touch phony targets.
|
|
|
|
|
|
|
|
* rule.c (convert_to_pattern): Fixed an incorrect length passed to
|
|
|
|
savestring.
|
|
|
|
|
|
|
|
* variable.c (expand_function: `shell'): Close the read side of the
|
|
|
|
pipe on the parent side of the fork.
|
|
|
|
|
|
|
|
* commands.c (start_job): On the child of the fork, close the
|
|
|
|
BAD_STDIN fd if we're not using it.
|
|
|
|
|
|
|
|
* read.c (record_files): A file beginning with a dot can be a
|
|
|
|
default target if it also contains a slash (as in `../foo').
|
|
|
|
|
|
|
|
* commands.c (wait_for_children): For BSD, block SIGCHLD rather than
|
|
|
|
ignoring it to avoid a race condition when child_handler is returning.
|
|
|
|
|
|
|
|
* commands.c (child_handler): Do blocking waits.
|
|
|
|
(error_status): Return a string describing exit status. (Split out
|
|
|
|
of child_handler).
|
|
|
|
|
|
|
|
* read.c (multi_glob): Change VECTOR to VEC for Alliant.
|
|
|
|
|
|
|
|
Thu Jan 5 00:06:51 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.31.
|
|
|
|
|
|
|
|
* make.texinfo (Features): Noted $(foo:PAT=SUB) from SunOS 4.0.
|
|
|
|
|
|
|
|
* make.texinfo (Options/Recursion): -d and -p go in the environment.
|
|
|
|
|
|
|
|
* load.c: Include "commands.h".
|
|
|
|
|
|
|
|
Wed Jan 4 17:49:25 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.c (switches): -d and -p can come from the environment and are
|
|
|
|
put into it.
|
|
|
|
|
|
|
|
* read.c (record_files): Fixed the checking for duplicate deps so it
|
|
|
|
doesn't clobber the first one.
|
|
|
|
|
|
|
|
* make.texinfo: Documented default implicit rule changes.
|
|
|
|
|
|
|
|
* rule.c: Revamped default suffix rules. They now use Sun's style
|
|
|
|
of using variables `COMPILE.c', `LINK.c', etc. for each suffix, and
|
|
|
|
use `TARGET_ARCH' and `TARGET_MACH' variable where appropriate.
|
|
|
|
Also support Modula-2 compilation (suffixes .sym, .def, and .mod).
|
|
|
|
Ratfor Yacc support is gone, since nobody has yacc -r.
|
|
|
|
All EFL support is gone, since nobody uses EFL.
|
|
|
|
|
|
|
|
* ar.c, arscan.c: Don't assume `long int' and `int' are the same.
|
|
|
|
|
|
|
|
* commands.c [USG]: Fixed wait status bit encoding.
|
|
|
|
[USG and not USGr3] (dup2): Define this for SysVr2.
|
|
|
|
|
|
|
|
* make.h, dep.h, make.c [iAPX286]: Make allowances for this
|
|
|
|
brain-damaged compiler.
|
|
|
|
|
|
|
|
* make.texinfo (Variables: Flavors): Fixed a typo.
|
|
|
|
|
|
|
|
Tue Jan 3 18:09:31 1989 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* ar.c (ar_member_date, ar_touch): Truncate member names to 15 chars.
|
|
|
|
|
|
|
|
* Version 3.30.
|
|
|
|
|
|
|
|
* commands.c [SYS_WAIT]: If this is defined, use BSD <sys/wait.h>
|
|
|
|
and wait3 even if USG.
|
|
|
|
|
|
|
|
* read.c (record_files): Defining .DEFAULT with no deps or commands
|
|
|
|
clears its commands.
|
|
|
|
|
|
|
|
* rule.c (default_suffixes): Added `.sh'.
|
|
|
|
(default_suffix_rules): Added single-suffix .sh rule, copies source
|
|
|
|
to target and makes target executable.
|
|
|
|
make.texinfo (Catalogue of Rules): Documented .sh rule and its use
|
|
|
|
in conjunction with SCCS.
|
|
|
|
|
|
|
|
* rule.c (set_default_suffixes): Define variable `SUFFIXES' to the
|
|
|
|
default list ("" under -r).
|
|
|
|
make.texinfo (Suffix Rules): Document `SUFFIXES' variable.
|
|
|
|
|
|
|
|
* rule.c (default_variables), make.texinfo (Implicit Variables):
|
|
|
|
Variable AR defaults to `ar', ARFLAGS to `rv', and RM to `rm -f'.
|
|
|
|
|
|
|
|
* rule.c (install_default_pattern_rules): Default variables are made
|
|
|
|
recursive.
|
|
|
|
(default_variables): Added "CPP", defined to "$(CC) -E".
|
|
|
|
(default_suffixes): Added `.S', before `.s'.
|
|
|
|
(default_suffix_rules): New rule for .S to .s, runs CPP.
|
|
|
|
All rules that use CPP now include "$(CPPFLAGS)".
|
|
|
|
make.texinfo (Catalogue of Implicit Rules, Implicit Variables):
|
|
|
|
Documented above changes.
|
|
|
|
|
|
|
|
* commands.c [USG] (sys_siglist): Don't define.
|
|
|
|
[USG] (init_siglist): New function to initialize sys_siglist.
|
|
|
|
|
|
|
|
* make.texinfo (Variables: Reference): Documented `$(foo:PAT=SUB)'
|
|
|
|
references.
|
|
|
|
|
|
|
|
* variable.c (variable_expand): A reference `$(foo:PAT=SUB)' is
|
|
|
|
equivalent to `$(patsubst PAT,SUB,$(foo))'.
|
|
|
|
|
|
|
|
* variable.c (variable_expand): Free the storage for the expansion
|
|
|
|
of a recursive variable when it is nod longer needed.
|
|
|
|
|
|
|
|
* variable.c (variable_expand): When checking for `$($(foo))', use
|
|
|
|
lindex so as not to search for the second `$' outside the parens.
|
|
|
|
|
|
|
|
* make.c (struct stringlist, main, decode_switches): Changed `index'
|
|
|
|
member to `idx'.
|
|
|
|
|
|
|
|
Sat Dec 24 16:02:32 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* commands.c (wait_for_children [USG]): Handle SIGCLD with SIG_DFL,
|
|
|
|
rather than SIG_IGN. Ignoring SIGCLD reportedly makes wait return -1.
|
|
|
|
|
|
|
|
* arscan.c [USGr3]: Define PORTAR to 1 (as with sun386).
|
|
|
|
(ar_scan [USGr3]): Remove trailing slashes from member names.
|
|
|
|
|
|
|
|
Thu Dec 22 17:54:05 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.texinfo (Makefiles: Overriding Makefiles): New node
|
|
|
|
documenting use of .DEFAULT to have one makefile defer unmakeable
|
|
|
|
targets to another.
|
|
|
|
|
|
|
|
* make.texinfo (Implicit: Using Implicit, Implicit: Last Resort):
|
|
|
|
Mention empty commands and xref node `Empty Commands'.
|
|
|
|
|
|
|
|
Wed Dec 21 20:12:40 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.29.
|
|
|
|
|
|
|
|
* make.c (struct command_switch, command_switches, et al): New
|
|
|
|
member `noarg_value', if not nil, ptr to value to use if no arg is
|
|
|
|
given to a switch that would otherwise require one. The -j option
|
|
|
|
can now be given w/o an arg, to mean infinite jobs.
|
|
|
|
* commands.c: If job_slots is zero, infinite jobs.
|
|
|
|
|
|
|
|
* read.c (read_all_makefiles, read_makefile): Make makefiles precious.
|
|
|
|
|
|
|
|
* make.c (decode_switches): For a positive_int or floating option,
|
|
|
|
if we moved to the next argument word, but found no argument for the
|
|
|
|
option, move back to the correct word.
|
|
|
|
|
|
|
|
* make.c (decode_switches): If we got any unknown options, die after
|
|
|
|
processing all arguments.
|
|
|
|
|
|
|
|
* GNUmakefile: Moved `include depend' to the end, so the default
|
|
|
|
goal will be set before then.
|
|
|
|
|
|
|
|
* load.c (wait_to_start_job [Unix, UMAX]): Merged into one version
|
|
|
|
under #ifdef LDAV_BASED. Only loop while we have jobs running.
|
|
|
|
Sleep for increasing amounts (increase one second per iteration)
|
|
|
|
before checking the load average (after the first check).
|
|
|
|
Get the load average from function load_average.
|
|
|
|
(wait_to_start_job [not LDAV_BASED]): Always return.
|
|
|
|
(load_average [UMAX]): Fetch load average for Encore UMAX.
|
|
|
|
(load_average [not NO_LDAV]): Fetch load average from /dev/kmem.
|
|
|
|
[not NO_LDAV]: Define LDAV_BASED.
|
|
|
|
|
|
|
|
Tue Dec 20 18:54:50 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.28.
|
|
|
|
|
|
|
|
* commands.c (wait_for_children): Take second arg, ERROR. If
|
|
|
|
nonzero, and there are children, print a message on stderr.
|
|
|
|
(execute_file_commands, fatal_error_signal): Pass second arg.
|
|
|
|
* make.c (die), remake.c (update_goal_chain), variable.c
|
|
|
|
(expand_function: `shell'): Ditto.
|
|
|
|
|
|
|
|
Sat Dec 17 01:05:38 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* commands.c (start_job): Call wait_to_start_job before forking.
|
|
|
|
|
|
|
|
* load.c (load_average): Converted to wait_to_start_job.
|
|
|
|
|
|
|
|
* remote.c: New file for remote execution functions.
|
|
|
|
(start_remote_job_p): Return nonzero if the next job should be run
|
|
|
|
remotely.
|
|
|
|
(start_remote_job): Start a remote job and return an ID for it.
|
|
|
|
(remote_status): Get status of dead remote children.
|
|
|
|
|
|
|
|
Fri Dec 16 16:51:07 1988 Roland McGrath (mcgrath at hecuba.Berkeley.EDU)
|
|
|
|
|
|
|
|
* commands.c (start_job): If start_remote_job_p () returns nonzero,
|
|
|
|
call start_remote_job to start the job rather than fork and exec.
|
|
|
|
(child_handler):
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): Moved load average checking to
|
|
|
|
start_job.
|
|
|
|
|
|
|
|
* commands.c (child_handler: USG): Record the pid wait returns.
|
|
|
|
|
|
|
|
* load.c (UMAX): Added some #include's needed for UMAX.
|
|
|
|
|
|
|
|
* read.c (multi_glob), variable.c (string_glob): Ignore a (char **)
|
|
|
|
-1 return from glob_filename.
|
|
|
|
|
|
|
|
* variable.c (variable_expand): Make sure we don't increment past
|
|
|
|
the end of the string we were passed.
|
|
|
|
|
|
|
|
* variable.c (variable_expand): Terminate the expansion.
|
|
|
|
|
|
|
|
* file.c (rename_file): If there is already a file under the new
|
|
|
|
name, set its contents equal to FILE's (ick).
|
|
|
|
|
|
|
|
* variable.c (define_automatic_variables): Pass all the args to
|
|
|
|
define_variable when defining MAKELEVEL!
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): If max_load_average > 0, and
|
|
|
|
we have children running, don't start up another child until the
|
|
|
|
load average goes below max_load_average.
|
|
|
|
|
|
|
|
* make.c: New variable `max_load_average'.
|
|
|
|
(struct command_switch, decode_switches, decode_env_switches):
|
|
|
|
Handle floating-point (double) args.
|
|
|
|
(command_switches): Added `-l' switch to set `max_load_average'.
|
|
|
|
|
|
|
|
* load.c (load_average): New file and function to return a double
|
|
|
|
that is the current load average (1.00 scale).
|
|
|
|
* GNUmakefile, oldMakefile: Pass flags in $(LOAD_AVG) for load.c.
|
|
|
|
|
|
|
|
Thu Dec 15 15:22:08 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Makefile: Renamed to oldMakefile.
|
|
|
|
* GNUmakefile: Make Makefile from oldMakefile and depend.
|
|
|
|
|
|
|
|
* read.c (read_all_makefiles): When putting the default makefiles in
|
|
|
|
the read_makefiles chain so they will be remade, put them in the
|
|
|
|
right order.
|
|
|
|
|
|
|
|
* remake.c (update_goal_chain): If MAKEFILES is nonzero, always make
|
|
|
|
in serial, and return as soon as one goal whose `changed' member is
|
|
|
|
nonzero is successfully remade.
|
|
|
|
|
|
|
|
* commands.c: Don't include <sys/fcntl.h>.
|
|
|
|
|
|
|
|
* commands.c (construct_command_argv): Added ` to sh_chars.
|
|
|
|
|
|
|
|
* make.h: Don't declare construct_makeflags.
|
|
|
|
|
|
|
|
* make.c (main): Set up MAKEFLAGS and MFLAGS and make an environment
|
|
|
|
both before and after reading the makefiles, so the makefiles can
|
|
|
|
use them and possible change them, and later children will get the
|
|
|
|
right information.
|
|
|
|
(construct_makeflags): Replaced with define_makeflags (static void),
|
|
|
|
which defines the two variables.
|
|
|
|
* variable.c (define_automatic_variables): Don't define MAKEFLAGS
|
|
|
|
and MFLAGS.
|
|
|
|
|
|
|
|
Mon Dec 12 14:40:31 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.27.
|
|
|
|
|
|
|
|
* commands.c (child_handler): Reset the handler to ourselves when
|
|
|
|
called for USG, since it has no safe signals.
|
|
|
|
|
|
|
|
* commands.c: For USG, use an int rather than a `union wait' for
|
|
|
|
wait calls, and dissect it with bitmasks.
|
|
|
|
(child_handler): No wait3 system call in USG. Since we can't
|
|
|
|
protect from hanging, always return immediately if we have no
|
|
|
|
children we know about and we're not running a `shell' function.
|
|
|
|
(There is still the danger of hanging waiting for a child that died
|
|
|
|
without our being notified.)
|
|
|
|
|
|
|
|
* remake.c: Include <fcntl.h> instead of <sys/file.h>. What we need
|
|
|
|
is really in <fcntl.h>, and while BSD <sys/file.h> includes
|
|
|
|
<fcntl.h>, USG doesn't.
|
|
|
|
|
|
|
|
* make.c (main): Figure out the program name before doing anything
|
|
|
|
which might need it (in a call to error or fatal).
|
|
|
|
|
|
|
|
* dir.c, glob.c: Use `struct dirent' and <dirent.h> for USGr3.
|
|
|
|
|
|
|
|
* arscan.c (ar_scan): Added missing & before buf (which is an int)
|
|
|
|
if SARMAG is not defined (SysV).
|
|
|
|
|
|
|
|
Fri Dec 9 18:44:13 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.26.
|
|
|
|
|
|
|
|
* dir.c (find_directory, dir_file_exists_p): Keep track of how many
|
|
|
|
directories we have open and don't let it be more than
|
|
|
|
MAX_OPEN_DIRECTORIES (currently 10).
|
|
|
|
|
|
|
|
* variable.c (expand_function: `foreach'): Use expand_argument
|
|
|
|
rather than variable_expand so each repetition doesn't clobber the
|
|
|
|
last!!!
|
|
|
|
|
|
|
|
Mon Dec 5 15:58:46 1988 Roland McGrath (mcgrath at hecuba.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.25.
|
|
|
|
|
|
|
|
* Makefile: Define `install' target.
|
|
|
|
|
|
|
|
* GNUmakefile: Don't include GNUmakefile or depend in the
|
|
|
|
distribution file.
|
|
|
|
|
|
|
|
Wed Nov 30 15:53:42 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU)
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): Don't clobber a null into
|
|
|
|
random storage if there were no $^ and/or $? words.
|
|
|
|
|
|
|
|
* remake.c (check_dep): Set *MUST_MAKE_PTR nonzero if a dependency
|
|
|
|
doesn't exist.
|
|
|
|
|
|
|
|
* ar.c (ar_member_date, ar_touch): Make sure the modtime of the
|
|
|
|
archive file itself is known before we fetch or change the modtime
|
|
|
|
of one of its members.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Expand variable and function references
|
|
|
|
before parsing rules so variable can contain special characters
|
|
|
|
(colons and semicolons).
|
|
|
|
|
|
|
|
Sat Nov 26 11:36:31 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* variable.c (expand_function: `filter', `filter-out'): Fixed so
|
|
|
|
that filter-out works right.
|
|
|
|
|
|
|
|
* variable.c (expand_function: `filter', `filter-out'): Made these
|
|
|
|
functions use each word of their first argument as a pattern.
|
|
|
|
|
|
|
|
Fri Nov 25 10:51:47 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.24.
|
|
|
|
|
|
|
|
* read.c (record_files): If a target is listed more than once in a
|
|
|
|
single rule (that defines commands), give a warning message rather
|
|
|
|
than the counter-intuitive message saying commands were already
|
|
|
|
defined (in the same place).
|
|
|
|
|
|
|
|
* make.c (fatal, error): Made them both take 6 args since there is
|
|
|
|
at least one error message that need that many. Too bad vfprintf is
|
|
|
|
not universal!
|
|
|
|
|
|
|
|
* Version 3.23.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Moved the construction of the `struct
|
|
|
|
commands' into record_files. Call record_files before recursing for an
|
|
|
|
included makefile so the higher-up will determine the default goal.
|
|
|
|
(record_files): Take arguments COMMANDS, COMMANDS_IDX and
|
|
|
|
COMMANDS_STARTED and construct a `struct commands.
|
|
|
|
|
|
|
|
Thu Nov 24 14:36:33 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.22.
|
|
|
|
|
|
|
|
* make.c (main): Made it a fatal error if we can't move back to the
|
|
|
|
directory we started in before re-execing.
|
|
|
|
|
|
|
|
* make.c (main): Get the current directory before doing anything
|
|
|
|
else, so we know it even if we don't need it for the value of
|
|
|
|
`MAKE', since we might want it when re-execing.
|
|
|
|
|
|
|
|
Wed Nov 23 13:34:44 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.21.
|
|
|
|
|
|
|
|
* read.c (record_files): Eliminate duplicate deps in a chain.
|
|
|
|
|
|
|
|
* variable.c (expand_function: `sort'): Pass the right number to
|
|
|
|
qsort, not one less.
|
|
|
|
|
|
|
|
* remake.c (remake_file): Always call notice_finished_file if
|
|
|
|
FILE->command_state == cs_finished.
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): Call notice_finished_file to
|
|
|
|
set FILE's status correctly when start_job fails (because it's out
|
|
|
|
of commands or running under -n).
|
|
|
|
|
|
|
|
Fri Nov 18 15:31:12 1988 Roland McGrath (mcgrath at saffron.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.20.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Set the `update_status' of FILE to
|
|
|
|
nonzero and set FILE's `updated' bit if we have decided to give up
|
|
|
|
on remaking FILE because of errors in the dependencies.
|
|
|
|
|
|
|
|
* rule.c (pattern_search): Debugging messages use `dependency' (vs.
|
|
|
|
`dependent') properly.
|
|
|
|
|
|
|
|
* make.texinfo (Conditionals: Conditional Syntax): Function index
|
|
|
|
entries for `ifndef' and `ifneq'.
|
|
|
|
|
|
|
|
* variable.c (define_automatic_variables): Define `MAKELEVEL' to the
|
|
|
|
decimal number of the makelevel, since it may be malformed or blank.
|
|
|
|
|
|
|
|
* remake.c (remake_file): Call notice_finished_file after touching.
|
|
|
|
|
|
|
|
Sat Nov 12 19:29:34 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.19.
|
|
|
|
|
|
|
|
* GNUmakefile (dist): Pass the `-f' flag to compress.
|
|
|
|
|
|
|
|
* vpath.c (build_vpath_lists): Check for VPATHS being nil after
|
|
|
|
constructing the general VPATH list from the `VPATH' variable.
|
|
|
|
|
|
|
|
Fri Nov 11 08:02:26 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.c (fatal, error): Made error messages for recursive runs be
|
|
|
|
shorter.
|
|
|
|
|
|
|
|
Thu Nov 10 16:51:36 1988 Roland McGrath (mcgrath at basil.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.18.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Made it eat leading spaces and formfeeds
|
|
|
|
(but not tabs), like it's documented to.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Let included makefiles determine the
|
|
|
|
default goal, as is done by System V Make.
|
|
|
|
|
|
|
|
Tue Nov 1 19:03:08 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* variable.c (new_environ): Don't increment VCNT when a variable is
|
|
|
|
rejected.
|
|
|
|
|
|
|
|
Fri Oct 28 16:54:15 1988 Roland McGrath (mcgrath at basil.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.17.
|
|
|
|
|
|
|
|
* rule.c (convert_to_pattern): Don't use the same storage for a name
|
|
|
|
in two rules since new_pattern_rule may free this storage when a
|
|
|
|
rule is discarded.
|
|
|
|
|
|
|
|
* rule.c (new_pattern_rule): Undid useless change I made Oct 25.
|
|
|
|
|
|
|
|
Thu Oct 27 19:17:53 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.16.
|
|
|
|
|
|
|
|
* GNUmakefile, Makefile: Fixed a typo in a comment.
|
|
|
|
* Makefile: Removed malloc.o from object file list.
|
|
|
|
|
|
|
|
* variable.c: Removed old debugging #define's for xmalloc and
|
|
|
|
xrealloc so non-ANSI cpp's won't barf.
|
|
|
|
|
|
|
|
* make.c (main): Made local array for temp file name static so
|
|
|
|
compilers that don't do auto aggregate initialization won't barf.
|
|
|
|
|
|
|
|
* read.c: Removed static declaration of copy_dep_chain since it is
|
|
|
|
no longer static.
|
|
|
|
|
|
|
|
Tue Oct 25 16:59:30 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU)
|
|
|
|
|
|
|
|
* rule.c (new_pattern_rule): If we threw out the new rule because it
|
|
|
|
matched an old one and OVERRIDE was zero, don't put the freed
|
|
|
|
pointer in the chain!
|
|
|
|
|
|
|
|
Wed Oct 19 15:07:43 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.15.
|
|
|
|
|
|
|
|
* variable.c (expand_function: `sort'): Don't do the sorting and
|
|
|
|
writing out if there were no words in the first place.
|
|
|
|
|
|
|
|
* remake.c (remake_file): Only fail with a "no way to make" message
|
|
|
|
for a dependency (non-target) file. If we don't know how to remake
|
|
|
|
a target file, pretend it was successfully remade and is very new.
|
|
|
|
|
|
|
|
* remake.c (remake_file): Don't increment `files_remade' for a
|
|
|
|
non-target file we don't know how to remake.
|
|
|
|
|
|
|
|
* read.c (record_files): Don't die with "both : and :: entries" for
|
|
|
|
a file whose `is_target' flag is not set.
|
|
|
|
|
|
|
|
Tue Oct 18 17:24:11 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* variable.c (expand_function: `patsubst', `subst'): Free the right
|
|
|
|
things!
|
|
|
|
|
|
|
|
* variable.c (expand_function: `subst'): Don't clobber the
|
|
|
|
pointer to the end of the second arg and then try to use it!!!
|
|
|
|
|
|
|
|
Mon Oct 17 16:44:45 1988 Roland McGrath (mcgrath at catnip.Berkeley.EDU)
|
|
|
|
|
|
|
|
* variable.c (expand_function: `patsubst'): Don't clobber the
|
|
|
|
pointer to the end of the second arg and then try to use it!!!
|
|
|
|
|
|
|
|
* variable.c (expand_function: `word' function): Made it parse its
|
|
|
|
second argument correctly.
|
|
|
|
|
|
|
|
* ar.c (ar_touch): Return 1 rather than -1 for on errors.
|
|
|
|
|
|
|
|
Sat Oct 15 15:12:16 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.14.
|
|
|
|
|
|
|
|
* GNUmakefile: Removed explicit rule for make.dvi since the built-in
|
|
|
|
implicit rule now works.
|
|
|
|
|
|
|
|
* rule.c (default_suffix_rules): Fixed .texinfo.dvi rule yet again
|
|
|
|
so that it really works, now that parens are counted.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Set FILE's `updated' flag after calling
|
|
|
|
remake_file if it failed or finished immediately.
|
|
|
|
|
|
|
|
* remake.c (update_file): Use the `updated' flag rather than the
|
|
|
|
command state to decide if a file was fully considered, and
|
|
|
|
therefore might give an "up to date" message.
|
|
|
|
|
|
|
|
* variable.c (expand_function): Made all functions that take more
|
|
|
|
than one argument count parens of the appropriate flavor in their
|
|
|
|
args and ignore commands nested in parens.
|
|
|
|
|
|
|
|
Fri Oct 14 18:35:00 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* read.c (read_all_makefiles): Pass second arg to read_makefile for
|
|
|
|
default makefiles.
|
|
|
|
|
|
|
|
Thu Oct 13 16:40:08 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.13.
|
|
|
|
|
|
|
|
* GNUmakefile: Added an explicit rule for make.dvi since the
|
|
|
|
built-in .texinfo.dvi implicit rule is screwed up.
|
|
|
|
|
|
|
|
* rule.c (default_suffix_rules): Added a comment that the
|
|
|
|
.texinfo.dvi rule does not work because of an ahem, feature of Make
|
|
|
|
that at some point will be fixed--er, enhanced to alleviate this
|
|
|
|
difficulty.
|
|
|
|
|
|
|
|
* rule.c (default_suffix_rules): Fixed Texinfo -> DVI rule (again).
|
|
|
|
|
|
|
|
* make.texinfo (Commands: Execution): Documented new competing for
|
|
|
|
standard input among children.
|
|
|
|
|
|
|
|
* commands.c (struct child): Added `good_stdin' flag to tell if this
|
|
|
|
child has the stdin that doesn't point into nirvana.
|
|
|
|
(good_stdin_used): New variable to tell if any child has the good
|
|
|
|
standard input.
|
|
|
|
(child_handler): Reset `good_stdin_used' if a dead child's
|
|
|
|
`good_stdin' flag is set.
|
|
|
|
(start_job): Give the new child the good standard input if
|
|
|
|
`good_stdin_used' is no set, and set the child's `good_stdin' flag
|
|
|
|
appropriately.
|
|
|
|
|
|
|
|
* rule.c (default_suffix_rules): Changed Texinfo -> DVI rule to work
|
|
|
|
better (I hope).
|
|
|
|
|
|
|
|
* read.c (read_all_makefiles): Stop reading default makefiles after
|
|
|
|
one is found.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Reset `reading_filename' and
|
|
|
|
`reading_lineno_ptr' after recursing for an included makefile.
|
|
|
|
|
|
|
|
* GNUmakefile: New GNU Make-specific makefile that does everything
|
|
|
|
Makefile does plus distribution stuff, and doesn't contain any hacks
|
|
|
|
to try to work with Unix make.
|
|
|
|
|
|
|
|
* Makefile: Removed distribution stuff.
|
|
|
|
|
|
|
|
* make.c (main): Use mktemp to construct the names of temporary
|
|
|
|
files used for standard input makefiles.
|
|
|
|
|
|
|
|
* make.c (main): Don't turn standard input into a broken pipe.
|
|
|
|
|
|
|
|
* commands.c (start_job): Keep two extra file descriptors around: a
|
|
|
|
good standard input, and a bad one that reads from a broken pipe.
|
|
|
|
On the child side of the fork, if there are other children, give
|
|
|
|
this one the broken pipe so they won't compete; if this is the only
|
|
|
|
one, give it the good standard input.
|
|
|
|
|
|
|
|
* make.h: Declare notice_finished_file.
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): Use noticed_finished_file
|
|
|
|
after waiting for the child when there is only one job slot.
|
|
|
|
|
|
|
|
* remake.c (notice_finished_file): New function to re-check mtime's
|
|
|
|
and such things to be done when commands finish.
|
|
|
|
(update_file_1): Use notice_finished_file.
|
|
|
|
|
|
|
|
* commands.c (child_handler, execute_file_commands): Use new
|
|
|
|
variable `job_slots_used' to record the number of jobs currently
|
|
|
|
running, rather than diddling with `job_slots'.
|
|
|
|
(execute_file_commands): Increment `job_slots_used' before calling
|
|
|
|
start_job and decrement it on failure to avoid race condition.
|
|
|
|
If there is only one job slot, wait for the child to finish and
|
|
|
|
return its status so commands are run in linear order, as if there
|
|
|
|
were no parallelism.
|
|
|
|
|
|
|
|
Wed Oct 12 15:59:03 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* remake.c (remake_file): Don't print a "No way to make" message for
|
|
|
|
targets whose `dontcare' flags are set.
|
|
|
|
|
|
|
|
* read.c (read_all_makefiles): Set the `dontcare' flag of the
|
|
|
|
`struct file' each default makefile added to the chain.
|
|
|
|
|
|
|
|
* file.h (struct file): Add `dontcare' member.
|
|
|
|
|
|
|
|
* read.c (read_all_makefiles): When no default makefiles are found,
|
|
|
|
put the names of all those tried in the `read_makefiles' chain so
|
|
|
|
they will be updated if possible, giving their `struct dep's'
|
|
|
|
`changed' members the value of 0 so we won't care if they cannot be
|
|
|
|
found or remade.
|
|
|
|
|
|
|
|
* make.texinfo (Makefiles: Remaking Makefiles): Documented that
|
|
|
|
default makefiles will be remade if not found.
|
|
|
|
|
|
|
|
* read.c (read_all_makefiles): If no default makefiles can be found,
|
|
|
|
go through the list of default names, trying to make one, stopping
|
|
|
|
if one is made.
|
|
|
|
|
|
|
|
* remake.c (remake_file): Set STATUS to 0 after successfully touching.
|
|
|
|
|
|
|
|
* dir.c (file_impossible, file_impossible_p): Don't clobber FILENAME
|
|
|
|
to "" and then try to to a strcmp on it!!!
|
|
|
|
|
|
|
|
Mon Oct 10 16:09:18 1988 Roland McGrath (mcgrath at cinnamon.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.c (main): Don't do `dir_load (".")'.
|
|
|
|
|
|
|
|
* rule.c (count_implicit_rule_limits), vpath.c
|
|
|
|
(construct_vpath_list): Test the existence of a given directory by
|
|
|
|
`dir_file_exists_p (DIR, ".")' and assume that if this returns zero,
|
|
|
|
it means the directory really does not exist.
|
|
|
|
|
|
|
|
* dir.c (struct dirdata): Replaced with `struct directory' for
|
|
|
|
directories, each containing a chain of `struct dirfiles', one for
|
|
|
|
each file (real or impossible).
|
|
|
|
(dir_load): Removed.
|
|
|
|
(find_directory): New function to find the `struct directory' for a
|
|
|
|
named directory and return it (possibly creating a new one).
|
|
|
|
(dir_file_exists_p): Read the directory on the fly if its stream is
|
|
|
|
still valid (and ever was) if the file we're looking for is not
|
|
|
|
already in the hash tables.
|
|
|
|
(file_impossible, file_impossible_p, dir_name, print_dir_data_base):
|
|
|
|
Use the new directory/file scheme.
|
|
|
|
|
|
|
|
* make.texinfo: Miscellaneous editorial changes and clarifiactions.
|
|
|
|
|
|
|
|
* commands.c (struct child): Remove `environ' member.
|
|
|
|
(child_handler, start_job, execute_file_commands): Remove use of
|
|
|
|
`environ' member and new_environ.
|
|
|
|
|
|
|
|
* make.c (main): Call new_environ after reading makefiles.
|
|
|
|
|
|
|
|
* variable.h: Declare `new_environ' to return void.
|
|
|
|
|
|
|
|
* variable.c (new_environ): Put the environment in `environ' and
|
|
|
|
return void.
|
|
|
|
|
|
|
|
Fri Oct 7 15:48:39 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.12.
|
|
|
|
|
|
|
|
* Makefile: Don't make the uncompressed tar file.
|
|
|
|
|
|
|
|
* variable.c (expand_function: `shell' function): Made it not expect
|
|
|
|
read to null-terminate the buffer.
|
|
|
|
|
|
|
|
* Makefile: Made it use a temporary symlink to . rather than a
|
|
|
|
temporary directory to make the distribution tar file.
|
|
|
|
|
|
|
|
Thu Oct 6 17:52:35 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.11.
|
|
|
|
|
|
|
|
* make.texinfo: Fixed a line that got garbaged somehow.
|
|
|
|
|
|
|
|
Mon Oct 3 16:14:39 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.c (main): Try to move back to the directory we started in
|
|
|
|
before re-exec ourself.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): A double-colon target with no deps
|
|
|
|
always needs to be remade.
|
|
|
|
|
|
|
|
* remake.c (remake_file): Changed "No way to make" message to say
|
|
|
|
`target' rather than `file'.
|
|
|
|
|
|
|
|
Sun Oct 2 12:50:47 1988 Roland McGrath (mcgrath at catnip.Berkeley.EDU)
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Set FILE->update_status to the return
|
|
|
|
value of remake_file.
|
|
|
|
|
|
|
|
* rule.c (convert_to_pattern): Fixed swapped lengths passed to
|
|
|
|
xmalloc for source/target suffixes.
|
|
|
|
|
|
|
|
* make.texinfo: Documented that MAKEFLAGS and MFLAGS are read in
|
|
|
|
from makefiles. Updated the `Features' section a bit.
|
|
|
|
|
|
|
|
* make.c (main): Read switches from MAKEFLAGS and MFLAGS variables
|
|
|
|
after reading in makefiles.
|
|
|
|
|
|
|
|
* make.c (main): Put a line "/tmp/foo:;" rather than ".PHONY:
|
|
|
|
/tmp/foo" in front of temp files made for stdin makefiles.
|
|
|
|
|
|
|
|
* remake.c (update_file): Test the state of the right `struct file'
|
|
|
|
for double-colon files.
|
|
|
|
|
|
|
|
* make.c (main): Put a ".PHONY: /tmp/foo" line in front of temp
|
|
|
|
files made for stdin makefiles so they won't be remade when we
|
|
|
|
re-exec. Kludge-o-matic!!
|
|
|
|
|
|
|
|
* remake.c (update_goal_chain): Judge files as being finished based
|
|
|
|
on their `updated' flag, not their state.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Don't check for FILENAME being "-".
|
|
|
|
(read_all_makefiles): Set each element of MAKEFILES to the name put
|
|
|
|
in READ_MAKEFILES by read_makefile, since read_makefile may free the
|
|
|
|
storage for the name it is passed, and someone might want to look at
|
|
|
|
the elements of MAKEFILES again.
|
|
|
|
|
|
|
|
* make.c (main): For each `-f' flag with arg `-' (standard input),
|
|
|
|
read standard input into a temp file and pass the temp file's name
|
|
|
|
to read_all_makefiles, after making sure it will not be remade.
|
|
|
|
|
|
|
|
* make.c (construct_makeflags): Always put out `-j1'.
|
|
|
|
|
|
|
|
Sat Oct 1 00:19:59 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): If commands are nothing but
|
|
|
|
whitespace, set the state to `cs_finished' before returning 0.
|
|
|
|
|
|
|
|
* make.c (decode_switches): Allocate space for args in stringlists
|
|
|
|
so they can be freed later.
|
|
|
|
|
|
|
|
* make.h: Declare `makelevel'.
|
|
|
|
|
|
|
|
* variable.c (makelevel): Moved to make.c (and made global).
|
|
|
|
|
|
|
|
* make.c (fatal, error): Print the makelevel if it's > 0.
|
|
|
|
(perror_with_name): Use error rather than calling fprintf directly.
|
|
|
|
(pfatal_with_name): Use fatal rather than fprintf and die.
|
|
|
|
|
|
|
|
* variable.c (new_environ): Don't put default variables (origin
|
|
|
|
`o_default') into the environment; they just take up space.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Don't add FILENAME to the chain of read
|
|
|
|
makefiles if it's "-" (standard input).
|
|
|
|
|
|
|
|
* remake.c (update_goal_chain): Set STATUS correctly when nothing
|
|
|
|
happens (as well as in all other situations).
|
|
|
|
|
|
|
|
* make.c (construct_makeflags): Put a `-' before each switch and
|
|
|
|
spaces between them.
|
|
|
|
|
|
|
|
* Version 3.10.
|
|
|
|
|
|
|
|
* commands.c (wait_for_children): Don't check if `children' is nil.
|
|
|
|
This is the case when waiting for the child of a `shell' function.
|
|
|
|
|
|
|
|
* dir.c (dir_load): Don't add a hash-table entry for directory
|
|
|
|
DIRNAME and filename "" if DIRNAME doesn't exist.
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): Return 0 after start_job
|
|
|
|
returns 1 (failure) under the -n flag.
|
|
|
|
|
|
|
|
* remake.c (remake_file): Set the state to `cs_finished' when not
|
|
|
|
calling execute_file_commands.
|
|
|
|
|
|
|
|
* remake.c (update_goal_chain): Second arg is now MAKEFILES, nonzero
|
|
|
|
meaning to disable -t, -q, and -n for each target unless the target
|
|
|
|
was also given on the command-line.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Enter the `struct file's for the makefiles
|
|
|
|
added to the `read_makefiles' `struct dep' chain.
|
|
|
|
|
|
|
|
* remake.c (update_goal_chain): Made it not enter the files for the
|
|
|
|
goals in the chain. It will already have been done.
|
|
|
|
|
|
|
|
* rule.c (convert_to_pattern): Null-terminate the names of targets
|
|
|
|
and deps of the pattern rules properly.
|
|
|
|
|
|
|
|
Fri Sep 30 18:56:20 1988 Roland McGrath (mcgrath at nutmeg.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.c (main): Call install_default_pattern_rules.
|
|
|
|
|
|
|
|
* make.h: Declare copy_dep_chain.
|
|
|
|
|
|
|
|
* read.c (copy_dep_chain): Moved to make.c (and made global).
|
|
|
|
|
|
|
|
* make.c (main): Call update_goal_chain to update goals.
|
|
|
|
Update read makefiles and re-exec self if they change.
|
|
|
|
|
|
|
|
* remake.c (update_file): Make this function static.
|
|
|
|
(update_goal_chain): New function to update a `struct dep' chain of
|
|
|
|
goals, waiting until they are all finished before returning.
|
|
|
|
|
|
|
|
* make.h: Don't declare update_file. Declare update_goal_chain.
|
|
|
|
|
|
|
|
* make.c (main): Call snap_deps, etc. that were in read_all_makefiles.
|
|
|
|
|
|
|
|
* read.c (find_makefile): Removed this function.
|
|
|
|
(read_all_makefiles): Don't update makefiles, don't diddle with
|
|
|
|
pattern rules, don't call snap_deps, etc. Return a `struct dep'
|
|
|
|
chain of all makefiles read.
|
|
|
|
(read_makefile): Now takes two args: FILENAME and TYPE, which is 0
|
|
|
|
for a normal makefile, 1 for MAKEFILES variable or 2 for an included
|
|
|
|
makefile. Add a `struct dep' containing the name of the makefile
|
|
|
|
(as it was found in the search path for type 2s), and TYPE in the
|
|
|
|
`changed' member to the global `read_makefiles' chain.
|
|
|
|
|
|
|
|
* make.h, rule.c (displace_pattern_rules,
|
|
|
|
add_displaced_pattern_rules): Removed these functions.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Variable-expand the name of an `include'd
|
|
|
|
makefile before calling find_makefile on it.
|
|
|
|
|
|
|
|
* file.c (snap_deps): If the `struct file' for a `struct dep'
|
|
|
|
already exists, free the `struct dep's `name' member before setting
|
|
|
|
it to nil (since this info is in the `struct file').
|
|
|
|
|
|
|
|
* read.c (copy_dep_chain): Made it copy each name rather than
|
|
|
|
leaving multiple `struct dep's with the same pointers.
|
|
|
|
|
|
|
|
Thu Sep 29 19:08:13 1988 Roland McGrath (mcgrath at catnip.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.c (decode_switches): Fixed second decode_env_switches call to
|
|
|
|
use correct length of "MFLAGS" (6, not 5).
|
|
|
|
|
|
|
|
* read.c (read_makefile): Don't stop reading when readline returns
|
|
|
|
zero lines read. Only stop when the stream reaches EOF. This makes
|
|
|
|
it recognize the last line of a makefile without a newline.
|
|
|
|
|
|
|
|
* remake.c (remake_file): If we don't know how to make FILE, set its
|
|
|
|
command state to `cs_finished'.
|
|
|
|
|
|
|
|
* remake.c (update_file): Don't write the "up to date" message if
|
|
|
|
update_file_1 returned a nonzero status.
|
|
|
|
|
|
|
|
Wed Sep 28 16:30:07 1988 Roland McGrath (mcgrath at catnip.Berkeley.EDU)
|
|
|
|
|
|
|
|
* commands.c (child_handler): Set the `update_status' member
|
|
|
|
properly for ignored errors.
|
|
|
|
|
|
|
|
* rule.c (convert_to_pattern): Made it not care about if the target
|
|
|
|
suffix comes before the source suffix in the .SUFFIXES list.
|
|
|
|
|
|
|
|
* make.texinfo: Misc editorial changes.
|
|
|
|
|
|
|
|
* commands.c (wait_for_children): Return immediately if `children'
|
|
|
|
is nil (there are no children).
|
|
|
|
|
|
|
|
Tue Sep 27 15:33:14 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.09.
|
|
|
|
|
|
|
|
* commands.c (struct child): New member `command_ptr' to hold the
|
|
|
|
current position in the commands. The `commands' member is never
|
|
|
|
changed.
|
|
|
|
(start_job, child_handler, execute_file_commands): Use new method
|
|
|
|
for `commands' and `command_ptr' members.
|
|
|
|
|
|
|
|
* make.c (decode_env_switches): Skip past an invalid letter (instead
|
|
|
|
of looping forever).
|
|
|
|
|
|
|
|
* commands.c (struct child): Add `environ' member to hold the
|
|
|
|
environment for this child.
|
|
|
|
(execute_file_commands): Get a new environment from new_environ and
|
|
|
|
put in the the new `struct child's `environ' member.
|
|
|
|
(child_handler): When freeing a child, free its `commands' member, the
|
|
|
|
elements of its `environ' array and its `environ' member itself.
|
|
|
|
(start_job): Set `environ' to the child's `environ' member before
|
|
|
|
exec'ing the command.
|
|
|
|
|
|
|
|
* variable.h, variable.c (new_environ): Made it return the new
|
|
|
|
environment, not putting it in `environ'.
|
|
|
|
|
|
|
|
* remake.c (update_file): Don't give a "is up to date" message
|
|
|
|
unless no files were remade and the state went from `cs_not_started'
|
|
|
|
to `cs_finished', so repeat calls to finish jobs won't get the message.
|
|
|
|
|
|
|
|
Mon Sep 26 16:26:08 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.08.
|
|
|
|
|
|
|
|
* make.texinfo (Commands: Execution): Documented that children will
|
|
|
|
be waited for rather than killed.
|
|
|
|
|
|
|
|
* commands.c (fatal_error_signal): Wait for children.
|
|
|
|
(kill_children): Removed this function.
|
|
|
|
|
|
|
|
* make.c (main, die): Wait for children to die, don't kill them.
|
|
|
|
|
|
|
|
* variable.c (expand_function): Use wait_for_children.
|
|
|
|
|
|
|
|
* make.c (main): Use wait_for_children rather than child_handler.
|
|
|
|
|
|
|
|
* commands.c (wait_for_children): New function to block waiting for
|
|
|
|
children, insuring that child_handler is not called recursively.
|
|
|
|
(execute_file_commands, kill_children): Use wait_for_children.
|
|
|
|
|
|
|
|
* commands.c (child_handler): Start up additional commands in a
|
|
|
|
sequence after an ignored error.
|
|
|
|
|
|
|
|
* remake.c (update_file): Don't print "`foo' is up to date" messages
|
|
|
|
when update_file_1 returns while commands are executing.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Pass the file name to name_mtime, not
|
|
|
|
the bloody `struct file', dammit!!
|
|
|
|
|
|
|
|
* commands.c (child_handler): Print out the "*** ..." error message
|
|
|
|
when not under -i. (I somehow forgot this.)
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Use name_mtime rather than file_mtime to
|
|
|
|
re-get the mtime of a file whose commands have finished.
|
|
|
|
|
|
|
|
* make.c (command_switches, decode_switches, decode_env_switches):
|
|
|
|
Make all switches that take string args allow them right after the
|
|
|
|
switch letter.
|
|
|
|
|
|
|
|
* commands.c (child_handler): Check for a child being the `shell'
|
|
|
|
function's command returning and set the global variable for
|
|
|
|
expand_function to check.
|
|
|
|
|
|
|
|
* variable.c (expand_function): For the `shell' function, instead of
|
|
|
|
waiting for the child shell ourselves, let child_handler do it and
|
|
|
|
loop around waiting for something to happen.
|
|
|
|
|
|
|
|
* make.c (print_version): Made the copyright year static, not dynamic.
|
|
|
|
|
|
|
|
* make.h, make.c: Remove construct_argv function.
|
|
|
|
|
|
|
|
* make.c (main): Say "no goal target" instead of "no target".
|
|
|
|
|
|
|
|
* make.texinfo (Commands: Parallel): Don't send SIGKILL.
|
|
|
|
|
|
|
|
* commands.c (kill_children): Don't send SIGKILL to children that
|
|
|
|
aren't killed by the first signal.
|
|
|
|
|
|
|
|
* make.c (main), commands.c (kill_children): Decide between SIGCHLD
|
|
|
|
and SIGCLD based on whether or not SIGCHLD is defined, not on USG.
|
|
|
|
|
|
|
|
* Makefile: Link make with $(LOADLIBES).
|
|
|
|
|
|
|
|
* read.c (construct_include_path): Fixed another bad xrealloc call.
|
|
|
|
|
|
|
|
* make.c (decode_switches): Fixed an xrealloc call with no first arg.
|
|
|
|
|
|
|
|
Sat Sep 24 01:16:21 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.07.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): If deps are running, set state to
|
|
|
|
`cs_deps_running' and return 0. If deps are done, run commands.
|
|
|
|
|
|
|
|
* commands.c (child_handler): Made it delete non-precious targets
|
|
|
|
killed by fatal signals.
|
|
|
|
|
|
|
|
* make.texinfo: Documented parallelism.
|
|
|
|
|
|
|
|
Fri Sep 23 16:52:27 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU)
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Don't return if FILE's state is
|
|
|
|
`cs_deps_running'. In that case, we need to run through and check
|
|
|
|
the states of all our dependencies.
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): Decrement `job_slots' after
|
|
|
|
starting a new job to run file commands.
|
|
|
|
|
|
|
|
* commands.c (start_job): Made it set the state to `cs_running'.
|
|
|
|
|
|
|
|
* make.c (main): Fixed usage of `g', `lastgoal', and `goals' in the
|
|
|
|
goal-making loop.
|
|
|
|
|
|
|
|
* commands.c (child_handler): When commands finish, set the
|
|
|
|
corresponding file's `update_status' and `updated' flags as
|
|
|
|
appropriate, and reset the modtimes of the file and any `also_make'
|
|
|
|
files it has.
|
|
|
|
|
|
|
|
* remake.c (remake_file): Don't re-set `last_mtime' and set `updated'.
|
|
|
|
|
|
|
|
* commands.c (fatal_error_signal): Don't swallow all the children
|
|
|
|
with a loop around `wait ((union wait *) 0)'!!!
|
|
|
|
|
|
|
|
* make.c (struct command_switch): Added `positive_int' type.
|
|
|
|
(switches): Added -j (job_slots).
|
|
|
|
(construct_makeflags, decode_switches, decode_env_switches):
|
|
|
|
Handle`positive_int'-type switches.
|
|
|
|
|
|
|
|
* glob.c (glob_vector): Rename local variable `vector' to `VeCtOr'.
|
|
|
|
This is said to avoid a conflict with some system's global `vector'
|
|
|
|
variable.
|
|
|
|
|
|
|
|
* variable.c (expand_function): Made the `shell' function use
|
|
|
|
construct_command_argv and do its own child control and piping.
|
|
|
|
|
|
|
|
* make.c (main): Turn standard input into a broken pipe after
|
|
|
|
reading in all makefiles (the last time it will be needed).
|
|
|
|
|
|
|
|
* commands.c (struct child): Remove `pipe_fd' member. We don't use
|
|
|
|
pipes any more.
|
|
|
|
(start_job): Return 0 for success, 1 or failure (rather than void).
|
|
|
|
Don't use pipes. Don't turn the child's stdin into a broken pipe.
|
|
|
|
(child_handler): Print "*** Error" messages when necessary.
|
|
|
|
Die on failed commands when -k was not given.
|
|
|
|
(execute_file_commands): Check the return of start_job and remove
|
|
|
|
the child from the chain and return failure if it is nonzero.
|
|
|
|
|
|
|
|
* make.c (die): New function to clean up and exit.
|
|
|
|
(fatal, pfatal_with_name): Use die.
|
|
|
|
|
|
|
|
Thu Sep 22 14:27:11 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU)
|
|
|
|
|
|
|
|
* commands.c (struct child): Added `commands', `pipe_fd', and
|
|
|
|
`noerror' members to keep track of info about a command thread.
|
|
|
|
(start_job): New function to start a job and update the argument
|
|
|
|
`struct child' to reflect its status.
|
|
|
|
(execute_file_commands): Merged run_file_commands back in.
|
|
|
|
Made it use new start_job function.
|
|
|
|
|
|
|
|
* rule.c (freerule): Don't free the `struct commands' of the
|
|
|
|
discarded rule. It may be used in more than one place.
|
|
|
|
|
|
|
|
* commands.c (execute_command_line): Made it not try to delete the
|
|
|
|
possibly partly-made file. The child_handler function will do this.
|
|
|
|
(fatal_error_signal): Ditto + call kill_children.
|
|
|
|
|
|
|
|
* make.h: Declare job_slots.
|
|
|
|
|
|
|
|
* make.c (main): Collect goals in a dep chain and run through this
|
|
|
|
chain waiting for a child, eliminating finished goals, updating all
|
|
|
|
remaining goals, and quitting if they fail and not -k.
|
|
|
|
|
|
|
|
* commands.c (child_handler): If called with SIG < 0, - SIG is the
|
|
|
|
max number of children to bury.
|
|
|
|
|
|
|
|
* commands.c (child_handler): If called with SIG as zero,
|
|
|
|
block waiting for running children.
|
|
|
|
(kill_children): Call child_handler with zero rather than SIGCHLD.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Use the `command_state' member of FILE
|
|
|
|
and its dependencies to determine what commands are running, what to
|
|
|
|
do, etc. If commands or dep commands are running when we are
|
|
|
|
called, return success (0). If commands finished since the last
|
|
|
|
time we were called, return their status.
|
|
|
|
|
|
|
|
* commands.h: Declare kill_children.
|
|
|
|
|
|
|
|
* commands.c: Define `struct child' to keep track of child
|
|
|
|
processes, with the chain in `children'.
|
|
|
|
(child_handler): New function to catch child-termination signals
|
|
|
|
(SIGCHLD, or SIGCLD for USG), store the returned status in the
|
|
|
|
appropriate structure, take the now-obsolete `struct child' out of
|
|
|
|
the chain, and free its storage.
|
|
|
|
(execute_file_commands): Put all of the stuff invloving running the
|
|
|
|
commands into new function run_file_commands. Execute_file_commands
|
|
|
|
now does process management for the commands, while
|
|
|
|
run_file_commands (which is run in a subprocess) runs the commands.
|
|
|
|
(kill_children): New function to kill all running children by
|
|
|
|
sending them signal SIG. If there are any children still living
|
|
|
|
after they are all sent SIG, they are all sent SIGKILL.
|
|
|
|
|
|
|
|
* make.c (main): Catch SIGCHLD (SIGCLD for USG) with child_handler.
|
|
|
|
|
|
|
|
* commands.h: Declare child_handler function.
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): Check the `command_state'
|
|
|
|
member of FILE and return 0 if it is `cs_running' or
|
|
|
|
`cs_deps_running' and return the stored status if it is `cs_finished'.
|
|
|
|
|
|
|
|
* file.h (struct file): Added `command_state' member.
|
|
|
|
|
|
|
|
* commands.c (execute_command_line): Add `$' to the list of
|
|
|
|
characters special to the shell.
|
|
|
|
|
|
|
|
Wed Sep 21 15:57:41 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU)
|
|
|
|
|
|
|
|
* read.c (read_all_makefiles): Call convert_to_pattern before
|
|
|
|
recomputing the limits after adding the displaced rules.
|
|
|
|
|
|
|
|
* make.c (main): Move calls to snap_deps, convert_to_pattern, and
|
|
|
|
build_vpath_lists to read_all_makefiles.
|
|
|
|
|
|
|
|
* read.c (read_all_makefiles): Install the default pattern rules
|
|
|
|
before checking to remake the makefiles, displace these rules before
|
|
|
|
reading in the makefiles, and then add the displaced rules to the
|
|
|
|
chain after reading in all the makefiles.
|
|
|
|
|
|
|
|
* make.c (main): Don't call install_default_pattern_rules or
|
|
|
|
count_implicit_rule_limits.
|
|
|
|
|
|
|
|
* make.h: Declare displace_pattern_rules and
|
|
|
|
add_displaced_pattern_rules.
|
|
|
|
|
|
|
|
* rule.c (displace_pattern_rules, add_displaced_pattern_rules): New
|
|
|
|
functions to stow the chain and add the stowed chain on the end of
|
|
|
|
the current chain.
|
|
|
|
|
|
|
|
* make.texinfo (Implicit: Search Algorithm): Fixed PREV reference.
|
|
|
|
|
|
|
|
* make.c (main): Call construct_include_path right after decoding
|
|
|
|
the switches.
|
|
|
|
|
|
|
|
* read.c (find_makefile): Use rename_file.
|
|
|
|
|
|
|
|
* file.h: Declare rename_file.
|
|
|
|
|
|
|
|
* file.c (rename_file): New function to rename a `struct file' and
|
|
|
|
put it in the correct hash bucket.
|
|
|
|
|
|
|
|
* read.c (find_makefile): New function to find and update a makefile.
|
|
|
|
(read_all_makefilese): Use find_makefile.
|
|
|
|
(read_makefile): Don't do updating. Removed UPDATEIT arg.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Took out setting the `updated' member to
|
|
|
|
-1 rather than 1 sometimes.
|
|
|
|
|
|
|
|
* make.c (main): Made it print version info before doing anything else.
|
|
|
|
|
|
|
|
* remake.c (library_file_mtime, f_mtime): Removed use of last two
|
|
|
|
arguments to vpath_search.
|
|
|
|
|
|
|
|
* rule.c (pattern_search): Removed use of last two arguments
|
|
|
|
to vpath_search.
|
|
|
|
|
|
|
|
* vpath.c (vpath_search, selective_vpath_search): Removed unused
|
|
|
|
DIRPREFIX and DPLEN args.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Also turn off -n when updating makefiles.
|
|
|
|
|
|
|
|
Tue Sep 20 17:01:10 1988 Roland McGrath (mcgrath at pepper.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Makefile: Put tags files in the tarfile.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Get the modtime of the makefile via a stat
|
|
|
|
call so that a later file_mtime call won't do VPATH search for it.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Don't turn off -t and -q if the makefile
|
|
|
|
was a command-line target.
|
|
|
|
|
|
|
|
* make.c (main): Enter command-line targets as files and set their
|
|
|
|
`cmd_target' members.
|
|
|
|
|
|
|
|
* file.h (struct file): Added `cmd_target' member.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Temporarily turn off -t and -q while
|
|
|
|
updating makefiles.
|
|
|
|
|
|
|
|
* make.c (main): Don't use arg 0 from other_args (which is now
|
|
|
|
argv[0]; i.e., the program's name).
|
|
|
|
|
|
|
|
* read.c (read_makefile): Only return nonzero if commands were
|
|
|
|
actually run to remake the makefile.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Set FILE->updated to -1 if no commands
|
|
|
|
were actually run (because no update was done or -t was given).
|
|
|
|
|
|
|
|
* make.c (decode_switches): Fixed bug wherein xrealloc was passed
|
|
|
|
bad args if it tried to expand other_args->list.
|
|
|
|
|
|
|
|
* read.c (read_all_makefiles): Made it not look at the `MAKE'
|
|
|
|
variable, just use argv[0].
|
|
|
|
|
|
|
|
Sun Sep 18 17:34:11 1988 Roland McGrath (mcgrath at paris.Berkeley.EDU)
|
|
|
|
|
|
|
|
* read.c (rerun_make): New function to re-exec make.
|
|
|
|
|
|
|
|
* make.c (construct_makeflags, construct_argv): New functions to
|
|
|
|
construct the `MAKEFLAGS' variable and to construct an arg list from
|
|
|
|
parsed info.
|
|
|
|
|
|
|
|
* read.c (read_makefile): New arg UPDATEIT, if nonzero, says to
|
|
|
|
update the makefile as a target before reading it in. When reading
|
|
|
|
included makefiles, pass this as zero. Now returns nonzero if the
|
|
|
|
makefile was updated, zero if not.
|
|
|
|
(read_all_makefiles): Pass a nonzero UPDATEIT arg to read_makefile
|
|
|
|
for all default and -f makefiles and all makefiles from the
|
|
|
|
`MAKEFILES' variable. If any of the makefiles has changed, re-exec
|
|
|
|
self to re-read them.
|
|
|
|
|
|
|
|
* remake.c (update_file): Print a "File `foo' up to date'" message
|
|
|
|
under -p.
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): Allocate one byte for each of
|
|
|
|
$^ and $< rather than zero if they are to be empty.
|
|
|
|
|
|
|
|
Fri Sep 16 13:59:59 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.06.
|
|
|
|
|
|
|
|
* make.c (command_switches): Fixed entry for `-o' switch.
|
|
|
|
|
|
|
|
* make.texinfo: Renamed -c switch to -C.
|
|
|
|
|
|
|
|
* make.c: Renamed -c switch to -C.
|
|
|
|
|
|
|
|
* Miscellaneous de-linting.
|
|
|
|
|
|
|
|
* read.c (record_files): Made it not free the storage for the name
|
|
|
|
if it started with `./' and was therefore not quite the same as in
|
|
|
|
the `struct file'.
|
|
|
|
|
|
|
|
* read.c (record_files): If commands were specified twice, the error
|
|
|
|
message specifies in what files and at what line numbers.
|
|
|
|
|
|
|
|
* make.c (main): If any of the signals we usually fatal on were
|
|
|
|
ignored by the parent (probably a shell), ignore them.
|
|
|
|
|
|
|
|
* make.c (main): Print version info for -v, -p, or -d.
|
|
|
|
(print_data_base): Don't print version info. It will be done in main.
|
|
|
|
|
|
|
|
* variable.c: Increased number of hash buckets to 257.
|
|
|
|
|
|
|
|
* file.c: Increased number of hash buckets to 1007.
|
|
|
|
|
|
|
|
* rule.c (count_implicit_rule_limits): Moved comptation of
|
|
|
|
`maxsuffix' to convert_to_pattern, since that function uses
|
|
|
|
`maxsuffix', and must be called before count_implicit_rule_limits.
|
|
|
|
|
|
|
|
* rule.c (pattern_search): If an existent (non-intermediate)
|
|
|
|
dependendency was found via a terminal rule, set its
|
|
|
|
`tried_implicit' flag, so it will never have implicit rule search done.
|
|
|
|
|
|
|
|
* glob.c: Bug fix to avoid alloca(0).
|
|
|
|
|
|
|
|
* arscan.c: USG and Sun386i fixes.
|
|
|
|
|
|
|
|
Thu Sep 15 19:40:26 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.texinfo: Fixed some typos and spelling errors.
|
|
|
|
|
|
|
|
Wed Sep 7 14:20:39 1988 Roland McGrath (mcgrath at helen.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.c (decode_switches): Fixed bug wherein a bad option would
|
|
|
|
give a useless error message and loop forever.
|
|
|
|
|
|
|
|
Tue Sep 6 14:36:02 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.texinfo: Documented `shell' function.
|
|
|
|
|
|
|
|
* variable.c (expand_function): New function `shell', does
|
|
|
|
backquote-style command expansion of its arg.
|
|
|
|
|
|
|
|
* commands.c (execute_command_line): Second arg OUTBUF, if not nil,
|
|
|
|
gets filled in with a malloc'd buffer containing the piped stdout of
|
|
|
|
the command.
|
|
|
|
(execute_file_commands): Use above (pass nil).
|
|
|
|
|
|
|
|
Mon Sep 5 17:03:49 1988 Roland McGrath (mcgrath at hecuba.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Makefile: Added copyright notice.
|
|
|
|
Added a comment about defining `NO_MINUS_C_MINUS_O' if necessary.
|
|
|
|
|
|
|
|
* Version 3.05.
|
|
|
|
|
|
|
|
* rule.c (default_suffix_rules): Don't pass `-o' switches with `-c'
|
|
|
|
switches if `NO_MINUS_C_MINUS_O' is #define'd.
|
|
|
|
|
|
|
|
* make.texinfo: Documented `GNUmakefile'.
|
|
|
|
|
|
|
|
* read.c (read_all_makefiles): Made it try default makefile
|
|
|
|
`GNUmakefile' before others.
|
|
|
|
|
|
|
|
* make.texinfo: Added new-style Texinfo header thingies.
|
|
|
|
|
|
|
|
Sat Sep 3 18:09:39 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Version 3.04.
|
|
|
|
|
|
|
|
* make.texinfo (Chained Rules): Added a @cindex about using
|
|
|
|
.PRECIOUS to preserve intermediate files.
|
|
|
|
|
|
|
|
* remake.c (update_file_1): Made it not just return before executing
|
|
|
|
commands under -p.
|
|
|
|
|
|
|
|
* rule.c (default_pattern_rules, default_variables): Made it use
|
|
|
|
`$(AR)' for `ar r' (to put files in archives).
|
|
|
|
|
|
|
|
* vpath.c (build_vpath_lists): Made it recursively expand the
|
|
|
|
`VPATH' variable (by using variable_expand instead of lookup_variable).
|
|
|
|
|
|
|
|
* read.c (conditional_line): Made it not swallow whitespace after
|
|
|
|
the comma in an `ifeq' using the `(a,b)' syntax.
|
|
|
|
|
|
|
|
* rule.c (count_implicit_rule_limits): Made it not crash if a
|
|
|
|
pattern rule dep begins with `/'.
|
|
|
|
|
|
|
|
Sun Aug 28 15:51:12 1988 Roland McGrath (mcgrath at homer.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.texinfo: Clarified that the arg to the `origin' function is a
|
|
|
|
variable *name*, not a reference.
|
|
|
|
|
|
|
|
* make.texinfo: Clarified that both -Idir and -I dir are allowed.
|
|
|
|
|
|
|
|
Sat Aug 27 13:49:28 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* remake.c (remake_file): Made touching phonies work right.
|
|
|
|
|
|
|
|
Wed Aug 24 20:40:48 1988 Roland McGrath (mcgrath at nutmeg.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.texinfo: Removed reference to `RANLIB' variable.
|
|
|
|
|
|
|
|
* Version 3.03.
|
|
|
|
|
|
|
|
* variables.c (expand_function): Added `origin' function.
|
|
|
|
* make.texinfo: Documented same.
|
|
|
|
|
|
|
|
* read.c (record_files): Made double-colon entries work.
|
|
|
|
|
|
|
|
Sat Aug 20 21:09:39 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.c (collapse_continuations): Bug fix from RMS.
|
|
|
|
|
|
|
|
* rule.c (install_default_pattern_rules): Made it set the
|
|
|
|
`in_use' flag of the created rules to zero, rather than letting
|
|
|
|
it be random garbage.
|
|
|
|
|
|
|
|
* rule.c (pattern_search): Fixed putting `also make' targets into
|
|
|
|
file strucutres.
|
|
|
|
|
|
|
|
* read.c (record_files): Fixed bug which made double-colon entries
|
|
|
|
make it read off into space.
|
|
|
|
|
|
|
|
* make.c (decode_switches): Made it understand `ignored' switches
|
|
|
|
rather than dumping core.
|
|
|
|
|
|
|
|
Sun Aug 14 16:49:00 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* read.c (read_makefile): Made `include' filenames be
|
|
|
|
variable-expanded.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Fixed an error message.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Made it accept ^L's as whitespace.
|
|
|
|
* make.c (next_token, end_of_token): Ditto.
|
|
|
|
|
|
|
|
* vpath.c (vpath_search): Fixed it so that the general VPATH (from
|
|
|
|
the variable) is always checked, even if a selective VPATH (from a
|
|
|
|
directive) matched the filename.
|
|
|
|
|
|
|
|
Sat Aug 13 14:20:46 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.c (decode_switches, main): Made the command switches be
|
|
|
|
processed from a table of switches, variables, and types. No
|
|
|
|
functions are passed argc and argv any more. They are passed arrays
|
|
|
|
of strings they need to process.
|
|
|
|
* read.c (read_all_makefiles): Made it take an array rather than
|
|
|
|
argc and argv.
|
|
|
|
(construct_include_path): Ditto.
|
|
|
|
|
|
|
|
* make.c (collapse_continuations): Made it work right (I hope).
|
|
|
|
|
|
|
|
* make.texinfo: Minor editorial changes.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Minor speed improvement by freeing and
|
|
|
|
then mallocing something rather than reallocing it to avoid the
|
|
|
|
unnecessary bcopy.
|
|
|
|
|
|
|
|
Thu Aug 11 00:10:43 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.texinfo: Fixed some unquoted @'s.
|
|
|
|
|
|
|
|
* make.texinfo: Documented multiple-target pattern rules.
|
|
|
|
Miscellaneous minor editorial changes and corrections.
|
|
|
|
|
|
|
|
* make.texinfo (Implicit: Catalogue of Rules): Removed the list of
|
|
|
|
variables. That's what the next section is for.
|
|
|
|
(Implicit: Implicit Variables): Made it agree with reality.
|
|
|
|
|
|
|
|
Wed Aug 10 00:55:39 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* variable.c (print_variable_data_base): Fixed bug which made -p
|
|
|
|
dump core. (This was a really idiotic bug.)
|
|
|
|
|
|
|
|
* rule.c (pattern_search): Fixed a bug which made it make the
|
|
|
|
`also_make' member of the file in question nil if the first of
|
|
|
|
the successful rule's targets was the matching one.
|
|
|
|
Made it use only as much storage as necessary in the `also_make'
|
|
|
|
member.
|
|
|
|
(create_pattern): Made it use only as much storage as necessary in
|
|
|
|
the `lens' and `suffixes' members of the created rule.
|
|
|
|
|
|
|
|
* remake.c (library_file_mtime): Made it `static'.
|
|
|
|
|
|
|
|
* file.c: Added a declaration for `errno', which is declared in some
|
|
|
|
<errno.h>'s, but not all.
|
|
|
|
|
|
|
|
* file.h (struct file): Added `also_make' member for multiple-target
|
|
|
|
implicit rules.
|
|
|
|
* rule.c (pattern_search): Made it put the names of files updated by
|
|
|
|
the given file's commands in its `also_make' member.
|
|
|
|
* remake.c (update_file_1): Made it mark the files in a file's
|
|
|
|
`also_make' member as updated when the file is updated.
|
|
|
|
|
|
|
|
* variable.c (try_variable_definition): Fixed a bug which made it
|
|
|
|
define a variable with the name of the whole definition when there
|
|
|
|
was no space before the = or :=.
|
|
|
|
|
|
|
|
* make.texinfo (Features): Made the changes which were made in RCS
|
|
|
|
revision 2.7 but somehow lost since then. Added -W.
|
|
|
|
|
|
|
|
Tue Aug 9 10:04:50 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* variable.h: Added `o_default' to `enum variable_origin'.
|
|
|
|
* variable.c (print_variable_data_base): Made it print the origins of
|
|
|
|
the variables.
|
|
|
|
* rule.c (install_default_pattern_rules): Made it define the default
|
|
|
|
variables with origin `o_default'.
|
|
|
|
|
|
|
|
* make.texinfo: Documented -W.
|
|
|
|
|
|
|
|
* make.c (decode_switches, main): Added the -W flag to give files a
|
|
|
|
time-stamp of now, for a `what if' effect when used with -n.
|
|
|
|
|
|
|
|
* commands.c (print_commands): Made it say `(built-in)' for commands
|
|
|
|
that are built into the default ruleset.
|
|
|
|
|
|
|
|
* read.c (record_file): Made .SUFFIXES get its deps frontwards (again).
|
|
|
|
* rule.c (set_default_suffixes, convert_to_pattern): Made it read
|
|
|
|
.SUFFIXES's deps frontwards, so the converted rules will not be in
|
|
|
|
reverse order.
|
|
|
|
|
|
|
|
* rule.c (new_pattern_rule): Fixed a bug wherein it would keep
|
|
|
|
searching after it had removed a matching rule and ended up diddling
|
|
|
|
with freed storage.
|
|
|
|
|
|
|
|
* rule.c (freerule): Made it take the given rule off the chain.
|
|
|
|
(new_pattern_rule, count_implicit_rule_limits): Use freerule to
|
|
|
|
remove rules from the chain.
|
|
|
|
|
|
|
|
* vpath.c (construct_vpath_list): Made it return after cleaning out
|
|
|
|
all previous searchpaths when given a nil DIRPATH arg, so it won't
|
|
|
|
go into the construction code and dump core dereferencing a nil
|
|
|
|
pointer.
|
|
|
|
|
|
|
|
* variable.c (patsubst_expand): Fixed a bug which made it not match
|
|
|
|
correctly and sometimes dump core.
|
|
|
|
|
|
|
|
Mon Aug 8 16:35:48 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* rule.c (default_suffix_rules): Made the .texinfo.dvi rule remove
|
|
|
|
the files used in the comparison to determine whether or not a
|
|
|
|
second TeX run is necessary.
|
|
|
|
|
|
|
|
* make.texinfo: Fixed some overfull TeX hboxes.
|
|
|
|
|
|
|
|
* make.texinfo (Implicit: Catalogue of Rules): Fixed a Texinfo error.
|
|
|
|
|
|
|
|
* rule.c (create_pattern_rule): Fixed bug wherein index was not
|
|
|
|
being passed its second arg.
|
|
|
|
|
|
|
|
* read.c (getline): Merged back into readline.
|
|
|
|
|
|
|
|
* rule.c (default_suffixes, default_suffix_rules,
|
|
|
|
default_variables): Added .texinfo.info rule.
|
|
|
|
* make.texinfo (Implicit: Catalogue of Rules): Documented
|
|
|
|
.texinfo.dvi and .texinfo.info rules.
|
|
|
|
|
|
|
|
* make.texinfo (Top): Changed `last updated' date to be correct (for
|
|
|
|
the last time it was updated, not today). Changed `for version
|
|
|
|
3.00' since it's not going to be called that.
|
|
|
|
|
|
|
|
Sat Aug 6 19:51:10 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* commands.c (print_commands): Added this function to print the
|
|
|
|
contents of a `struct commands' for -p.
|
|
|
|
* rule.c (print_rule_data_base): Use above.
|
|
|
|
* file.c (print_file_data_base): Ditto.
|
|
|
|
|
|
|
|
* rule.c (count_implicit_rule_limits, new_pattern_rule,
|
|
|
|
install_pattern_rule, print_rule_data_base): Made it understand the
|
|
|
|
changed `struct rule' and act accordingly.
|
|
|
|
(freerule): Added this function to free all the storage used by a rule.
|
|
|
|
|
|
|
|
* rule.c (pattern_search): Made it grok multiple targets of pattern
|
|
|
|
rules. The matching is done properly, but at present, only the
|
|
|
|
matching pattern's target is used to give deps and commands.
|
|
|
|
|
|
|
|
Fri Aug 5 18:00:29 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* rule.c (struct rule): Changed name, namelen, and patsuffix members
|
|
|
|
to targets, lens, and suffixes, which are arrays, for multiple targets.
|
|
|
|
(create_pattern_rule): Now takes first arg TARGETS, a nil-terminated
|
|
|
|
array of targets, rather than a single target and patsuffix pointer.
|
|
|
|
|
|
|
|
* read.c (record_files): If it finds an implicit pattern rule, it
|
|
|
|
collects all the targets into an array and passes the whole thing to
|
|
|
|
create_pattern_rule. If there are non-pattern targets, it is a
|
|
|
|
fatal error.
|
|
|
|
|
|
|
|
Tue Aug 2 15:06:38 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.c (readline): Split backslash-newline checking from reading
|
|
|
|
and buffer-expanding.
|
|
|
|
(getline): Created to do the reading and buffer-expanding formerly
|
|
|
|
done in readline.
|
|
|
|
|
|
|
|
* rule.c (pattern_search): Made it reject nonterminal match-anything
|
|
|
|
rules when a specific rule has matched, rather than rejecting
|
|
|
|
terminal match-anything rules in this case.
|
|
|
|
|
|
|
|
* rule.c (convert_to_pattern): Fixed a bug caused when the change to
|
|
|
|
make it only recognize two-suffix rules whose target suffixes
|
|
|
|
precede their dependency suffixes which made it work in the opposite
|
|
|
|
direction (even worse than it started out).
|
|
|
|
|
|
|
|
* rule.c (pattern_search): Made it reject nonterminal match-anything
|
|
|
|
rules as intermediate targets when searching for both real and
|
|
|
|
intermediate dependencies, rather than only when searching for
|
|
|
|
intermediate ones.
|
|
|
|
|
|
|
|
Sun Jul 31 00:33:56 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* rule.c (convert_to_pattern): Made it only recognize two-suffix
|
|
|
|
rules whose target suffix comes before the dependency suffix in the
|
|
|
|
.SUFFIXES list.
|
|
|
|
|
|
|
|
* variable.c (define_automatic_variables): Made all automatic
|
|
|
|
variables be defined with origin `o_automatic'.
|
|
|
|
|
|
|
|
* variable.h: Added `o_automatic' to `enum variable_origin'
|
|
|
|
|
|
|
|
* file.c (remove_intermediates): Made it not print an error message
|
|
|
|
if the error was that the file does not exist.
|
|
|
|
|
|
|
|
* rule.c: Removed `recursive' member from `struct rule'.
|
|
|
|
|
|
|
|
* remake.c (library_file_mtime): Made it not use the directory hash
|
|
|
|
functions, as reading in and hashing /usr/lib and /lib is slow and
|
|
|
|
most likely unnecessary.
|
|
|
|
|
|
|
|
* remake.c (remake_file): Changed message from ``No specification
|
|
|
|
for making'' to ``No way to make'' so it will be short enough that
|
|
|
|
most filenames will fit on a line.
|
|
|
|
Made it look at the `recursive' member of the `struct commands',
|
|
|
|
rather than of the `struct file' (which no longer has one).
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): Made it look at the
|
|
|
|
`recursive' member of the `struct commands', rather than of the
|
|
|
|
`struct file' (which no longer has one).
|
|
|
|
|
|
|
|
* file.h: Removed `recursive' member from `struct file'.
|
|
|
|
|
|
|
|
* commands.h: Added `recursive' member to `struct commands'.
|
|
|
|
|
|
|
|
* dep.h: Removed unused `quotedparen' member from `struct nameseq'
|
|
|
|
and `struct dep'.
|
|
|
|
|
|
|
|
* read.c (dequote): Removed this function.
|
|
|
|
(multi_glob): Removed reference to `quotedparen' member of
|
|
|
|
a `struct nameseq' and calls to dequote.
|
|
|
|
|
|
|
|
* read.c (record_files): Made it set the stem for $* for all static
|
|
|
|
pattern rules, not just those with commands given at that time.
|
|
|
|
Removed check for recursive commands.
|
|
|
|
Made it check for pairs of .SUFFIXES dependencies to reject as
|
|
|
|
default goals as well as single ones (that don't start with dots).
|
|
|
|
(read_makefile): Added checks for recursive commands to set
|
|
|
|
the `recursive' flag in the `struct commands'.
|
|
|
|
|
|
|
|
Sat Jul 30 15:47:23 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.c (find_next_token): Made the LENGTHPTR arg optionally nil.
|
|
|
|
|
|
|
|
* make.c: Removed `files_made' variable which is defined static in
|
|
|
|
remake.c and used only there.
|
|
|
|
(main): Cleaned up somewhat.
|
|
|
|
(decode_switches): Cleaned up a bit. Made an unknown option be a
|
|
|
|
non-fatal error.
|
|
|
|
(decode_env_switches): Made LEN arg unsigned. Cleaned up.
|
|
|
|
(print_version): Made it say ``see the source'' rather than ``see
|
|
|
|
the source file'', since there is more than one.
|
|
|
|
|
|
|
|
* file.h: Made `num_intermediates' declared unsigned.
|
|
|
|
|
|
|
|
* file.c: Made `num_intermediates' variable unsigned.
|
|
|
|
(remove_intermediates): Removed unused FORMAT arg.
|
|
|
|
(enter_file): Made it handle double-colon files properly, adding the
|
|
|
|
new entry as the old entry's prev pointer.
|
|
|
|
|
|
|
|
* dir.c: Re-indented the `struct dir' definition to be right.
|
|
|
|
(dir_load): Cleaned up slighty.
|
|
|
|
(file_exists_p): Removed comment saying we could use `access', since
|
|
|
|
that is a bad idea (except for setuid programs). Cleaned up slightly.
|
|
|
|
|
|
|
|
* commands.c: Changed some comments slightly.
|
|
|
|
(execute_file_commands): Cleaned up a bit. Changed some comments,
|
|
|
|
added others. Moved freeing of storage for $^ and $? to the same
|
|
|
|
place as for the other automatic variables.
|
|
|
|
(execute_command_line): Made `#' trigger a shell.
|
|
|
|
Added some comments. Cleaned up a bit. Put all the special chars
|
|
|
|
that trigger shells into an array easily changeable at the top.
|
|
|
|
|
|
|
|
* ar.c: Added comments explaining each function.
|
|
|
|
(ar_scan_1): Merged into ar_member_date.
|
|
|
|
(ar_member_date): Changed call to ar_scan_1 to the body of that
|
|
|
|
function.
|
|
|
|
(ar_member_date_1): Simplified to a ?: expression rather than an
|
|
|
|
if-else statement.
|
|
|
|
(ar_member_touch): Changed error handling around a bit.
|
|
|
|
None of these errors are fatal now.
|
|
|
|
|
|
|
|
* variable.c (subst_expand): Added a new arg BY_WORD, to do substs
|
|
|
|
only on full words.
|
|
|
|
(patsubst_expand): Fixed bug which made calls whose patterns
|
|
|
|
contained no `%' to not work correctly, by using above.
|
|
|
|
(variable_expand): Pass extra arg to `subst_expand'.
|
|
|
|
|
|
|
|
* variable.c (expand_function): Fixed bug which made `foreach' calls
|
|
|
|
with one-word lists run off into never-never land.
|
|
|
|
|
|
|
|
Fri Jul 29 20:12:36 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* variable.c (expand_function): Made a very minor speed improvement
|
|
|
|
by avoiding an unnecessary strlen call.
|
|
|
|
|
|
|
|
Wed Jul 27 16:01:47 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* rule.c (default_suffixes): Rearranged the list somewhat; added
|
|
|
|
`.el' and `.elc' to speed things up (especially when building
|
|
|
|
Emacs), for the same reason `.h' is there.
|
|
|
|
|
|
|
|
* read.c (record_files): Changed `lineno' from `long' to
|
|
|
|
`unsigned int'.
|
|
|
|
|
|
|
|
Sun Jul 24 02:15:30 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* variable.c (expand_function): Eliminated use of `wstok'
|
|
|
|
because it is non-reentrant and unreliable.
|
|
|
|
Fixed a minor bug which would cause something not to be freed.
|
|
|
|
* make.c (wstok): Removed `wstok' because it is no longer used.
|
|
|
|
|
|
|
|
* variable.c (expand_function): Made `foreach' function put
|
|
|
|
spaces between output texts like it's supposed to.
|
|
|
|
|
|
|
|
Sat Jul 23 17:32:55 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* rule.c (default_suffixes, default_suffix_rules): Added rule
|
|
|
|
to make %.dvi from %.texinfo.
|
|
|
|
|
|
|
|
* dir.c (print_dir_data_base): Made it say a bit more.
|
|
|
|
|
|
|
|
Fri Jul 22 23:13:16 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* make.c (print_data_base): Split this function up into one
|
|
|
|
for each thing.
|
|
|
|
* variable.c (print_variable_data_base): One of the above.
|
|
|
|
* rule.c (print_rule_data_base): Ditto.
|
|
|
|
* file.c (print_file_data_base): Ditto.
|
|
|
|
* dir.c (print_dir_data_base): Ditto.
|
|
|
|
|
|
|
|
* rule.c (install_pattern_rule): Fixed a bug which caused the
|
|
|
|
terminal and recursive flags to always be zero for rules
|
|
|
|
entered by this function.
|
|
|
|
|
|
|
|
* make.texinfo (Rules: Double-colon): Added a paragraph
|
|
|
|
explaining the purpose of double-colon rules.
|
|
|
|
|
|
|
|
* make.texinfo (Implicit: Catalogue of Rules): Updated to
|
|
|
|
reflect new C++, TeX, Web, and Texinfo rules. Other slight
|
|
|
|
editorial changes.
|
|
|
|
|
|
|
|
* commands.c (execute_file_commands): Fixed a bug wherein
|
|
|
|
random memory could get written for files with no deps.
|
|
|
|
|
|
|
|
Wed Jul 20 19:30:31 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* read.c (readline): Fix bug wherein it would not recognize a
|
|
|
|
backslash-newline if the buffer filled up and was enlarged
|
|
|
|
right before reading the newline.
|
|
|
|
|
|
|
|
Tue Jul 19 19:55:02 1988 Roland McGrath (mcgrath at chilli.Berkeley.EDU)
|
|
|
|
|
|
|
|
* read.c: Added default suffix rules for .cc (using $(C++),
|
|
|
|
which defaults to `g++', and $(C++FLAGS)), .tex, .dvi, .web
|
|
|
|
and .cweb (using $(TEX), $(WEAVE), $(TANGLE), $(CWEAVE) and
|
|
|
|
$(CTANGLE)).
|
|
|
|
|
|
|
|
Sat Jul 16 21:24:28 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Made error formats use %u rather than %ld for line numbers,
|
|
|
|
which are now unsigned int's rather than long's.
|
|
|
|
|
|
|
|
* read.c (conditional_line): Fixed some bugs caused by use of
|
|
|
|
unsigned int rather than int in one place.
|
|
|
|
|
|
|
|
* read.c (conditional_line): Put the info about active
|
|
|
|
conditionals in a struct.
|
|
|
|
(read_makefile): Make a new struct of info about conditionals
|
|
|
|
for included makefiles and restore the old one after the
|
|
|
|
included makefile has been read.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Don't try to read a makefile with
|
|
|
|
name "" after giving an error message because an `include'
|
|
|
|
directive gave no filename.
|
|
|
|
|
|
|
|
* read.c (read_makefile): Give an error message for
|
|
|
|
non-whitespace text after the filename in an `include' directive.
|
|
|
|
|
|
|
|
* make.c (error): Take five args, like `fatal'. It managed to
|
|
|
|
lose with only two. Is there a better way to do this without vfprintf?
|
|
|
|
|
|
|
|
* read.c (read_makefile): Commands consisting of only
|
|
|
|
whitespace are not the same as no commands. I thought I'd
|
|
|
|
fixed this bug months ago; it seems to have come back.
|
|
|
|
|
|
|
|
* make.c (collapse_continuations): All whitespace around a
|
|
|
|
backslash-newline combination is turned into a single space.
|
|
|
|
|
|
|
|
* Added COPYING file and copyright notices to all files.
|
|
|
|
|
|
|
|
* make.texinfo (Running: Goals): Fix a typo.
|
|
|
|
|
|
|
|
* read.c (do_define): Take an arg for the origin of the
|
|
|
|
variable being defined.
|
|
|
|
(read_makefile): Grok `override define'.
|
|
|
|
|
|
|
|
* make.texinfo (Variables: Override Directive, Defining):
|
|
|
|
Document the `override define' combination directive.
|
|
|
|
|
|
|
|
* ar.c (ar_member_date): Make a 0 return from `ar_scan' return
|
|
|
|
(time_t) -1 (nonexistent file), rather than (time_t) 0, which,
|
|
|
|
when put in the `struct file', makes `file_mtime' try to get
|
|
|
|
the mtime over and over again.
|
|
|
|
|
|
|
|
* variable.c (pattern_matches): Fix a bug that made patterns
|
|
|
|
not beginning with `%' never match.
|
|
|
|
|
|
|
|
Fri Jul 15 21:01:44 1988 Roland McGrath (mcgrath at tully.Berkeley.EDU)
|
|
|
|
|
|
|
|
* Took Make out of RCS.
|
|
|
|
|
|
|
|
* Split the monolithic `make.c' into several smaller files.
|