77 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .TH MAKE 1
 | |
| .SH NAME
 | |
| make \- a program for maintaining large programs
 | |
| .SH SYNOPSIS
 | |
| \fBmake\fR [\fB\-f \fIfile\fR]\fR [\fB\-adeiknpqrst\fR] [\fIoption\fR] ... [\fItarget\fR]\fR
 | |
| .br
 | |
| .de FL
 | |
| .TP
 | |
| \\fB\\$1\\fR
 | |
| \\$2
 | |
| ..
 | |
| .de EX
 | |
| .TP 20
 | |
| \\fB\\$1\\fR
 | |
| # \\$2
 | |
| ..
 | |
| .SH OPTIONS
 | |
| .FL "\-f" "Use \fIfile\fP as the makefile"
 | |
| .FL "\-d" "Print debugging information"
 | |
| .FL "\-e" "Environment overrides makefile macros"
 | |
| .FL "\-i" "Ignore status returned by commands"
 | |
| .FL "\-k" "On error, skip to next command"
 | |
| .FL "\-n" "Report, but do not execute"
 | |
| .FL "\-p" "Print macros and targets"
 | |
| .FL "\-q" "Question up-to-dateness of target"
 | |
| .FL "\-r" "Rule inhibit; do not use default rules"
 | |
| .FL "\-s" "Silent mode"
 | |
| .FL "\-t" "Touch files instead of making them"
 | |
| .SH EXAMPLES
 | |
| .EX "make kernel" "Make \fIkernel\fP up to date"
 | |
| .EX "make \-n \-f mfile" "Tell what needs to be done"
 | |
| .SH DESCRIPTION
 | |
| .PP
 | |
| .I Make
 | |
| is a program that is normally used for developing large programs consisting of
 | |
| multiple files.
 | |
| It keeps track of which object files depend on which source and header files.
 | |
| When called, it does the minimum amount of recompilation to bring the target
 | |
| file up to date.
 | |
| .PP
 | |
| The file dependencies are expected in 
 | |
| .I makefile
 | |
| or
 | |
| .I Makefile ,
 | |
| unless another file is specified with \fB\-f\fR.
 | |
| .I Make
 | |
| has some default rules built in, for example, it knows how to make 
 | |
| .I .o
 | |
| files
 | |
| from 
 | |
| .I .c
 | |
| files.
 | |
| Here is a sample 
 | |
| .I makefile .
 | |
| .PP
 | |
| .nf
 | |
| .ta +0.2i +\w'program:'u+1m +\w'cc \-o program head.o tail.o'u+2m
 | |
| 	d=/user/ast		# \fId\fP is a macro
 | |
| 	program:	head.o tail.o	# \fIprogram\fR depends on these
 | |
| 		cc \-o program head.o tail.o	# tells how to make \fIprogram\fP 
 | |
| 		echo Program done.	# announce completion
 | |
| 	head.o:	$d/def.h head.c	# \fIhead.o\fP depends on these
 | |
| .br
 | |
| 	tail.o:	$d/var.h tail.c	# \fItail.o\fP depends on these
 | |
| .PP
 | |
| .fi
 | |
| A complete description of \fImake\fR would require too much space here.
 | |
| Many books on
 | |
| \s-2UNIX\s+2
 | |
| discuss
 | |
| .I make .
 | |
| Study the numerous \fIMakefiles\fR in the 
 | |
| \s-1MINIX 3\s-1
 | |
| source tree for examples.
 | |
| .SH "SEE ALSO"
 | |
| .BR cc (1).
 | 
