make man page on UNIXv7

Man page or keyword search:  
man Server   300 pages
apropos Keyword Search (all sections)
Output format
UNIXv7 logo
[printable version]

MAKE(1)								       MAKE(1)

NAME
       make - maintain program groups

SYNOPSIS
       make [ -f makefile ] [ option ] ...  file ...

DESCRIPTION
       Make  executes commands in makefile to update one or more target names.
       Name is typically a program.  If no -f option  is  present,  `makefile'
       and  `Makefile'	are  tried in order.  If makefile is `-', the standard
       input is taken.	More than one -f option may appear

       Make updates a target if it depends on  prerequisite  files  that  have
       been modified since the target was last modified, or if the target does
       not exist.

       Makefile contains a sequence of entries that specify dependencies.  The
       first  line  of	an  entry is a blank-separated list of targets, then a
       colon, then a list of prerequisite files.  Text following a  semicolon,
       and all following lines that begin with a tab, are shell commands to be
       executed to update the target.

       Sharp and newline surround comments.

       The following makefile says that `pgm' depends on two files  `a.o'  and
       `b.o',  and  that  they	in turn depend on `.c' files and a common file
       `incl'.

		     pgm: a.o b.o
		     cc a.o b.o -lm -o pgm
	      a.o: incl a.c
		     cc -c a.c
	      b.o: incl b.c
		     cc -c b.c

       Makefile entries of the form

	      string1 = string2

       are  macro  definitions.	  Subsequent  appearances  of  $(string1)  are
       replaced by string2.  If string1 is a single character, the parentheses
       are optional.

       Make infers prerequisites for files for which makefile  gives  no  con‐
       struction  commands.   For example, a `.c' file may be inferred as pre‐
       requisite for a `.o' file and be compiled to  produce  the  `.o'	 file.
       Thus the preceding example can be done more briefly:

		     pgm: a.o b.o
		     cc a.o b.o -lm -o pgm
	      a.o b.o: incl

       Prerequisites are inferred according to selected suffixes listed as the
       `prerequisites' for the special name `.SUFFIXES'; multiple lists	 accu‐
       mulate;	an  empty list clears what came before.	 Order is significant;
       the first possible name for which both a file and a rule	 as  described
       in the next paragraph exist is inferred.	 The default list is

	      .SUFFIXES: .out .o .c .e .r .f .y .l .s

       The  rule  to  create a file with suffix s2 that depends on a similarly
       named file with suffix s1 is specified as an  entry  for	 the  `target'
       s1s2.   In  such	 an  entry, the special macro $* stands for the target
       name with suffix deleted, $@ for the full target name, $< for the  com‐
       plete  list of prerequisites, and $? for the list of prerequisites that
       are out of date.	 For example, a rule for making optimized  `.o'	 files
       from `.c' files is

	      .c.o: ; cc -c -O -o $@ $*.c

       Certain	macros	are used by the default inference rules to communicate
       optional arguments  to  any  resulting  compilations.   In  particular,
       `CFLAGS'	 is  used for cc and f77(1) options, `LFLAGS' and `YFLAGS' for
       lex and yacc(1) options.

       Command lines are executed one at a time, each by  its  own  shell.   A
       line is printed when it is executed unless the special target `.SILENT'
       is in makefile, or the first character of the command is `@'.

       Commands returning nonzero status (see intro(1)) cause make  to	termi‐
       nate  unless the special target `.IGNORE' is in makefile or the command
       begins with <tab><hyphen>.

       Interrupt and quit cause the target to be  deleted  unless  the	target
       depends on the special name `.PRECIOUS'.

       Other options:

       -i     Equivalent to the special entry `.IGNORE:'.

       -k     When  a command returns nonzero status, abandon work on the cur‐
	      rent entry, but continue on branches that do not depend  on  the
	      current entry.

       -n     Trace  and  print,  but  do  not	execute the commands needed to
	      update the targets.

       -t     Touch, i.e. update the modified date of targets, without execut‐
	      ing any commands.

       -r     Equivalent  to  an  initial  special  entry `.SUFFIXES:' with no
	      list.

       -s     Equivalent to the special entry `.SILENT:'.

FILES
       makefile, Makefile

SEE ALSO
       sh(1), touch(1)
       S. I. Feldman Make - A Program for Maintaining Computer Programs

BUGS
       Some commands return nonzero status inappropriately.  Use -i  to	 over‐
       come the difficulty.
       Commands	 that  are  directly executed by the shell, notably cd(1), are
       ineffectual across newlines in make.

								       MAKE(1)
[top]

List of man pages available for UNIXv7

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net