1*2808Swnj char *xxxvers = "\n@(#) MAKE. VERSION 2.61 13 AUGUST 1980\n" ; 2*2808Swnj static char *sccsid = "@(#)ident.c 4.1 (Berkeley) 81/02/28"; 3*2808Swnj 4*2808Swnj /* 5*2808Swnj 2.1 4/24/76 Base version 6*2808Swnj 7*2808Swnj 2.2 4/26/76 Error found by SRB in overriding pattern rules; 8*2808Swnj corrected gram.y 9*2808Swnj 10*2808Swnj 2.3 4/27/76 Further correction for overriding pattern rules; 11*2808Swnj corrected doname.c 12*2808Swnj 13*2808Swnj 2.4 Removed .CLEAR name, added .IGNORE. 14*2808Swnj A .SUFFIXES rule without dependents clears the list 15*2808Swnj 16*2808Swnj 2.5 Stripped output 17*2808Swnj 18*2808Swnj 2.6 Changed doshell to accomodate new shell. 19*2808Swnj 20*2808Swnj 2.7 Following SRB's sugestion, added ${...} as 21*2808Swnj alternate macro name 22*2808Swnj 23*2808Swnj 2.8 Defined macros AS and DTGEN in files.c. 24*2808Swnj 25*2808Swnj 2.9 Put in a fix to prevent removal of files 26*2808Swnj upon interrupt in a :: rule. 27*2808Swnj 28*2808Swnj 2.10 Fixed bugs involving messages for :: 29*2808Swnj and closing standard input 30*2808Swnj 31*2808Swnj 2.11 Changed time test from <= to < 32*2808Swnj (equal times are considered in sync) 33*2808Swnj 34*2808Swnj 2.12 Installed -t flag (touch and update time of 35*2808Swnj files rather than issue commands) 36*2808Swnj Fixed bug in dosys 37*2808Swnj 38*2808Swnj 2.13 Fixed lex.c to allow sharps (#) in commands 39*2808Swnj 40*2808Swnj 2.14 Added .DEFAULT rule 41*2808Swnj 42*2808Swnj 2.15 Changed to <lS> I/O System (stdio.h) 43*2808Swnj 44*2808Swnj 2.16 Removed references to double floats and macro HAVELONGS; 45*2808Swnj committed to use of long ints for times. 46*2808Swnj 2.17 Corrected metacharacter list in dosys.c. 47*2808Swnj 2.18 Miscellaneous fixes 48*2808Swnj 2.19 Updated files.c to use include file stat.h 49*2808Swnj 2.20 Added -q flag for Mike Lesk 50*2808Swnj 2.21 Added AWK rules and .w suffix to files.c 51*2808Swnj 2.22 Added colon to the list of metacharacters 52*2808Swnj 2.23 Macro substitutions on dependency lines. 53*2808Swnj Redid argument and macro setting. 54*2808Swnj Close files before exec'ing. 55*2808Swnj Print > at beginning of command lines. 56*2808Swnj No printing of commands beginnng with @. 57*2808Swnj 2.24 Parametrized propt sequence in doname.c (4/1/77) 58*2808Swnj 2.25 Added $? facility 59*2808Swnj 2.26 Fixed bug in macro expansion 60*2808Swnj 2.27 Repaired interrupt handling 61*2808Swnj 2.28 Repaired bug in -n 62*2808Swnj 2.29 Repaired bug in file closing and $? string creation 63*2808Swnj 2.30 Repaired bug in grammar about command lines 64*2808Swnj 2.31 Added -k flag, modified doname.c and defs 65*2808Swnj 2.32 Made "keepgoing" the default, added -S flag, 66*2808Swnj changed handling of funny characters internally 67*2808Swnj 2.3 Small fixups to interrupt and quit handling. 68*2808Swnj Changed default back to -k. 69*2808Swnj 2.34 Added .PRECIOUS rule for interrupts 70*2808Swnj 2.35 Added references to include files (due to TLL) 71*2808Swnj 2.36 Fixed bug in lex.c so = permitted in rules on :; line 72*2808Swnj 2.37 Miscellaneous code cleanups 73*2808Swnj 2.38 Sleep one second after each touch in -t mode 74*2808Swnj 2.39 Extended string[] declaration in doname.c 75*2808Swnj 2.40 Permit recursive macro references 76*2808Swnj 2.41 Separated YYLMAX into INMAX and OUTMAX macros, specifying longest 77*2808Swnj input and output lines respectively. 78*2808Swnj 2.42 Fixed bug involving :: lines without dependents 79*2808Swnj 2.43 Main name is first name that contains a slash or doesn't 80*2808Swnj begin with a dot 81*2808Swnj 2.44 Fixed bug involving $$ on command line 82*2808Swnj 2.45 Changed files.c to put .f before .e, .r and to use f77 instead of fc. 83*2808Swnj 2.46 Changed dosys.c to eliminate copying and to call execvp. 84*2808Swnj 2.47 Changed files.c to add ".out" suffix and rules. 85*2808Swnj 2.48 Changed misc.c to permit tabs preceding = in macro definition 86*2808Swnj 2.49 Added reference to <ctyp.h>. Removed -lS references from files.c 87*2808Swnj 2.50 General cleanup to reduce lint messages. (changes in declarations 88*2808Swnj and in uses of variables) 89*2808Swnj 2.51 Further cleanup making use of new Yacc features. 90*2808Swnj 2.52 91*2808Swnj 2.53 Changed handling of "touch" 92*2808Swnj 2.54 Fixed bug involving comments in lexical analyzer. 93*2808Swnj 2.55 Ignore commands that begin with a # are comments. 94*2808Swnj 2.56 Added = to list of META characters (to permit shell commands) 95*2808Swnj 2.57 Changed lookarch and getobj to fix bugs. 96*2808Swnj 2.58 Fixed interrupt handling. 97*2808Swnj 2.59 Changed references to sprintf to accomodate new function definition 98*2808Swnj Also fixed extern declarations. 99*2808Swnj 2.60 Limited the number of open directories. 100*2808Swnj 2.61 Added code to handle archives with ascii headers. 101*2808Swnj */ 102