summaryrefslogtreecommitdiff
path: root/remake.c
AgeCommit message (Collapse)AuthorFilesLines
1999-02-22* New feature: .LIBPATTERNS controls the way -lfoo dependencies are expanded.Paul Smith1-52/+83
* A few tweaks to the system glob test, after trying it on a system where it's true. * Installed patches to archive handling for AIX 4.3 big archives. * Fix a memory stomp in target-specific variables. * Fix a memory leak in foreach functions.
1998-10-03Checkpoint changes. Bug fixes, mostly.Paul Smith1-48/+49
1998-07-30GNU make release 3.77.Paul Smith1-55/+82
1997-08-27Updates for GNU make 3.75.92.Paul Smith1-18/+10
1997-08-18Bug fixes and automake changes.Paul Smith1-29/+37
1997-04-07Changes for make 3.75.1Paul Smith1-16/+90
1996-07-20Sat Jul 20 12:32:10 1996 Klaus Kämpf (kkaempf@progis.de)Roland McGrath1-0/+1
* remake.c (f_mtime) [VMS]: Add missing `if' conditional for future modtime check. * config.h-vms, makefile.vms, readme.vms, vmsify.c: Update address.
1996-07-14Sun Jul 14 12:59:27 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath1-16/+7
* remake.c (f_mtime): Don't compare MTIME to NOW if MTIME == -1.
1996-05-22Wed May 15 10:14:14 CDT 1996 Rob Tulloh <tulloh@tivoli.com>Roland McGrath1-0/+10
* dir.c: WIN32 does not support inode. For now, fully qualified pathname along with st_mtime will be keys for files. Fixed problem where vpath can be confused when files are added to a directory after the directory has already been read in. The code now attempts to reread the directory if it discovers that the datestamp on the directory has changed since it was cached by make. This problem only seems to occur on WIN32 right now so it is lumped under port #ifdef WIN32. * function.c: WIN32: call subproc library (CreateProcess()) instead of fork/exec. * job.c: WIN32: Added the code to do fork/exec/waitpid style processing on WIN32 systems via calls to subproc library. * main.c: WIN32: Several things added here. First, there is code for dealing with PATH and SHELL defaults. Make tries to figure out if the user has %PATH% set in the environment and sets it to %Path% if it is not set already. Make also looks to see if sh.exe is anywhere to be found. Code path through job.c will change based on existence of a working Bourne shell. The checking for default shell is done twice: once before makefiles are read in and again after. Fall back to MSDOS style execution mode if no sh.exe is found. Also added some debug support that allows user to pause make with -D switch and attach a debugger. This is especially useful for debugging recursive calls to make where problems appear only in the sub-make. * make.h: WIN32: A few macros and header files for WIN32 support. * misc.c: WIN32: Added a function end_of_token_w32() to assist in parsing code in read.c. * read.c: WIN32: Fixes similar to MSDOS which allow colon to appear in filenames. Use of colon in filenames would otherwise confuse make. * remake.c: WIN32: Added include of io.h to eliminate compiler warnings. Added some code to default LIBDIR if it is not set on WIN32. * variable.c: WIN32: Added support for detecting Path/PATH and converting them to semicolon separated lists for make's internal use. New function sync_Path_environment() which is called in job.c and function.c before creating a new process. Caller must set Path in environment since we don't have fork() to do this for us. * vpath.c: WIN32: Added detection for filenames containing forward or backward slashes. * NMakefile: WIN32: Visual C compatible makefile for use with nmake. Use this to build GNU make the first time on Windows NT or Windows 95. * README.WIN32: WIN32: Contains some helpful notes. * build_w32.bat: WIN32: If you don't like nmake, use this the first time you build GNU make on Windows NT or Windows 95. * config.h.WIN32: WIN32 version of config.h * subproc.bat: WIN32: A bat file used to build the subproc library from the top-level NMakefile. Needed because WIndows 95 (nmake) doesn't allow you to cd in a make rule. * w32/include/dirent.h * w32/compat/dirent.c: WIN32: opendir, readdir, closedir, etc. * w32/include/pathstuff.h: WIN32: used by files needed functions defined in pathstuff.c (prototypes). * w32/include/sub_proc.h: WIN32: prototypes for subproc.lib functions. * w32/include/w32err.h: WIN32: prototypes for w32err.c. * w32/pathstuff.c: WIN32: File and Path/Path conversion functions. * w32/subproc/build.bat: WIN32: build script for subproc library if you don't wish to use nmake. * w32/subproc/NMakefile: WIN32: Visual C compatible makefile for use with nmake. Used to build subproc library. * w32/subproc/misc.c: WIN32: subproc library support code * w32/subproc/proc.h: WIN32: subproc library support code * w32/subproc/sub_proc.c: WIN32: subproc library source code * w32/subproc/w32err.c: WIN32: subproc library support code
1996-05-09Thu May 9 13:54:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath1-0/+10
* GNUmakefile (globfiles): Add AmigaDOS support files. (distfiles): Add $(amigafiles). (amigafiles): New variable. Thu Nov 7 10:18:16 1995 Aaron Digulla <digulla@fh-konstanz.de> * Added Amiga support in commands.c, dir.c, function.c, job.c, main.c, make.h, read.c, remake.c * commands.c: Amiga has neither SIGHUP nor SIGQUIT * dir.c: Amiga has filenames with Upper- and Lowercase, but "FileName" is the same as "filename". Added strieq() which is use to compare filenames. This is like streq() on all other systems. Also there is no such thing as "." under AmigaDOS. * function.c: On Amiga, the environment is not passed as envp, there are no pipes and Amiga can't fork. Use my own function to create a new child. * job.c: default_shell is "" (The system automatically chooses a shell for me). Have to use the same workaround as MSDOS for running batch commands. Added HAVE_SYS_PARAM_H. NOFILE isn't known on Amiga. Cloned code to run children from MSDOS. Own version of sh_chars[] and sh_cmds[]. No dup2() or dup() on Amiga. * main.c: Force stack to 20000 bytes. Read environment from ENV: device. On Amiga, exec_command() does return, so I exit() afterwards. * make.h: Added strieq() to compare filenames. * read.c: Amiga needs special extension to have passwd. Only one include-dir. "Makefile" and "makefile" are the same. Added "SMakefile". Added special code to handle device names (xxx:) and "./" in rules. * remake.c: Only one lib-dir. Amiga link-libs are named "%s.lib" instead of "lib%s.a". * main.c, rule.c, variable.c: Avoid floats at all costs. * vpath.c: Get rid of as many alloca()s as possible.
1996-03-20Tue Mar 19 20:21:34 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>Roland McGrath1-10/+42
Merged VMS port from Klaus Kaempf <kkaempf@didymus.rmi.de>. * make.h (PARAMS): New macro. * config.h-vms: New file. * makefile.com: New file. * makefile.vms: New file. * readme.vms: New file. * vmsdir.h: New file. * vmsfunctions.c: New file. * vmsify.c: New file. * file.h: Renamed to filedef.h to avoid conflict with VMS system hdr. * ar.c: Added prototypes and changes for VMS. * commands.c: Likewise. * commands.h: Likewise. * default.c: Likewise. * dep.h: Likewise. * dir.c: Likewise. * expand.c: Likewise. * file.c: Likewise. * function.c: Likewise. * implicit.c: Likewise. * job.c: Likewise. * job.h: Likewise. * main.c: Likewise. * make.h: Likewise. * misc.c: Likewise. * read.c: Likewise. * remake.c: Likewise. * remote-stub.c: Likewise. * rule.c: Likewise. * rule.h: Likewise. * variable.c: Likewise. * variable.h: Likewise. * vpath.c: Likewise. * compatMakefile (srcs): Rename file.h to filedef.h.
1996-03-20Sat Aug 19 23:11:00 1995 Richard Stallman <rms@mole.gnu.ai.mit.edu>Roland McGrath1-38/+67
* remake.c (check_dep): For a secondary file, try implicit and default rules if appropriate. Wed Aug 2 04:29:42 1995 Richard Stallman <rms@mole.gnu.ai.mit.edu> * remake.c (check_dep): If an intermediate file exists, do consider its actual date.
1996-03-01Fri Mar 1 12:04:47 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>Roland McGrath1-9/+9
* remake.c (f_mtime): Move future modtime check before FILE is clobbered by :: loop.
1996-02-29Wed Feb 28 03:56:20 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>Roland McGrath1-1/+22
* remake.c (f_mtime): Check for future timestamps; give error and mark file as "failed to update".
1995-12-12Use plain stat instead of safe_stat.Roland McGrath1-1/+1
1995-11-26Pass new arg in `message' calls.Roland McGrath1-9/+5
1995-11-22(touch_file): Removing newline from message string.Roland McGrath1-1/+1
1995-11-21(touch_file): Use message instead of printf.Roland McGrath1-5/+2
1995-04-08(notice_finished_file): Set FILE->update_status to zero if it's -1.Roland McGrath1-1/+7
1995-03-24(update_file_1): Handle FILE->update_status == 2 in -d printout.Roland McGrath1-2/+5
1995-03-24(remake_file): Set update_status to 2 instead of 1 for no rule to make.Roland McGrath1-4/+18
Mention parent (dependent) in error message.
1995-01-27(update_file_1): When !MUST_MAKE, don't set FILE->update_status to zeroRoland McGrath1-7/+9
before calling notice_finished_file. (notice_finished_file): Touch only when FILE->update_status is zero. (remake_file): Set FILE->update_status to zero after not calling execute_file_command and deciding to touch instead.
1994-12-05(update_file_1): Do set_command_state (FILE, cs_not_started) only if old3.72.3Roland McGrath1-1/+10
state was deps_running.
1994-11-23(notice_finished_file): Only mark also_make's as updated if really ranRoland McGrath1-1/+1
cmds.
1994-09-10Include <assert.h> and use assert instead of printfs and abort.Roland McGrath1-9/+4
1994-09-07(notice_finished_file): Only recheck modtimes if FILE->command_state wasRoland McGrath1-6/+5
cs_running on entry (meaning the commands actually just ran). (update_file_1): Whenever we set FILE->update_status, call notice_finished_file instead of just set_command_state.
1994-09-07Changed all assignments of command_state members to calls toRoland McGrath1-5/+5
set_command_state.
1994-07-04(name_mtime): Use safe_stat in place of stat.Roland McGrath1-2/+10
(touch_file) [EINTR]: Do EINTR looping around fstat.
1994-04-22(update_goal_chain): Reset FILE to G->file after the double-colon loop so3.70.3Roland McGrath1-0/+3
it is never null for following code.
1994-04-21(update_goal_chain): Set STATUS to FILE->update_status, to preserve whetherRoland McGrath1-3/+8
it's 2 for error or 1 for -q trigger. When STATUS gets nonzero and -q is set, always stop immediately.
1994-04-05(update_goal_chain): Do inner loop on double-colon entries.Roland McGrath1-89/+109
(update_file): Use FILE->double_colon pointer to find all entries. (f_mtime): Likewise. (notice_finished_file): Propagate mtime change to all entries.
1994-03-23entered into RCSRoland McGrath1-2/+2
1993-10-27Formerly remake.c.~52~Roland McGrath1-1/+1
1993-10-26Formerly remake.c.~51~Roland McGrath1-1/+1
1993-09-17Formerly remake.c.~50~Roland McGrath1-9/+7
1993-04-12Formerly remake.c.~49~Roland McGrath1-5/+3
1993-03-08Formerly remake.c.~48~Roland McGrath1-2/+2
1993-02-08Formerly remake.c.~47~Roland McGrath1-7/+19
1993-02-05Formerly remake.c.~46~Roland McGrath1-2/+11
1993-01-26Formerly remake.c.~45~Roland McGrath1-5/+6
1993-01-25Formerly remake.c.~44~Roland McGrath1-25/+45
1993-01-22Formerly remake.c.~43~Roland McGrath1-6/+10
1993-01-21Formerly remake.c.~42~Roland McGrath1-9/+10
1993-01-15Formerly remake.c.~41~Roland McGrath1-2/+3
1992-12-22Formerly remake.c.~40~Roland McGrath1-1/+8
1992-12-09Formerly remake.c.~39~Roland McGrath1-13/+28
1992-11-09Formerly remake.c.~38~Roland McGrath1-3/+1
1992-10-25Formerly remake.c.~37~Roland McGrath1-30/+22
1992-10-25Formerly remake.c.~36~Roland McGrath1-0/+6
1992-09-09Formerly remake.c.~35~Roland McGrath1-4/+17