




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.
























                                                                        

