3 make \- a program for maintaining large programs
5 \fBmake\fR [\fB\-f \fIfile\fR]\fR [\fB\-adeiknpqrst\fR] [\fIoption\fR] ... [\fItarget\fR]\fR
18 .FL "\-f" "Use \fIfile\fP as the makefile"
19 .FL "\-d" "Print debugging information"
20 .FL "\-e" "Environment overrides makefile macros"
21 .FL "\-i" "Ignore status returned by commands"
22 .FL "\-k" "On error, skip to next command"
23 .FL "\-n" "Report, but do not execute"
24 .FL "\-p" "Print macros and targets"
25 .FL "\-q" "Question up-to-dateness of target"
26 .FL "\-r" "Rule inhibit; do not use default rules"
27 .FL "\-s" "Silent mode"
28 .FL "\-t" "Touch files instead of making them"
30 .EX "make kernel" "Make \fIkernel\fP up to date"
31 .EX "make \-n \-f mfile" "Tell what needs to be done"
35 is a program that is normally used for developing large programs consisting of
37 It keeps track of which object files depend on which source and header files.
38 When called, it does the minimum amount of recompilation to bring the target
41 The file dependencies are expected in
45 unless another file is specified with \fB\-f\fR.
47 has some default rules built in, for example, it knows how to make
57 .ta +0.2i +\w'program:'u+1m +\w'cc \-o program head.o tail.o'u+2m
58 d=/user/ast # \fId\fP is a macro
59 program: head.o tail.o # \fIprogram\fR depends on these
60 cc \-o program head.o tail.o # tells how to make \fIprogram\fP
61 echo Program done. # announce completion
62 head.o: $d/def.h head.c # \fIhead.o\fP depends on these
64 tail.o: $d/var.h tail.c # \fItail.o\fP depends on these
67 A complete description of \fImake\fR would require too much space here.
72 Study the numerous \fIMakefiles\fR in the
74 source tree for examples.