1*219b2ee8SDavid du Colombier char *xxxvers = "\n@(#) MAKE. VERSION 2.78 22 MAY 1986\n" ; 2*219b2ee8SDavid du Colombier static char *sccsid = "@(#)ident.c 8th Edition (Bell Labs) 85/10/28"; 3*219b2ee8SDavid du Colombier 4*219b2ee8SDavid du Colombier /* 5*219b2ee8SDavid du Colombier 2.1 4/24/76 Base version 6*219b2ee8SDavid du Colombier 7*219b2ee8SDavid du Colombier 2.2 4/26/76 Error found by SRB in overriding pattern rules; 8*219b2ee8SDavid du Colombier corrected gram.y 9*219b2ee8SDavid du Colombier 10*219b2ee8SDavid du Colombier 2.3 4/27/76 Further correction for overriding pattern rules; 11*219b2ee8SDavid du Colombier corrected doname.c 12*219b2ee8SDavid du Colombier 13*219b2ee8SDavid du Colombier 2.4 Removed .CLEAR name, added .IGNORE. 14*219b2ee8SDavid du Colombier A .SUFFIXES rule without dependents clears the list 15*219b2ee8SDavid du Colombier 16*219b2ee8SDavid du Colombier 2.5 Stripped output 17*219b2ee8SDavid du Colombier 18*219b2ee8SDavid du Colombier 2.6 Changed doshell to accomodate new shell. 19*219b2ee8SDavid du Colombier 20*219b2ee8SDavid du Colombier 2.7 Following SRB's sugestion, added ${...} as 21*219b2ee8SDavid du Colombier alternate macro name 22*219b2ee8SDavid du Colombier 23*219b2ee8SDavid du Colombier 2.8 Defined macros AS and DTGEN in files.c. 24*219b2ee8SDavid du Colombier 25*219b2ee8SDavid du Colombier 2.9 Put in a fix to prevent removal of files 26*219b2ee8SDavid du Colombier upon interrupt in a :: rule. 27*219b2ee8SDavid du Colombier 28*219b2ee8SDavid du Colombier 2.10 Fixed bugs involving messages for :: 29*219b2ee8SDavid du Colombier and closing standard input 30*219b2ee8SDavid du Colombier 31*219b2ee8SDavid du Colombier 2.11 Changed time test from <= to < 32*219b2ee8SDavid du Colombier (equal times are considered in sync) 33*219b2ee8SDavid du Colombier 34*219b2ee8SDavid du Colombier 2.12 Installed -t flag (touch and update time of 35*219b2ee8SDavid du Colombier files rather than issue commands) 36*219b2ee8SDavid du Colombier Fixed bug in dosys 37*219b2ee8SDavid du Colombier 38*219b2ee8SDavid du Colombier 2.13 Fixed lex.c to allow sharps (#) in commands 39*219b2ee8SDavid du Colombier 40*219b2ee8SDavid du Colombier 2.14 Added .DEFAULT rule 41*219b2ee8SDavid du Colombier 42*219b2ee8SDavid du Colombier 2.15 Changed to <lS> I/O System (stdio.h) 43*219b2ee8SDavid du Colombier 44*219b2ee8SDavid du Colombier 2.16 Removed references to double floats and macro HAVELONGS; 45*219b2ee8SDavid du Colombier committed to use of long ints for times. 46*219b2ee8SDavid du Colombier 2.17 Corrected metacharacter list in dosys.c. 47*219b2ee8SDavid du Colombier 2.18 Miscellaneous fixes 48*219b2ee8SDavid du Colombier 2.19 Updated files.c to use include file stat.h 49*219b2ee8SDavid du Colombier 2.20 Added -q flag for Mike Lesk 50*219b2ee8SDavid du Colombier 2.21 Added AWK rules and .w suffix to files.c 51*219b2ee8SDavid du Colombier 2.22 Added colon to the list of metacharacters 52*219b2ee8SDavid du Colombier 2.23 Macro substitutions on dependency lines. 53*219b2ee8SDavid du Colombier Redid argument and macro setting. 54*219b2ee8SDavid du Colombier Close files before exec'ing. 55*219b2ee8SDavid du Colombier Print > at beginning of command lines. 56*219b2ee8SDavid du Colombier No printing of commands beginnng with @. 57*219b2ee8SDavid du Colombier 2.24 Parametrized propt sequence in doname.c (4/1/77) 58*219b2ee8SDavid du Colombier 2.25 Added $? facility 59*219b2ee8SDavid du Colombier 2.26 Fixed bug in macro expansion 60*219b2ee8SDavid du Colombier 2.27 Repaired interrupt handling 61*219b2ee8SDavid du Colombier 2.28 Repaired bug in -n 62*219b2ee8SDavid du Colombier 2.29 Repaired bug in file closing and $? string creation 63*219b2ee8SDavid du Colombier 2.30 Repaired bug in grammar about command lines 64*219b2ee8SDavid du Colombier 2.31 Added -k flag, modified doname.c and defs 65*219b2ee8SDavid du Colombier 2.32 Made "keepgoing" the default, added -S flag, 66*219b2ee8SDavid du Colombier changed handling of funny characters internally 67*219b2ee8SDavid du Colombier 2.3 Small fixups to interrupt and quit handling. 68*219b2ee8SDavid du Colombier Changed default back to -k. 69*219b2ee8SDavid du Colombier 2.34 Added .PRECIOUS rule for interrupts 70*219b2ee8SDavid du Colombier 2.35 Added references to include files (due to TLL) 71*219b2ee8SDavid du Colombier 2.36 Fixed bug in lex.c so = permitted in rules on :; line 72*219b2ee8SDavid du Colombier 2.37 Miscellaneous code cleanups 73*219b2ee8SDavid du Colombier 2.38 Sleep one second after each touch in -t mode 74*219b2ee8SDavid du Colombier 2.39 Extended string[] declaration in doname.c 75*219b2ee8SDavid du Colombier 2.40 Permit recursive macro references 76*219b2ee8SDavid du Colombier 2.41 Separated YYLMAX into INMAX and OUTMAX macros, specifying longest 77*219b2ee8SDavid du Colombier input and output lines respectively. 78*219b2ee8SDavid du Colombier 2.42 Fixed bug involving :: lines without dependents 79*219b2ee8SDavid du Colombier 2.43 Main name is first name that contains a slash or doesn't 80*219b2ee8SDavid du Colombier begin with a dot 81*219b2ee8SDavid du Colombier 2.44 Fixed bug involving $$ on command line 82*219b2ee8SDavid du Colombier 2.45 Changed files.c to put .f before .e, .r and to use f77 instead of fc. 83*219b2ee8SDavid du Colombier 2.46 Changed dosys.c to eliminate copying and to call execvp. 84*219b2ee8SDavid du Colombier 2.47 Changed files.c to add ".out" suffix and rules. 85*219b2ee8SDavid du Colombier 2.48 Changed misc.c to permit tabs preceding = in macro definition 86*219b2ee8SDavid du Colombier 2.49 Added reference to <ctyp.h>. Removed -lS references from files.c 87*219b2ee8SDavid du Colombier 2.50 General cleanup to reduce lint messages. (changes in declarations 88*219b2ee8SDavid du Colombier and in uses of variables) 89*219b2ee8SDavid du Colombier 2.51 Further cleanup making use of new Yacc features. 90*219b2ee8SDavid du Colombier 2.52 91*219b2ee8SDavid du Colombier 2.53 Changed handling of "touch" 92*219b2ee8SDavid du Colombier 2.54 Fixed bug involving comments in lexical analyzer. 93*219b2ee8SDavid du Colombier 2.55 Ignore commands that begin with a # are comments. 94*219b2ee8SDavid du Colombier 2.56 Added = to list of META characters (to permit shell commands) 95*219b2ee8SDavid du Colombier 2.57 Changed lookarch and getobj to fix bugs. 96*219b2ee8SDavid du Colombier 2.58 Fixed interrupt handling. 97*219b2ee8SDavid du Colombier 2.59 Changed references to sprintf to accomodate new function definition 98*219b2ee8SDavid du Colombier Also fixed extern declarations. 99*219b2ee8SDavid du Colombier 2.60 Limited the number of open directories. 100*219b2ee8SDavid du Colombier 2.61 Added code to handle archives with ascii headers. 101*219b2ee8SDavid du Colombier 2.62 Joe Condon Fixes to archive formats 102*219b2ee8SDavid du Colombier 2.63 Pattern Matching (%) stuff. 103*219b2ee8SDavid du Colombier 2.64 Reinstalled $(TGS) as $^ from other version 104*219b2ee8SDavid du Colombier 2.65 Installed dynamic macros ( := commands). 105*219b2ee8SDavid du Colombier 2.66 Sped up pattern matching code 106*219b2ee8SDavid du Colombier 2.67 Changed pattern matching code to permit multiple dependents 107*219b2ee8SDavid du Colombier 2.68 Added + (do it despite -n) prefix to command lines. 108*219b2ee8SDavid du Colombier Fixed bug involving metacharacter expansions on dependency lines. 109*219b2ee8SDavid du Colombier 2.69 Added & to dependency lines and new background process spawning 110*219b2ee8SDavid du Colombier 2.70 Added Bradford's macros: $/, $@, *D, *F, <D, <F, @D, @F. 111*219b2ee8SDavid du Colombier 2.71 Added include stack to input. 112*219b2ee8SDavid du Colombier Added check for sccs makefiles: s.[Mm]akefile 113*219b2ee8SDavid du Colombier 2.72 Load environment into macro tables. Added Bradford's -e flag. 114*219b2ee8SDavid du Colombier 2.73 Pass changed environment macros out to commands. 115*219b2ee8SDavid du Colombier 2.74 Fixed limit on args in dosys.c. 116*219b2ee8SDavid du Colombier Non-existent archives now treated as other non-existent files. 117*219b2ee8SDavid du Colombier 2.75 Fixed bug in rehash. 118*219b2ee8SDavid du Colombier 2.76 Fixed bug when pattern searching in non-existent directory 119*219b2ee8SDavid du Colombier Fixed infinite loop when awaiting failed process 120*219b2ee8SDavid du Colombier Now wait till all subjobs finish before returning 121*219b2ee8SDavid du Colombier make, unless a subjob fails 122*219b2ee8SDavid du Colombier 2.77 Added -z option that always forces shell invocation 123*219b2ee8SDavid du Colombier rather than direct fork-exec 124*219b2ee8SDavid du Colombier 2.78 Check for error (-1) returned from fork 125*219b2ee8SDavid du Colombier */ 126