| Tue Oct 29 20:57:36 1991 Roland McGrath ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * make.h [uts]: #undef S_ISREG and S_ISDIR if defined. |
| |
| Fri Oct 25 19:50:39 1991 Roland McGrath ([email protected]) |
| |
| * Version 3.60.17. |
| |
| Thu Oct 24 16:58:36 1991 Roland McGrath ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * Version 3.60.15. |
| |
| Fri Oct 18 15:26:55 1991 Roland McGrath ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * Version 3.60.14. |
| |
| Fri Oct 11 16:23:52 1991 Roland McGrath ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * make.h [NeXT]: <string.h> instead of <strings.h>. |
| |
| Fri Oct 4 16:05:41 1991 Roland McGrath ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * compatMakefile (glob/libglob.a): Pass CC value to submake. |
| |
| Thu Sep 26 00:08:15 1991 Roland McGrath ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * make.h: No text after #endif. |
| |
| Sun Sep 15 16:20:46 1991 Roland McGrath ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * Version 3.60.6. |
| |
| Fri Aug 30 19:34:04 1991 Roland McGrath ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * compatMakefile: Added comment that -lPW alloca is broken on HPUX. |
| |
| Thu Jul 18 03:10:41 1991 Roland McGrath ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * function.c (expand_function: `filter'/`filter-out'): Fixed to not |
| loop infinitely. |
| |
| Fri Jul 12 12:18:12 1991 Roland McGrath ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * Version 3.60.3. |
| |
| Mon Jul 1 16:58:30 1991 Roland McGrath ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * job.c [POSIX] (search_path): Do real 1003.1 goop to get NGROUPS_MAX. |
| |
| Wed Jun 26 11:04:44 1991 Roland McGrath ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * main.c (main): Quote ; in MAKEOVERRIDES. |
| |
| Tue Jun 18 13:56:30 1991 Roland McGrath ([email protected]) |
| |
| * compatMakefile: Fixed typo in comment. |
| |
| Tue Jun 11 00:14:59 1991 Roland McGrath ([email protected]) |
| |
| * Version 3.60.2. |
| |
| Mon Jun 10 14:46:37 1991 Roland McGrath ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * Version 3.60.1. |
| |
| * make.h (SIGNAL): Cast handler arg to SIGHANDLER type. |
| |
| Wed Jun 5 06:00:43 1991 Roland McGrath ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * default.c (default_variables) [pyr]: PC = pascal. |
| |
| Tue May 28 20:24:56 1991 Roland McGrath ([email protected]) |
| |
| * variable.c (print_variable): Put a newline before `endef'. |
| |
| Sat May 25 02:39:52 1991 Roland McGrath ([email protected]) |
| |
| * Version 3.60. |
| |
| Wed May 22 19:41:37 1991 Roland McGrath ([email protected]) |
| |
| * Version 3.59.5. |
| |
| Thu May 16 13:59:24 1991 Roland McGrath ([email protected]) |
| |
| * 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 ([email protected]) |
| |
| * remake.c [sgi]: Don't include <sys/file.h>. |
| |
| Wed May 8 01:54:08 1991 Roland McGrath ([email protected]) |
| |
| * 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 [email protected] |
| to [email protected]. |
| |
| 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' accordingly. |
| |
| 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_function_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) |
| dependency 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 slightly. |
| (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. |
| |
| |
| |
| Copyright (C) 1988-2009 Free Software Foundation, Inc. |
| This file is part of GNU Make. |
| |
| GNU Make is free software; you can redistribute it and/or modify it under the |
| terms of the GNU General Public License as published by the Free Software |
| Foundation; either version 3 of the License, or (at your option) any later |
| version. |
| |
| GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY |
| WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR |
| A PARTICULAR PURPOSE. See the GNU General Public License for more details. |
| |
| You should have received a copy of the GNU General Public License along with |
| this program. If not, see <http://www.gnu.org/licenses/>. |