42 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
Following is a repost of the public domain 'make' that I posted
 | 
						|
to net.sources a couple of months ago.  I have fixed a few bugs, and
 | 
						|
added some more features, and the resulting changes amounted to
 | 
						|
about as much text as the whole program (hence the repost).
 | 
						|
 | 
						|
For those that missed the net.sources posting, this is a public domain
 | 
						|
re-implementation of the UNIX make program.  There is no manual included;
 | 
						|
for documentation, refer to a UNIX manual, or the source.
 | 
						|
 | 
						|
Here is a list of the changes made:
 | 
						|
 | 
						|
i)	If '-' (ignore) or '@' (silent) where used at the start
 | 
						|
	of a command, their effect was not turned off for the following
 | 
						|
	commands.
 | 
						|
ii)	A special target (.SUFFIXES, .PRECIOUS) or a rule (.c.o, .a.o),
 | 
						|
	if first in the file would be taken as the default target.
 | 
						|
	This resulted in error messages like "Don't know how to
 | 
						|
	make .c", because things like .SUFFIXES were being made.
 | 
						|
	This was further complicated by ---
 | 
						|
iii)	Special target lines with no dependents (ie. .SUFFIXES:\n)
 | 
						|
	were not clearing out the existing dependents like
 | 
						|
	they should.
 | 
						|
iv)	Default rules could not be redefined because of the error
 | 
						|
	checking for commands being defined twice.  Now you are
 | 
						|
	allowed to define a target beinging with '.', having
 | 
						|
	no dependents with commands.
 | 
						|
v)	The -q option didn't do the time comparison correctly,
 | 
						|
	or clear the variable used to keep track of this.  Thus
 | 
						|
	it didn't work very well.
 | 
						|
vi)	The syntax ${..} for macro's supported by UNIX make was
 | 
						|
	not supported.
 | 
						|
vii)	There wuz a couple of spelling errors.
 | 
						|
viii)	When make checked for implicit rules on targets without
 | 
						|
	a suffix, there were problems.  (Note: The ~ feature of
 | 
						|
	UNIX make wasn't and still isn't supported)
 | 
						|
ix)	The -n option did not print @ lines like it was supposed to.
 | 
						|
x)	:: added.  (See UNIX manual)
 | 
						|
xi)	$? added.  (see UNIX manual)
 | 
						|
 | 
						|
Hacked further by Ceriel Jacobs to make it work better. Use this "make" to
 | 
						|
install ACK under Microsoft Xenix V3.2. Some of the makefiles are just too
 | 
						|
big for the Xenix "make". Strange, they work on a PDP-11 ...
 |