xref: /plan9/sys/src/ape/cmd/make/ident.c (revision 219b2ee8daee37f4aad58d63f21287faa8e4ffdc)
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