66 lines
1.8 KiB
Plaintext
66 lines
1.8 KiB
Plaintext
|
|
|
|
|
|
|
|
|
|
Command: make - a program for maintaining large programs
|
|
Syntax: make [-f file] [-iknpqrst] [option] ... [target]
|
|
Flags: -f Use file as the makefile
|
|
-i Ignore status returned by commands
|
|
-k On error, skip to next command
|
|
-n Report, but do not execute
|
|
-p Print macros and targets
|
|
-q Question up-to-dateness of target
|
|
-r Rule inhibit; do not use default rules
|
|
-s Silent mode
|
|
-t Touch files instead of making them
|
|
Examples: make kernel # Make kernel up to date
|
|
make -n -f mfile # Tell what needs to be done
|
|
|
|
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.
|
|
|
|
The file dependencies are expected in makefile or Makefile, unless
|
|
another file is specified with -f. Make has some default rules built
|
|
in, for example, it knows how to make .s files from .c files. Here is a
|
|
sample makefile.
|
|
|
|
d=/user/ast # d is a macro
|
|
program: head.s tail.s # program depends on these
|
|
cc -o program head.s tail.s # tells how to make program
|
|
echo Program done. # announce completion
|
|
head.s: $d/def.h head.c # head.s depends on these
|
|
tail.s: $d/var.h tail.c # tail.s depends on these
|
|
|
|
A complete description of make would require too much space here. Many
|
|
books on UNIX discuss make. Study the numerous Makefiles in the MINIX
|
|
source tree for examples.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|