<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://gunkies.org/index.php?action=history&amp;feed=atom&amp;title=32v_1m_make</id>
		<title>32v 1m make - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://gunkies.org/index.php?action=history&amp;feed=atom&amp;title=32v_1m_make"/>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=32v_1m_make&amp;action=history"/>
		<updated>2026-05-11T17:25:43Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.30.1</generator>

	<entry>
		<id>https://gunkies.org/w/index.php?title=32v_1m_make&amp;diff=6989&amp;oldid=prev</id>
		<title>Neozeed: New page: MAKE(1)             UNIX Programmer's Manual              MAKE(1)    == NAME ==      make - maintain program groups  == SYNOPSIS ==      make [ -f makefile ] [ option ] ...  file ...  == D...</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=32v_1m_make&amp;diff=6989&amp;oldid=prev"/>
				<updated>2009-10-26T14:49:17Z</updated>
		
		<summary type="html">&lt;p&gt;New page: MAKE(1)             UNIX Programmer&amp;#039;s Manual              MAKE(1)    == NAME ==      make - maintain program groups  == SYNOPSIS ==      make [ -f makefile ] [ option ] ...  file ...  == D...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;MAKE(1)             UNIX Programmer's Manual              MAKE(1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NAME ==&lt;br /&gt;
     make - maintain program groups&lt;br /&gt;
&lt;br /&gt;
== SYNOPSIS ==&lt;br /&gt;
     make [ -f makefile ] [ option ] ...  file ...&lt;br /&gt;
&lt;br /&gt;
== DESCRIPTION ==&lt;br /&gt;
     _M_a_k_e executes commands in _m_a_k_e_f_i_l_e to update one or more&lt;br /&gt;
     target _n_a_m_e_s.  _N_a_m_e is typically a program.  If no -f option&lt;br /&gt;
     is present, `makefile' and `Makefile' are tried in order.&lt;br /&gt;
     If _m_a_k_e_f_i_l_e is `-', the standard input is taken.  More than&lt;br /&gt;
     one -f option may appear&lt;br /&gt;
&lt;br /&gt;
     _M_a_k_e updates a target if it depends on prerequisite files&lt;br /&gt;
     that have been modified since the target was last modified,&lt;br /&gt;
     or if the target does not exist.&lt;br /&gt;
&lt;br /&gt;
     _M_a_k_e_f_i_l_e contains a sequence of entries that specify depen-&lt;br /&gt;
     dencies.  The first line of an entry is a blank-separated&lt;br /&gt;
     list of targets, then a colon, then a list of prerequisite&lt;br /&gt;
     files.  Text following a semicolon, and all following lines&lt;br /&gt;
     that begin with a tab, are shell commands to be executed to&lt;br /&gt;
     update the target.&lt;br /&gt;
&lt;br /&gt;
     Sharp and newline surround comments.&lt;br /&gt;
&lt;br /&gt;
     The following makefile says that `pgm' depends on two files&lt;br /&gt;
     `a.o' and `b.o', and that they in turn depend on `.c' files&lt;br /&gt;
     and a common file `incl'.&lt;br /&gt;
&lt;br /&gt;
          pgm: a.o b.o&lt;br /&gt;
               cc a.o b.o -lm -o pgm&lt;br /&gt;
          a.o: incl a.c&lt;br /&gt;
               cc -c a.c&lt;br /&gt;
          b.o: incl b.c&lt;br /&gt;
               cc -c b.c&lt;br /&gt;
&lt;br /&gt;
     _M_a_k_e_f_i_l_e entries of the form&lt;br /&gt;
&lt;br /&gt;
          string1 = string2&lt;br /&gt;
&lt;br /&gt;
     are macro definitions.  Subsequent appearances of $(_s_t_r_i_n_g_1)&lt;br /&gt;
     are replaced by _s_t_r_i_n_g_2.  If _s_t_r_i_n_g_1 is a single character,&lt;br /&gt;
     the parentheses are optional.&lt;br /&gt;
&lt;br /&gt;
     _M_a_k_e infers prerequisites for files for which _m_a_k_e_f_i_l_e gives&lt;br /&gt;
     no construction commands.  For example, a `.c' file may be&lt;br /&gt;
     inferred as prerequisite for a `.o' file and be compiled to&lt;br /&gt;
     produce the `.o' file.  Thus the preceding example can be&lt;br /&gt;
     done more briefly:&lt;br /&gt;
&lt;br /&gt;
          pgm: a.o b.o&lt;br /&gt;
               cc a.o b.o -lm -o pgm&lt;br /&gt;
          a.o b.o: incl&lt;br /&gt;
&lt;br /&gt;
     Prerequisites are inferred according to selected suffixes&lt;br /&gt;
     listed as the `prerequisites' for the special name `.SUF-&lt;br /&gt;
     FIXES'; multiple lists accumulate; an empty list clears what&lt;br /&gt;
     came before.  Order is significant; the first possible name&lt;br /&gt;
     for which both a file and a rule as described in the next&lt;br /&gt;
     paragraph exist is inferred.  The default list is&lt;br /&gt;
&lt;br /&gt;
          .SUFFIXES: .out .o .c .e .r .f .y .l .s&lt;br /&gt;
&lt;br /&gt;
     The rule to create a file with suffix _s_2 that depends on a&lt;br /&gt;
     similarly named file with suffix _s_1 is specified as an entry&lt;br /&gt;
     for the `target' _s_1_s_2.  In such an entry, the special macro&lt;br /&gt;
     $* stands for the target name with suffix deleted, $@ for&lt;br /&gt;
     the full target name, $&amp;lt; for the complete list of prere-&lt;br /&gt;
     quisites, and $? for the list of prerequisites that are out&lt;br /&gt;
     of date.  For example, a rule for making optimized `.o'&lt;br /&gt;
     files from `.c' files is&lt;br /&gt;
&lt;br /&gt;
          .c.o: ; cc -c -O -o $@ $*.c&lt;br /&gt;
&lt;br /&gt;
     Certain macros are used by the default inference rules to&lt;br /&gt;
     communicate optional arguments to any resulting compila-&lt;br /&gt;
     tions.  In particular, `CFLAGS' is used for _c_c and _f_7_7(1)&lt;br /&gt;
     options, `LFLAGS' and `YFLAGS' for _l_e_x and _y_a_c_c(1) options.&lt;br /&gt;
&lt;br /&gt;
     Command lines are executed one at a time, each by its own&lt;br /&gt;
     shell.  A line is printed when it is executed unless the&lt;br /&gt;
     special target `.SILENT' is in _m_a_k_e_f_i_l_e, or the first char-&lt;br /&gt;
     acter of the command is `@'.&lt;br /&gt;
&lt;br /&gt;
     Commands returning nonzero status (see _i_n_t_r_o(1)) cause _m_a_k_e&lt;br /&gt;
     to terminate unless the special target `.IGNORE' is in&lt;br /&gt;
     _m_a_k_e_f_i_l_e or the command begins with &amp;lt;tab&amp;gt;&amp;lt;hyphen&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
     Interrupt and quit cause the target to be deleted unless the&lt;br /&gt;
     target depends on the special name `.PRECIOUS'.&lt;br /&gt;
&lt;br /&gt;
     Other options:&lt;br /&gt;
&lt;br /&gt;
     -i   Equivalent to the special entry `.IGNORE:'.&lt;br /&gt;
&lt;br /&gt;
     -k   When a command returns nonzero status, abandon work on&lt;br /&gt;
          the current entry, but continue on branches that do not&lt;br /&gt;
          depend on the current entry.&lt;br /&gt;
&lt;br /&gt;
     -n   Trace and print, but do not execute the commands needed&lt;br /&gt;
          to update the targets.&lt;br /&gt;
&lt;br /&gt;
     -t   Touch, i.e. update the modified date of targets,&lt;br /&gt;
          without executing any commands.&lt;br /&gt;
&lt;br /&gt;
     -r   Equivalent to an initial special entry `.SUFFIXES:'&lt;br /&gt;
          with no list.&lt;br /&gt;
&lt;br /&gt;
     -s   Equivalent to the special entry `.SILENT:'.&lt;br /&gt;
&lt;br /&gt;
== FILES ==&lt;br /&gt;
     makefile, Makefile&lt;br /&gt;
&lt;br /&gt;
== SEE ALSO ==&lt;br /&gt;
     [[32v 1m sh|sh(1)]], [[32v 1m touch|touch(1)]]&lt;br /&gt;
     S. I. Feldman _M_a_k_e - _A _P_r_o_g_r_a_m _f_o_r _M_a_i_n_t_a_i_n_i_n_g _C_o_m_p_u_t_e_r _P_r_o_g_r_a_m_s&lt;br /&gt;
&lt;br /&gt;
== BUGS ==&lt;br /&gt;
     Some commands return nonzero status inappropriately.  Use -i&lt;br /&gt;
     to overcome the difficulty.&lt;br /&gt;
     Commands that are directly executed by the shell, notably&lt;br /&gt;
     _c_d(1), are ineffectual across newlines in _m_a_k_e.&lt;br /&gt;
&lt;br /&gt;
[[Category:32v man section 1]]&lt;/div&gt;</summary>
		<author><name>Neozeed</name></author>	</entry>

	</feed>