From 97f458f27e61bdf46a569e729a3ac311c248e193 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Fri, 11 Dec 1992 01:10:17 +0000 Subject: Formerly make.texinfo.~62~ --- make.texinfo | 52 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 31 insertions(+), 21 deletions(-) diff --git a/make.texinfo b/make.texinfo index 180d732..e023fab 100644 --- a/make.texinfo +++ b/make.texinfo @@ -8,7 +8,7 @@ @set EDITION 0.38-1/2 @set VERSION 3.63 Beta -@set UPDATED 9 December 1992 +@set UPDATED 10 December 1992 @set UPDATE-MONTH December 1992 @c finalout @@ -20,10 +20,18 @@ @tex % trying for a two-level index -\def\doindex#1{\message{FNORD!}\edef\indexname{#1}\parsearg\singleindexer} -\def\singleindexer #1{\message{frobozzing :{#1}:}\message{}\frobozz{#1}} -\def\frobozz[#1,#2]{\message{frobozzed :{#1}:{#2}:}\message{}\dosubind{\indexname}{#1}{#2}} +\gdef\singleindexerfoo#1, #2\par{% +% Use a box register to test if #2 is empty. +\setbox0=\hbox{#2}% +\ifvoid0{ % A one-level entry. +\doind{\indexname}{#1}}\else{ % A two-level entry. +\dosubind{\indexname}{#1}{#2} +}\fi}% +\gdef\singleindexer#1{\singleindexerfoo#1, \par}% + + +%\def\singleindexer #1{\doind{\indexname}{#1}} @end tex @ifinfo @@ -143,7 +151,7 @@ Overview of @code{make} An Introduction to Makefiles -* Rule Introduction:: This is a bogus description Bob must fix. +* Rule Introduction:: What a rule looks like. * Simple Makefile:: A Simple Makefile * How Make Works:: How @code{make} Processes This Makefile * Variables Simplify:: Variables Make Makefiles Simpler @@ -175,10 +183,10 @@ Writing Rules files are empty. * Special Targets:: Targets with special built-in meanings. * Multiple Targets:: When to make use of several targets in a rule. +* Multiple Rules:: How to use several rules with the same target. * Static Pattern:: Static pattern rules apply to multiple targets and can vary the dependencies according to the target name. -* Multiple Rules:: How to use several rules with the same target. * Double-Colon:: How to use a special kind of rule to allow several independent rules for one target. @@ -221,8 +229,8 @@ Recursive Use of @code{make} * MAKE Variable:: The special effects of using @samp{$(MAKE)}. * Variables/Recursion:: How to communicate variables to a sub-@code{make}. * Options/Recursion:: How to communicate options to a sub-@code{make}. -* -w Option:: How to use the @samp{-w} option to debug - makefiles with recursive @code{make} commands. +* -w Option:: How the @samp{-w} or @samp{--print-directory} option + helps debug use of recursive @code{make} commands. How to Use Variables @@ -292,7 +300,8 @@ Defining and Redefining Pattern Rules * Pattern Intro:: An introduction to pattern rules. * Pattern Examples:: Examples of pattern rules. -* Automatic:: Automatic variables. +* Automatic:: How to use automatic variables in the + commands of implicit rules. * Pattern Match:: How patterns match. * Match-Anything Rules:: Precautions you should take prior to defining rules that can match any @@ -303,6 +312,8 @@ Using @code{make} to Update Archive Files * Archive Members:: Archive members as targets. * Archive Update:: The implicit rule for archive member targets. +* Archive Suffix Rules:: You can write a special kind of suffix rule + for updating archives. Implicit Rule for Archive Member Targets @@ -483,8 +494,7 @@ together to produce the new executable editor. * Cleanup:: Rules for Cleaning the Directory @end menu - -@node Rule Introduction +@node Rule Introduction, Simple Makefile, , Introduction @comment node-name, next, previous, up @section What a Rule Looks Like @cindex rule, introduction to @@ -535,7 +545,7 @@ A makefile may contain other text besides rules, but a simple makefile need only contain rules. Rules may look somewhat more complicated than shown in this template, but all fit the pattern more or less. -@node Simple Makefile +@node Simple Makefile, How Make Works, Rule Introduction, Introduction @section A Simple Makefile @cindex simple makefile @cindex makefile, simple @@ -1305,10 +1315,10 @@ the makefile (often with a target called @samp{all}). files are empty. * Special Targets:: Targets with special built-in meanings. * Multiple Targets:: When to make use of several targets in a rule. +* Multiple Rules:: How to use several rules with the same target. * Static Pattern:: Static pattern rules apply to multiple targets and can vary the dependencies according to the target name. -* Multiple Rules:: How to use several rules with the same target. * Double-Colon:: How to use a special kind of rule to allow several independent rules for one target. @end menu @@ -2145,7 +2155,7 @@ both pieces to the suffix list. In practice, suffixes normally begin with @samp{.}, so these special target names also begin with @samp{.}. @xref{Suffix Rules, ,Old-Fashioned Suffix Rules}. -@node Multiple Targets, Static Pattern, Special Targets, Rules +@node Multiple Targets, Multiple Rules, Special Targets, Rules @section Multiple Targets in a Rule @cindex multiple targets @cindex several targets in a rule @@ -2210,7 +2220,7 @@ You cannot do this with multiple targets in an ordinary rule, but you can do it with a @dfn{static pattern rule}. @xref{Static Pattern, ,Static Pattern Rules}. -@node Multiple Rules, Double-Colon, Static Pattern, Rules +@node Multiple Rules, Static Pattern, Multiple Targets, Rules @section Multiple Rules for One Target @cindex multiple rules for one target @cindex several rules for one target @@ -2268,7 +2278,7 @@ If none of the explicit rules for a target has commands, then @code{make} searches for an applicable implicit rule to find some commands @pxref{Implicit Rules, ,Using Implicit Rules}). -@node Static Pattern, Multiple Rules, Multiple Targets, Rules +@node Static Pattern, Double-Colon, Multiple Rules, Rules @section Static Pattern Rules @cindex static pattern rule @cindex rule, static pattern @@ -2437,7 +2447,7 @@ With static pattern rules, there is no uncertainty: each rule applies to precisely the targets specified. @end itemize -@node Double-Colon, , Multiple Rules, Rules +@node Double-Colon, , Static Pattern, Rules @section Double-Colon Rules @cindex double-colon rules @cindex rule, double-colon (@code{::}) @@ -7146,7 +7156,7 @@ foolib(hack.o) : hack.o In fact, nearly all archive member targets are updated in just this way and there is an implicit rule to do it for you. -@node Archive Update, , Archive Members, Archives +@node Archive Update, Archive Suffix Rules, Archive Members, Archives @section Implicit Rule for Archive Member Targets Recall that a target that looks like @file{@var{a}(@var{m})} stands for the @@ -7199,7 +7209,7 @@ named @file{foo.o}. In connection with such usage, the automatic variables * Archive Symbols:: How to update archive symbol directories. @end menu -@node Archive Symbols, Archive Suffix Rules, , Archive Update +@node Archive Symbols, , , Archive Update @subsection Updating Archive Symbol Directories @cindex @code{__.SYMDEF} @cindex updating archive symbol directories @@ -7236,8 +7246,8 @@ files into the archive, as described in the preceding section. This is not necessary when using the GNU @code{ar} program, which updates the @file{__.SYMDEF} member automatically. -@node Archive Suffix Rules, , Archive Update, Archives -@subsection Suffix Rules for Archive Files +@node Archive Suffix Rules, , Archive Update, Archives +@section Suffix Rules for Archive Files @cindex suffix rule, for archive @cindex archive, suffix rule for @cindex library archive, suffix rule for -- cgit v1.2.3