xref: /csrg-svn/old/make/ident.c (revision 2808)
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