2005-05-02 15:01:42 +02:00
|
|
|
.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
|
2005-08-22 14:56:02 +02:00
|
|
|
\s-1MINIX 3\s-1
|
2005-05-02 15:01:42 +02:00
|
|
|
source tree for examples.
|
|
|
|
.SH "SEE ALSO"
|
|
|
|
.BR cc (1).
|