home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: LaTeX Document
(document/latex).
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| LaTeX Document (document/latex)
| magic
| Supported |
1%
| dexvert
| Corel 10 Texture (image/corel10Texture)
| ext
| Unsupported |
1%
| dexvert
| Croteam texture file (image/croteamTextureFile)
| ext
| Unsupported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| LaTeX document text
| default
| |
99%
| file
| LaTeX document, ASCII text
| default
| |
100%
| TrID
| LaTeX 2e document (with rem)
| default
| |
100%
| checkBytes
| Printable ASCII
| default
| |
100%
| perlTextCheck
| Likely Text (Perl)
| default
| |
100%
| siegfried
| fmt/281 LaTeX (Subdocument)
| default
| |
100%
| detectItEasy
| Format: plain text[LF]
| default (weak)
| |
100%
| xdgMime
| text/x-matlab
| default (weak)
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 25 5c 64 6f 63 75 6d 65 | 6e 74 73 74 79 6c 65 5b |%\docume|ntstyle[|
|00000010| 6d 61 6e 70 61 67 65 2c | 65 70 73 66 2c 74 77 6f |manpage,|epsf,two|
|00000020| 73 69 64 65 5d 7b 72 65 | 70 6f 72 74 7d 0a 5c 64 |side]{re|port}.\d|
|00000030| 6f 63 75 6d 65 6e 74 73 | 74 79 6c 65 5b 6d 61 6e |ocuments|tyle[man|
|00000040| 70 61 67 65 2c 74 77 6f | 73 69 64 65 5d 7b 72 65 |page,two|side]{re|
|00000050| 70 6f 72 74 7d 0a 0a 5c | 62 65 67 69 6e 7b 64 6f |port}..\|begin{do|
|00000060| 63 75 6d 65 6e 74 7d 0a | 0a 5c 62 65 67 69 6e 7b |cument}.|.\begin{|
|00000070| 74 69 74 6c 65 70 61 67 | 65 7d 0a 09 5c 76 73 70 |titlepag|e}..\vsp|
|00000080| 61 63 65 2a 7b 31 2e 30 | 69 6e 7d 0a 09 5c 62 65 |ace*{1.0|in}..\be|
|00000090| 67 69 6e 7b 66 6c 75 73 | 68 72 69 67 68 74 7d 0a |gin{flus|hright}.|
|000000a0| 09 09 7b 5c 68 75 67 65 | 5c 62 66 20 41 6d 69 67 |..{\huge|\bf Amig|
|000000b0| 61 20 50 72 6f 67 72 61 | 6d 6d 65 72 27 73 20 4d |a Progra|mmer's M|
|000000c0| 61 6b 65 7d 20 5c 5c 5b | 2e 32 35 63 6d 5d 0a 09 |ake} \\[|.25cm]..|
|000000d0| 09 7b 5c 72 75 6c 65 5b | 2e 31 69 6e 5d 7b 34 2e |.{\rule[|.1in]{4.|
|000000e0| 35 69 6e 7d 7b 2e 30 32 | 69 6e 7d 7d 5c 5c 5b 2e |5in}{.02|in}}\\[.|
|000000f0| 32 35 63 6d 5d 0a 09 09 | 7b 5c 6c 61 72 67 65 5c |25cm]...|{\large\|
|00000100| 62 66 20 56 65 72 73 69 | 6f 6e 20 31 2e 34 7d 20 |bf Versi|on 1.4} |
|00000110| 5c 5c 5b 32 2e 30 63 6d | 5d 0a 09 09 7b 5c 6c 61 |\\[2.0cm|]...{\la|
|00000120| 72 67 65 5c 62 66 20 52 | 65 66 65 72 65 6e 63 65 |rge\bf R|eference|
|00000130| 20 4d 61 6e 75 61 6c 7d | 20 5c 5c 5b 34 2e 30 63 | Manual}| \\[4.0c|
|00000140| 6d 5d 0a 09 09 7b 5c 62 | 66 20 62 79 20 42 65 6e |m]...{\b|f by Ben|
|00000150| 20 45 6e 67 7d 5c 5c 0a | 20 20 20 20 5c 65 6e 64 | Eng}\\.| \end|
|00000160| 7b 66 6c 75 73 68 72 69 | 67 68 74 7d 0a 09 5c 6e |{flushri|ght}..\n|
|00000170| 65 77 70 61 67 65 0a 09 | 5c 74 68 69 73 70 61 67 |ewpage..|\thispag|
|00000180| 65 73 74 79 6c 65 7b 65 | 6d 70 74 79 7d 0a 09 5c |estyle{e|mpty}..\|
|00000190| 63 65 6e 74 65 72 7b 0a | 09 09 54 68 69 73 20 73 |center{.|..This s|
|000001a0| 6f 66 74 77 61 72 65 20 | 69 73 20 61 20 62 72 6f |oftware |is a bro|
|000001b0| 75 67 68 74 20 74 6f 20 | 79 6f 75 20 62 79 5c 5c |ught to |you by\\|
|000001c0| 0a 09 09 5c 68 75 67 65 | 5c 62 66 20 4a 65 74 20 |...\huge|\bf Jet |
|000001d0| 50 65 6e 67 75 69 6e 20 | 4c 61 76 61 74 6f 72 69 |Penguin |Lavatori|
|000001e0| 65 73 5c 5c 0a 25 09 5c | 6c 65 61 76 65 76 6d 6f |es\\.%.\|leavevmo|
|000001f0| 64 65 0a 25 09 5c 65 70 | 73 66 66 69 6c 65 7b 6c |de.%.\ep|sffile{l|
|00000200| 6f 67 6f 2e 70 73 7d 0a | 09 7d 0a 09 5c 76 73 70 |ogo.ps}.|.}..\vsp|
|00000210| 61 63 65 2a 7b 5c 66 69 | 6c 6c 7d 0a 09 5c 62 65 |ace*{\fi|ll}..\be|
|00000220| 67 69 6e 7b 66 6c 75 73 | 68 6c 65 66 74 7d 0a 09 |gin{flus|hleft}..|
|00000230| 09 7b 43 6f 70 79 72 69 | 67 68 74 20 5c 63 6f 70 |.{Copyri|ght \cop|
|00000240| 79 72 69 67 68 74 20 31 | 39 39 31 20 42 65 6e 20 |yright 1|991 Ben |
|00000250| 45 6e 67 7d 5c 5c 5b 32 | 2e 30 63 6d 5d 0a 09 09 |Eng}\\[2|.0cm]...|
|00000260| 7b 5c 62 66 20 42 65 6e | 20 45 6e 67 7d 5c 5c 5b |{\bf Ben| Eng}\\[|
|00000270| 2e 32 35 63 6d 5d 0a 09 | 09 7b 31 35 30 20 42 65 |.25cm]..|.{150 Be|
|00000280| 76 65 72 6c 65 79 20 53 | 74 2e 5c 20 41 70 74 2e |verley S|t.\ Apt.|
|00000290| 5c 23 7b 7d 31 4c 7d 5c | 5c 0a 09 09 7b 54 6f 72 |\#{}1L}\|\...{Tor|
|000002a0| 6f 6e 74 6f 2c 20 4f 6e | 74 61 72 69 6f 7d 5c 5c |onto, On|tario}\\|
|000002b0| 0a 09 09 7b 4d 35 54 20 | 31 59 36 7d 5c 5c 0a 09 |...{M5T |1Y6}\\..|
|000002c0| 09 7b 43 41 4e 41 44 41 | 7d 5c 5c 5b 32 2e 30 63 |.{CANADA|}\\[2.0c|
|000002d0| 6d 5d 0a 09 09 7b 74 65 | 6c 65 70 68 6f 6e 65 3a |m]...{te|lephone:|
|000002e0| 20 28 34 31 36 29 2d 2d | 39 37 39 2d 2d 38 37 36 | (416)--|979--876|
|000002f0| 31 7d 5c 5c 0a 09 09 7b | 65 2d 6d 61 69 6c 3a 20 |1}\\...{|e-mail: |
|00000300| 20 62 65 63 6b 65 72 21 | 6a 65 74 70 65 6e 21 62 | becker!|jetpen!b|
|00000310| 65 6e 7d 5c 5c 0a 09 09 | 7b 42 49 58 3a 20 6a 65 |en}\\...|{BIX: je|
|00000320| 74 70 65 6e 7d 5c 5c 5b | 32 2e 30 63 6d 5d 0a 7b |tpen}\\[|2.0cm].{|
|00000330| 50 65 72 6d 69 73 73 69 | 6f 6e 20 69 73 20 67 72 |Permissi|on is gr|
|00000340| 61 6e 74 65 64 20 74 6f | 20 6d 61 6b 65 20 61 6e |anted to| make an|
|00000350| 64 20 64 69 73 74 72 69 | 62 75 74 65 20 63 6f 70 |d distri|bute cop|
|00000360| 69 65 73 20 6f 66 20 74 | 68 69 73 0a 6d 61 6e 75 |ies of t|his.manu|
|00000370| 61 6c 20 61 6e 64 20 74 | 68 65 20 73 6f 66 74 77 |al and t|he softw|
|00000380| 61 72 65 20 74 68 61 74 | 20 69 73 20 68 65 72 65 |are that| is here|
|00000390| 69 6e 20 64 65 73 63 72 | 69 62 65 64 2c 20 70 72 |in descr|ibed, pr|
|000003a0| 6f 76 69 64 65 64 20 74 | 68 65 20 63 6f 70 79 72 |ovided t|he copyr|
|000003b0| 69 67 68 74 0a 6e 6f 74 | 69 63 65 73 20 61 72 65 |ight.not|ices are|
|000003c0| 20 70 72 65 73 65 72 76 | 65 64 20 6f 6e 20 61 6c | preserv|ed on al|
|000003d0| 6c 20 63 6f 70 69 65 73 | 2e 7d 5c 5c 0a 20 20 20 |l copies|.}\\. |
|000003e0| 20 5c 65 6e 64 7b 66 6c | 75 73 68 6c 65 66 74 7d | \end{fl|ushleft}|
|000003f0| 0a 5c 65 6e 64 7b 74 69 | 74 6c 65 70 61 67 65 7d |.\end{ti|tlepage}|
|00000400| 0a 0a 5c 61 64 64 74 6f | 63 6f 6e 74 65 6e 74 73 |..\addto|contents|
|00000410| 7b 74 6f 63 7d 7b 5c 70 | 72 6f 74 65 63 74 5c 74 |{toc}{\p|rotect\t|
|00000420| 68 69 73 70 61 67 65 73 | 74 79 6c 65 7b 65 6d 70 |hispages|tyle{emp|
|00000430| 74 79 7d 7d 0a 5c 73 65 | 74 63 6f 75 6e 74 65 72 |ty}}.\se|tcounter|
|00000440| 7b 70 61 67 65 7d 7b 31 | 7d 0a 5c 74 61 62 6c 65 |{page}{1|}.\table|
|00000450| 6f 66 63 6f 6e 74 65 6e | 74 73 0a 5c 72 65 6e 65 |ofconten|ts.\rene|
|00000460| 77 63 6f 6d 6d 61 6e 64 | 7b 5c 74 68 65 70 61 67 |wcommand|{\thepag|
|00000470| 65 7d 7b 5c 61 72 61 62 | 69 63 7b 70 61 67 65 7d |e}{\arab|ic{page}|
|00000480| 7d 0a 0a 5c 62 65 67 69 | 6e 7b 61 62 73 74 72 61 |}..\begi|n{abstra|
|00000490| 63 74 7d 0a 4d 61 6b 65 | 20 69 73 20 61 20 70 72 |ct}.Make| is a pr|
|000004a0| 6f 67 72 61 6d 6d 69 6e | 67 20 75 74 69 6c 69 74 |ogrammin|g utilit|
|000004b0| 79 20 75 73 65 64 20 74 | 6f 20 61 75 74 6f 6d 61 |y used t|o automa|
|000004c0| 74 65 20 74 68 65 20 70 | 72 6f 63 65 73 73 20 6f |te the p|rocess o|
|000004d0| 66 20 72 65 63 6f 6d 70 | 69 6c 69 6e 67 0a 6d 75 |f recomp|iling.mu|
|000004e0| 6c 74 69 70 6c 65 20 69 | 6e 74 65 72 64 65 70 65 |ltiple i|nterdepe|
|000004f0| 6e 64 65 6e 74 20 73 6f | 75 72 63 65 20 66 69 6c |ndent so|urce fil|
|00000500| 65 73 20 69 6e 74 6f 20 | 61 6e 20 6f 75 74 70 75 |es into |an outpu|
|00000510| 74 20 66 69 6c 65 20 28 | 74 68 65 20 67 6f 61 6c |t file (|the goal|
|00000520| 29 2e 20 20 54 68 65 0a | 4d 61 6b 65 20 70 72 6f |). The.|Make pro|
|00000530| 67 72 61 6d 20 75 73 65 | 73 20 72 75 6c 65 73 20 |gram use|s rules |
|00000540| 6f 66 20 69 6e 66 65 72 | 65 6e 63 65 20 74 6f 20 |of infer|ence to |
|00000550| 6d 61 6b 65 20 74 68 65 | 20 67 6f 61 6c 2e 20 20 |make the| goal. |
|00000560| 54 68 65 20 72 75 6c 65 | 73 20 66 6f 72 0a 6d 61 |The rule|s for.ma|
|00000570| 6b 69 6e 67 20 74 68 65 | 20 67 6f 61 6c 20 61 72 |king the| goal ar|
|00000580| 65 20 65 78 70 6c 69 63 | 69 74 6c 79 20 73 74 61 |e explic|itly sta|
|00000590| 74 65 64 20 69 6e 20 61 | 6e 20 69 6e 70 75 74 20 |ted in a|n input |
|000005a0| 66 69 6c 65 20 63 61 6c | 6c 65 64 20 74 68 65 20 |file cal|led the |
|000005b0| 4d 61 6b 65 66 69 6c 65 | 2c 0a 61 6e 64 20 69 6d |Makefile|,.and im|
|000005c0| 70 6c 69 63 69 74 6c 79 | 20 64 65 74 65 72 6d 69 |plicitly| determi|
|000005d0| 6e 65 64 20 66 72 6f 6d | 20 62 75 69 6c 74 69 6e |ned from| builtin|
|000005e0| 20 72 75 6c 65 73 2e 20 | 20 4e 6f 72 6d 61 6c 6c | rules. | Normall|
|000005f0| 79 2c 20 74 68 65 20 4d | 61 6b 65 66 69 6c 65 20 |y, the M|akefile |
|00000600| 66 6f 72 20 61 0a 67 6f | 61 6c 20 69 73 20 77 72 |for a.go|al is wr|
|00000610| 69 74 74 65 6e 20 73 6f | 20 74 68 61 74 20 74 68 |itten so| that th|
|00000620| 65 20 6f 6e 6c 79 20 74 | 68 69 6e 67 20 74 68 61 |e only t|hing tha|
|00000630| 74 20 6e 65 65 64 73 20 | 74 6f 20 62 65 20 64 6f |t needs |to be do|
|00000640| 6e 65 20 74 6f 20 72 65 | 63 6f 6d 70 69 6c 65 0a |ne to re|compile.|
|00000650| 6e 65 77 6c 79 20 6d 6f | 64 69 66 69 65 64 20 73 |newly mo|dified s|
|00000660| 6f 75 72 63 65 20 66 69 | 6c 65 73 20 69 73 20 74 |ource fi|les is t|
|00000670| 6f 20 72 75 6e 20 74 68 | 65 20 4d 61 6b 65 20 70 |o run th|e Make p|
|00000680| 72 6f 67 72 61 6d 2e 0a | 5c 65 6e 64 7b 61 62 73 |rogram..|\end{abs|
|00000690| 74 72 61 63 74 7d 0a 0a | 25 5c 70 61 67 65 6e 75 |tract}..|%\pagenu|
|000006a0| 6d 62 65 72 69 6e 67 7b | 61 72 61 62 69 63 7d 0a |mbering{|arabic}.|
|000006b0| 5c 63 68 61 70 74 65 72 | 7b 44 69 73 74 72 69 62 |\chapter|{Distrib|
|000006c0| 75 74 69 6f 6e 7d 0a 0a | 54 68 69 73 20 69 73 20 |ution}..|This is |
|000006d0| 76 65 72 73 69 6f 6e 20 | 31 2e 34 20 6f 66 20 74 |version |1.4 of t|
|000006e0| 68 65 20 4d 61 6b 65 20 | 75 74 69 6c 69 74 79 20 |he Make |utility |
|000006f0| 28 42 4d 61 6b 65 29 20 | 66 6f 72 20 74 68 65 20 |(BMake) |for the |
|00000700| 41 6d 69 67 61 2e 20 20 | 46 6f 72 0a 69 6e 66 6f |Amiga. |For.info|
|00000710| 72 6d 61 74 69 6f 6e 20 | 72 65 67 61 72 64 69 6e |rmation |regardin|
|00000720| 67 20 61 6e 20 75 70 64 | 61 74 65 64 20 76 65 72 |g an upd|ated ver|
|00000730| 73 69 6f 6e 2c 20 69 66 | 20 6f 6e 65 20 65 78 69 |sion, if| one exi|
|00000740| 73 74 73 2c 20 70 6c 65 | 61 73 65 20 63 6f 6e 74 |sts, ple|ase cont|
|00000750| 61 63 74 20 74 68 65 0a | 61 75 74 68 6f 72 20 62 |act the.|author b|
|00000760| 79 20 65 6c 65 63 74 72 | 6f 6e 69 63 20 6d 61 69 |y electr|onic mai|
|00000770| 6c 2c 20 74 65 6c 65 70 | 68 6f 6e 65 20 6f 72 20 |l, telep|hone or |
|00000780| 74 68 72 6f 75 67 68 20 | 74 68 65 20 70 6f 73 74 |through |the post|
|00000790| 61 6c 20 73 65 72 76 69 | 63 65 20 69 6e 20 74 68 |al servi|ce in th|
|000007a0| 61 74 0a 6f 72 64 65 72 | 20 6f 66 20 70 72 69 6f |at.order| of prio|
|000007b0| 72 69 74 79 2e 20 20 44 | 65 74 61 69 6c 73 20 6f |rity. D|etails o|
|000007c0| 66 20 68 6f 77 20 74 6f | 20 63 6f 6e 74 61 63 74 |f how to| contact|
|000007d0| 20 6d 65 20 63 61 6e 20 | 62 65 20 66 6f 75 6e 64 | me can |be found|
|000007e0| 20 69 6e 20 74 68 65 20 | 7b 5c 74 74 0a 52 45 41 | in the |{\tt.REA|
|000007f0| 44 4d 45 7d 20 66 69 6c | 65 20 61 73 73 6f 63 69 |DME} fil|e associ|
|00000800| 61 74 65 64 20 77 69 74 | 68 20 74 68 65 20 64 69 |ated wit|h the di|
|00000810| 73 74 72 69 62 75 74 69 | 6f 6e 2e 0a 0a 49 66 20 |stributi|on...If |
|00000820| 79 6f 75 20 63 68 6f 6f | 73 65 20 74 6f 20 6d 61 |you choo|se to ma|
|00000830| 6b 65 20 75 73 65 20 6f | 66 20 74 68 69 73 20 73 |ke use o|f this s|
|00000840| 6f 66 74 77 61 72 65 20 | 6f 72 20 64 69 73 74 72 |oftware |or distr|
|00000850| 69 62 75 74 65 20 74 68 | 69 73 20 73 6f 66 74 77 |ibute th|is softw|
|00000860| 61 72 65 20 74 6f 0a 6f | 74 68 65 72 20 75 73 65 |are to.o|ther use|
|00000870| 72 73 2c 20 70 6c 65 61 | 73 65 20 72 65 61 64 20 |rs, plea|se read |
|00000880| 74 68 65 20 47 4e 55 20 | 47 65 6e 65 72 61 6c 20 |the GNU |General |
|00000890| 50 75 62 6c 69 63 20 4c | 69 63 65 6e 73 65 20 77 |Public L|icense w|
|000008a0| 68 69 63 68 20 69 73 20 | 65 6e 63 6c 6f 73 65 64 |hich is |enclosed|
|000008b0| 0a 77 69 74 68 20 74 68 | 65 20 64 69 73 74 72 69 |.with th|e distri|
|000008c0| 62 75 74 69 6f 6e 20 61 | 73 20 74 68 65 20 66 69 |bution a|s the fi|
|000008d0| 6c 65 20 63 61 6c 6c 65 | 64 20 7b 5c 74 74 20 43 |le calle|d {\tt C|
|000008e0| 4f 50 59 49 4e 47 7d 2e | 0a 0a 49 66 20 79 6f 75 |OPYING}.|..If you|
|000008f0| 20 64 69 64 20 6e 6f 74 | 20 72 65 63 65 69 76 65 | did not| receive|
|00000900| 20 74 68 69 73 20 73 6f | 66 74 77 61 72 65 20 66 | this so|ftware f|
|00000910| 72 6f 6d 20 74 68 65 20 | 61 75 74 68 6f 72 20 62 |rom the |author b|
|00000920| 79 20 6d 61 67 6e 65 74 | 69 63 20 6d 65 64 69 61 |y magnet|ic media|
|00000930| 20 6f 72 0a 64 69 72 65 | 63 74 20 74 72 61 6e 73 | or.dire|ct trans|
|00000940| 6d 69 73 73 69 6f 6e 2c | 20 74 68 65 6e 20 70 6c |mission,| then pl|
|00000950| 65 61 73 65 20 74 61 6b | 65 20 74 68 65 20 74 69 |ease tak|e the ti|
|00000960| 6d 65 20 74 6f 20 72 65 | 67 69 73 74 65 72 20 79 |me to re|gister y|
|00000970| 6f 75 72 20 76 65 72 73 | 69 6f 6e 0a 73 6f 20 74 |our vers|ion.so t|
|00000980| 68 61 74 20 75 70 64 61 | 74 65 73 20 77 69 6c 6c |hat upda|tes will|
|00000990| 20 63 6f 6e 74 69 6e 75 | 65 20 74 6f 20 62 65 20 | continu|e to be |
|000009a0| 6f 66 66 65 72 65 64 20 | 69 6e 20 74 68 65 20 66 |offered |in the f|
|000009b0| 75 74 75 72 65 2e 20 20 | 41 20 6c 61 63 6b 20 6f |uture. |A lack o|
|000009c0| 66 0a 72 65 73 70 6f 6e | 73 65 20 77 69 6c 6c 20 |f.respon|se will |
|000009d0| 69 6e 64 69 63 61 74 65 | 20 74 68 61 74 20 74 68 |indicate| that th|
|000009e0| 65 20 70 72 6f 64 75 63 | 74 20 64 6f 65 73 20 6e |e produc|t does n|
|000009f0| 6f 74 20 64 65 73 65 72 | 76 65 20 66 75 72 74 68 |ot deser|ve furth|
|00000a00| 65 72 20 61 74 74 65 6e | 74 69 6f 6e 0a 61 6e 64 |er atten|tion.and|
|00000a10| 20 74 68 65 20 73 6f 66 | 74 77 61 72 65 20 77 69 | the sof|tware wi|
|00000a20| 6c 6c 20 62 65 20 6f 72 | 70 68 61 6e 65 64 3b 20 |ll be or|phaned; |
|00000a30| 61 20 73 74 72 6f 6e 67 | 20 72 65 73 70 6f 6e 73 |a strong| respons|
|00000a40| 65 20 77 69 6c 6c 20 64 | 65 6d 61 6e 64 20 72 61 |e will d|emand ra|
|00000a50| 70 69 64 0a 69 6d 70 72 | 6f 76 65 6d 65 6e 74 73 |pid.impr|ovements|
|00000a60| 20 69 6e 20 66 75 74 75 | 72 65 20 75 70 67 72 61 | in futu|re upgra|
|00000a70| 64 65 73 20 6f 66 20 74 | 68 65 20 70 72 6f 64 75 |des of t|he produ|
|00000a80| 63 74 2e 0a 0a 54 6f 20 | 72 65 67 69 73 74 65 72 |ct...To |register|
|00000a90| 20 73 69 6d 70 6c 79 20 | 73 65 6e 64 20 61 20 6c | simply |send a l|
|00000aa0| 65 74 74 65 72 20 6f 72 | 20 70 6f 73 74 63 61 72 |etter or| postcar|
|00000ab0| 64 20 77 69 74 68 20 79 | 6f 75 72 20 6e 61 6d 65 |d with y|our name|
|00000ac0| 20 28 61 6e 64 20 63 6f | 6d 70 61 6e 79 2c 0a 69 | (and co|mpany,.i|
|00000ad0| 66 20 69 74 20 69 73 20 | 75 73 69 6e 67 20 74 68 |f it is |using th|
|00000ae0| 65 20 70 72 6f 64 75 63 | 74 29 2c 20 61 64 64 72 |e produc|t), addr|
|00000af0| 65 73 73 2c 20 61 6e 64 | 20 74 65 6c 65 70 68 6f |ess, and| telepho|
|00000b00| 6e 65 20 6e 75 6d 62 65 | 72 2c 20 61 6c 6f 6e 67 |ne numbe|r, along|
|00000b10| 20 77 69 74 68 20 74 68 | 65 0a 6e 61 6d 65 20 61 | with th|e.name a|
|00000b20| 6e 64 20 76 65 72 73 69 | 6f 6e 20 6e 75 6d 62 65 |nd versi|on numbe|
|00000b30| 72 20 6f 66 20 74 68 65 | 20 70 72 6f 64 75 63 74 |r of the| product|
|00000b40| 20 79 6f 75 20 61 72 65 | 20 72 65 67 69 73 74 65 | you are| registe|
|00000b50| 72 69 6e 67 2e 0a 0a 49 | 66 20 79 6f 75 20 61 72 |ring...I|f you ar|
|00000b60| 65 20 61 6c 72 65 61 64 | 79 20 72 65 67 69 73 74 |e alread|y regist|
|00000b70| 65 72 65 64 20 6f 72 20 | 69 66 20 79 6f 75 20 61 |ered or |if you a|
|00000b80| 72 65 20 70 72 65 73 65 | 6e 74 6c 79 20 72 65 67 |re prese|ntly reg|
|00000b90| 69 73 74 65 72 69 6e 67 | 2c 20 79 6f 75 20 6d 61 |istering|, you ma|
|00000ba0| 79 0a 72 65 63 65 69 76 | 65 20 61 6e 20 75 70 67 |y.receiv|e an upg|
|00000bb0| 72 61 64 65 20 64 69 72 | 65 63 74 20 66 72 6f 6d |rade dir|ect from|
|00000bc0| 20 74 68 65 20 61 75 74 | 68 6f 72 20 62 79 20 73 | the aut|hor by s|
|00000bd0| 65 6e 64 69 6e 67 20 61 | 20 6d 6f 6e 65 79 20 6f |ending a| money o|
|00000be0| 72 64 65 72 20 69 6e 20 | 74 68 65 0a 61 6d 6f 75 |rder in |the.amou|
|00000bf0| 6e 74 20 6f 66 20 43 44 | 4e 5c 24 32 30 2e 30 30 |nt of CD|N\$20.00|
|00000c00| 20 28 7b 5c 62 66 20 74 | 77 65 6e 74 79 20 43 61 | ({\bf t|wenty Ca|
|00000c10| 6e 61 64 69 61 6e 20 64 | 6f 6c 6c 61 72 73 7d 29 |nadian d|ollars})|
|00000c20| 20 70 61 79 61 62 6c 65 | 20 74 6f 20 74 68 65 20 | payable| to the |
|00000c30| 61 75 74 68 6f 72 2c 0a | 42 65 6e 20 45 6e 67 2c |author,.|Ben Eng,|
|00000c40| 20 74 6f 20 74 68 65 20 | 61 64 64 72 65 73 73 20 | to the |address |
|00000c50| 67 69 76 65 6e 20 6f 6e | 20 74 68 65 20 69 6e 73 |given on| the ins|
|00000c60| 69 64 65 20 63 6f 76 65 | 72 20 6f 66 20 74 68 69 |ide cove|r of thi|
|00000c70| 73 20 6d 61 6e 75 61 6c | 20 6f 72 20 69 6e 20 74 |s manual| or in t|
|00000c80| 68 65 0a 7b 5c 74 74 20 | 52 45 41 44 4d 45 7d 20 |he.{\tt |README} |
|00000c90| 66 69 6c 65 2c 20 61 6c | 6f 6e 67 20 77 69 74 68 |file, al|ong with|
|00000ca0| 20 61 20 6c 65 74 74 65 | 72 20 72 65 71 75 65 73 | a lette|r reques|
|00000cb0| 74 69 6e 67 20 61 6e 20 | 75 70 67 72 61 64 65 20 |ting an |upgrade |
|00000cc0| 28 70 6c 65 61 73 65 2c | 0a 6d 65 6e 74 69 6f 6e |(please,|.mention|
|00000cd0| 20 74 68 65 20 6e 61 6d | 65 20 6f 66 20 74 68 65 | the nam|e of the|
|00000ce0| 20 70 72 6f 64 75 63 74 | 29 2e 20 20 54 68 65 20 | product|). The |
|00000cf0| 6c 61 74 65 73 74 20 72 | 65 6c 65 61 73 65 20 6f |latest r|elease o|
|00000d00| 66 20 74 68 65 20 72 65 | 71 75 65 73 74 65 64 0a |f the re|quested.|
|00000d10| 70 72 6f 64 75 63 74 20 | 77 69 6c 6c 20 62 65 20 |product |will be |
|00000d20| 70 72 6f 6d 70 74 6c 79 | 20 73 65 6e 74 20 6f 75 |promptly| sent ou|
|00000d30| 74 20 74 6f 20 79 6f 75 | 2c 20 6f 72 20 61 74 20 |t to you|, or at |
|00000d40| 79 6f 75 72 20 72 65 71 | 75 65 73 74 20 61 20 6c |your req|uest a l|
|00000d50| 61 74 65 72 0a 72 65 6c | 65 61 73 65 20 77 69 6c |ater.rel|ease wil|
|00000d60| 6c 20 62 65 20 6d 61 69 | 6c 65 64 20 74 6f 20 79 |l be mai|led to y|
|00000d70| 6f 75 20 77 68 65 6e 20 | 69 74 20 69 73 20 61 76 |ou when |it is av|
|00000d80| 61 69 6c 61 62 6c 65 20 | 28 69 65 2e 20 20 69 66 |ailable |(ie. if|
|00000d90| 20 79 6f 75 20 61 72 65 | 20 77 61 69 74 69 6e 67 | you are| waiting|
|00000da0| 0a 66 6f 72 20 61 20 66 | 65 61 74 75 72 65 20 74 |.for a f|eature t|
|00000db0| 6f 20 62 65 20 61 64 64 | 65 64 29 2e 20 20 54 68 |o be add|ed). Th|
|00000dc0| 65 20 70 72 69 63 65 20 | 63 6f 76 65 72 73 20 74 |e price |covers t|
|00000dd0| 68 65 20 63 6f 73 74 20 | 6f 66 20 74 68 65 20 6d |he cost |of the m|
|00000de0| 65 64 69 61 20 61 6e 64 | 0a 73 68 69 70 70 69 6e |edia and|.shippin|
|00000df0| 67 2e 0a 0a 0a 5c 63 68 | 61 70 74 65 72 7b 54 68 |g....\ch|apter{Th|
|00000e00| 65 20 4d 61 6b 65 20 50 | 72 6f 67 72 61 6d 7d 0a |e Make P|rogram}.|
|00000e10| 0a 5c 73 65 63 74 69 6f | 6e 7b 49 6e 74 72 6f 64 |.\sectio|n{Introd|
|00000e20| 75 63 74 69 6f 6e 7d 0a | 0a 54 68 65 20 4d 61 6b |uction}.|.The Mak|
|00000e30| 65 20 70 72 6f 67 72 61 | 6d 20 77 61 73 20 77 72 |e progra|m was wr|
|00000e40| 69 74 74 65 6e 20 74 6f | 20 72 65 64 75 63 65 20 |itten to| reduce |
|00000e50| 74 68 65 20 74 65 64 69 | 75 6d 20 69 6e 76 6f 6c |the tedi|um invol|
|00000e60| 76 65 64 20 69 6e 20 64 | 65 76 65 6c 6f 70 69 6e |ved in d|evelopin|
|00000e70| 67 0a 73 6f 66 74 77 61 | 72 65 2e 20 20 41 20 70 |g.softwa|re. A p|
|00000e80| 72 6f 67 72 61 6d 20 75 | 6e 64 65 72 20 64 65 76 |rogram u|nder dev|
|00000e90| 65 6c 6f 70 6d 65 6e 74 | 20 75 73 75 61 6c 6c 79 |elopment| usually|
|00000ea0| 20 6e 65 65 64 73 20 74 | 6f 20 62 65 20 72 65 63 | needs t|o be rec|
|00000eb0| 6f 6d 70 69 6c 65 64 0a | 6d 61 6e 79 20 74 69 6d |ompiled.|many tim|
|00000ec0| 65 73 20 70 65 72 20 64 | 61 79 2e 20 20 54 79 70 |es per d|ay. Typ|
|00000ed0| 69 6e 67 20 6f 75 74 20 | 74 68 65 20 66 75 6c 6c |ing out |the full|
|00000ee0| 20 63 6f 6d 6d 61 6e 64 | 20 6c 69 6e 65 20 66 6f | command| line fo|
|00000ef0| 72 20 65 61 63 68 20 73 | 74 65 70 20 6f 66 20 74 |r each s|tep of t|
|00000f00| 68 65 0a 63 6f 6d 70 69 | 6c 61 74 69 6f 6e 20 62 |he.compi|lation b|
|00000f10| 65 63 6f 6d 65 73 20 65 | 78 63 65 65 64 69 6e 67 |ecomes e|xceeding|
|00000f20| 6c 79 20 74 65 64 69 6f | 75 73 2c 20 61 6e 64 20 |ly tedio|us, and |
|00000f30| 61 20 73 68 65 6c 6c 20 | 73 63 72 69 70 74 20 69 |a shell |script i|
|00000f40| 73 20 74 6f 6f 20 63 72 | 75 64 65 20 74 6f 0a 66 |s too cr|ude to.f|
|00000f50| 69 67 75 72 65 20 6f 75 | 74 20 74 68 65 20 6d 6f |igure ou|t the mo|
|00000f60| 73 74 20 65 66 66 69 63 | 69 65 6e 74 20 77 61 79 |st effic|ient way|
|00000f70| 20 74 6f 20 72 65 63 6f | 6d 70 69 6c 65 20 61 20 | to reco|mpile a |
|00000f80| 6c 61 72 67 65 20 73 65 | 74 20 6f 66 20 73 6f 75 |large se|t of sou|
|00000f90| 72 63 65 20 66 69 6c 65 | 73 2e 0a 54 68 65 20 4d |rce file|s..The M|
|00000fa0| 61 6b 65 20 70 72 6f 67 | 72 61 6d 20 73 75 69 74 |ake prog|ram suit|
|00000fb0| 73 20 74 68 69 73 20 70 | 75 72 70 6f 73 65 20 77 |s this p|urpose w|
|00000fc0| 65 6c 6c 2e 0a 0a 57 69 | 74 68 20 61 20 70 72 6f |ell...Wi|th a pro|
|00000fd0| 70 65 72 6c 79 20 77 72 | 69 74 74 65 6e 20 4d 61 |perly wr|itten Ma|
|00000fe0| 6b 65 66 69 6c 65 20 69 | 6e 20 74 68 65 20 63 75 |kefile i|n the cu|
|00000ff0| 72 72 65 6e 74 20 64 69 | 72 65 63 74 6f 72 79 2c |rrent di|rectory,|
|00001000| 20 61 6c 6c 20 74 68 61 | 74 20 6e 65 65 64 73 0a | all tha|t needs.|
|00001010| 74 6f 20 62 65 20 74 79 | 70 65 64 20 74 6f 20 62 |to be ty|ped to b|
|00001020| 75 69 6c 64 20 74 68 65 | 20 70 72 6f 6a 65 63 74 |uild the| project|
|00001030| 20 75 6e 64 65 72 20 64 | 65 76 65 6c 6f 70 6d 65 | under d|evelopme|
|00001040| 6e 74 20 69 73 20 7b 5c | 74 74 20 6d 61 6b 65 7d |nt is {\|tt make}|
|00001050| 2e 20 20 54 6f 20 62 75 | 69 6c 64 0a 6f 6e 6c 79 |. To bu|ild.only|
|00001060| 20 61 20 73 75 62 73 65 | 74 20 6f 66 20 74 68 65 | a subse|t of the|
|00001070| 20 70 72 6f 6a 65 63 74 | 20 64 65 66 69 6e 65 64 | project| defined|
|00001080| 20 69 6e 20 74 68 65 20 | 4d 61 6b 65 66 69 6c 65 | in the |Makefile|
|00001090| 2c 20 73 69 6d 70 6c 79 | 20 74 79 70 65 20 7b 5c |, simply| type {\|
|000010a0| 74 74 0a 6d 61 6b 65 7e | 5c 69 74 20 67 6f 61 6c |tt.make~|\it goal|
|000010b0| 6e 61 6d 65 7d 2c 20 77 | 68 65 72 65 20 7b 5c 69 |name}, w|here {\i|
|000010c0| 74 20 67 6f 61 6c 6e 61 | 6d 65 7d 20 69 73 20 74 |t goalna|me} is t|
|000010d0| 68 65 20 6e 61 6d 65 20 | 6f 66 20 74 68 65 20 67 |he name |of the g|
|000010e0| 6f 61 6c 2c 20 74 68 61 | 74 0a 72 65 71 75 69 72 |oal, tha|t.requir|
|000010f0| 65 73 20 72 65 62 75 69 | 6c 64 69 6e 67 2e 20 20 |es rebui|lding. |
|00001100| 54 68 65 20 61 63 74 75 | 61 6c 20 64 65 70 65 6e |The actu|al depen|
|00001110| 64 65 6e 63 69 65 73 20 | 74 68 61 74 20 6d 75 73 |dencies |that mus|
|00001120| 74 20 62 65 20 63 68 65 | 63 6b 65 64 20 61 6e 64 |t be che|cked and|
|00001130| 20 74 68 65 0a 63 6f 6d | 6d 61 6e 64 73 20 77 68 | the.com|mands wh|
|00001140| 69 63 68 20 6d 75 73 74 | 20 62 65 20 65 78 65 63 |ich must| be exec|
|00001150| 75 74 65 64 20 61 72 65 | 20 61 6c 6c 20 74 61 6b |uted are| all tak|
|00001160| 65 6e 20 63 61 72 65 20 | 6f 66 20 69 6e 20 74 68 |en care |of in th|
|00001170| 65 20 4d 61 6b 65 66 69 | 6c 65 20 61 6e 64 0a 74 |e Makefi|le and.t|
|00001180| 68 65 20 62 75 69 6c 74 | 69 6e 20 72 75 6c 65 73 |he built|in rules|
|00001190| 2e 0a 0a 5c 73 65 63 74 | 69 6f 6e 7b 43 6f 6d 6d |...\sect|ion{Comm|
|000011a0| 61 6e 64 20 4c 69 6e 65 | 20 41 72 67 75 6d 65 6e |and Line| Argumen|
|000011b0| 74 73 7d 0a 0a 53 6f 6d | 65 74 69 6d 65 73 20 69 |ts}..Som|etimes i|
|000011c0| 74 20 69 73 20 6e 65 63 | 65 73 73 61 72 79 20 74 |t is nec|essary t|
|000011d0| 6f 20 61 6c 74 65 72 20 | 74 68 65 20 62 65 68 61 |o alter |the beha|
|000011e0| 76 69 6f 75 72 20 6f 66 | 20 74 68 65 20 4d 61 6b |viour of| the Mak|
|000011f0| 65 20 70 72 6f 67 72 61 | 6d 20 64 75 65 20 74 6f |e progra|m due to|
|00001200| 0a 73 70 65 63 69 61 6c | 20 63 69 72 63 75 6d 73 |.special| circums|
|00001210| 74 61 6e 63 65 73 2e 20 | 20 43 6f 6d 6d 61 6e 64 |tances. | Command|
|00001220| 20 6c 69 6e 65 20 61 72 | 67 75 6d 65 6e 74 73 20 | line ar|guments |
|00001230| 61 72 65 20 70 72 6f 76 | 69 64 65 64 20 74 6f 20 |are prov|ided to |
|00001240| 63 6f 6e 74 72 6f 6c 20 | 68 6f 77 0a 74 68 65 20 |control |how.the |
|00001250| 4d 61 6b 65 20 70 72 6f | 67 72 61 6d 20 6f 70 65 |Make pro|gram ope|
|00001260| 72 61 74 65 73 2e 0a 0a | 5c 62 65 67 69 6e 7b 74 |rates...|\begin{t|
|00001270| 61 62 75 6c 61 72 7d 7b | 6c 6c 7d 0a 7b 2d 61 7d |abular}{|ll}.{-a}|
|00001280| 09 26 20 6d 61 6b 65 20 | 61 6c 6c 20 64 65 70 65 |.& make |all depe|
|00001290| 6e 64 65 6e 63 69 65 73 | 20 72 65 67 61 72 64 6c |ndencies| regardl|
|000012a0| 65 73 73 20 6f 66 20 6d | 6f 64 69 66 69 63 61 74 |ess of m|odificat|
|000012b0| 69 6f 6e 20 74 69 6d 65 | 20 5c 5c 0a 7b 2d 62 7d |ion time| \\.{-b}|
|000012c0| 09 26 20 64 6f 20 6e 6f | 74 20 75 73 65 20 62 75 |.& do no|t use bu|
|000012d0| 69 6c 74 69 6e 20 72 75 | 6c 65 73 20 5c 5c 0a 7b |iltin ru|les \\.{|
|000012e0| 2d 64 7d 09 26 20 64 65 | 62 75 67 20 6d 6f 64 65 |-d}.& de|bug mode|
|000012f0| 20 28 65 6e 61 62 6c 65 | 20 70 72 69 6e 74 66 29 | (enable| printf)|
|00001300| 20 5c 5c 0a 7b 2b 6d 5c | 23 7d 09 26 20 73 65 74 | \\.{+m\|#}.& set|
|00001310| 73 20 74 68 65 20 6d 61 | 78 69 6d 75 6d 20 6c 69 |s the ma|ximum li|
|00001320| 6e 65 20 6c 65 6e 67 74 | 68 20 74 6f 20 5c 23 20 |ne lengt|h to \# |
|00001330| 28 6d 69 6e 69 6d 75 6d | 3d 31 30 32 34 29 20 5c |(minimum|=1024) \|
|00001340| 5c 0a 7b 2d 6e 7d 09 26 | 20 70 72 69 6e 74 73 20 |\.{-n}.&| prints |
|00001350| 63 6f 6d 6d 61 6e 64 73 | 20 74 6f 20 62 65 20 65 |commands| to be e|
|00001360| 78 65 63 75 74 65 64 2c | 20 62 75 74 20 64 6f 20 |xecuted,| but do |
|00001370| 6e 6f 74 20 65 78 65 63 | 75 74 65 20 74 68 65 6d |not exec|ute them|
|00001380| 20 5c 5c 0a 7b 2d 70 7d | 09 26 20 70 72 69 6e 74 | \\.{-p}|.& print|
|00001390| 73 20 74 68 65 20 64 61 | 74 61 62 61 73 65 2c 20 |s the da|tabase, |
|000013a0| 62 75 74 20 64 6f 20 6e | 6f 74 20 72 75 6e 20 5c |but do n|ot run \|
|000013b0| 5c 0a 7b 2d 74 7d 09 26 | 20 6d 61 6b 65 20 74 61 |\.{-t}.&| make ta|
|000013c0| 72 67 65 74 73 20 75 70 | 2d 74 6f 2d 64 61 74 65 |rgets up|-to-date|
|000013d0| 20 62 79 20 74 6f 75 63 | 68 69 6e 67 20 28 63 6f | by touc|hing (co|
|000013e0| 6d 6d 61 6e 64 73 20 6e | 6f 74 20 65 78 65 63 75 |mmands n|ot execu|
|000013f0| 74 65 64 29 20 5c 5c 0a | 7b 2d 76 5c 23 7d 09 26 |ted) \\.|{-v\#}.&|
|00001400| 20 73 65 74 20 76 65 72 | 62 6f 73 65 20 6c 65 76 | set ver|bose lev|
|00001410| 65 6c 20 74 6f 20 5c 23 | 3b 20 30 3d 73 69 6c 65 |el to \#|; 0=sile|
|00001420| 6e 74 20 5c 5c 0a 7b 2d | 66 7b 5c 65 6d 20 6d 61 |nt \\.{-|f{\em ma|
|00001430| 6b 65 66 69 6c 65 7d 7d | 09 26 20 73 70 65 63 69 |kefile}}|.& speci|
|00001440| 66 79 20 74 68 65 20 6d | 61 6b 65 66 69 6c 65 20 |fy the m|akefile |
|00001450| 74 6f 20 72 75 6e 20 5c | 5c 0a 7b 7b 5c 62 66 20 |to run \|\.{{\bf |
|00001460| 76 61 72 7d 3d 7b 5c 65 | 6d 20 76 61 6c 75 65 7d |var}={\e|m value}|
|00001470| 7d 09 26 20 61 73 73 69 | 67 6e 73 20 74 68 65 20 |}.& assi|gns the |
|00001480| 76 61 6c 75 65 20 74 6f | 20 61 20 76 61 72 69 61 |value to| a varia|
|00001490| 62 6c 65 20 5c 5c 0a 7b | 7b 5c 65 6d 20 77 69 6c |ble \\.{|{\em wil|
|000014a0| 64 63 61 72 64 73 7d 7d | 09 26 20 73 70 65 63 69 |dcards}}|.& speci|
|000014b0| 66 79 20 74 61 72 67 65 | 74 73 20 74 6f 20 6d 61 |fy targe|ts to ma|
|000014c0| 6b 65 0a 5c 65 6e 64 7b | 74 61 62 75 6c 61 72 7d |ke.\end{|tabular}|
|000014d0| 0a 0a 54 68 65 20 4d 61 | 6b 65 20 70 72 6f 67 72 |..The Ma|ke progr|
|000014e0| 61 6d 20 72 65 71 75 69 | 72 65 73 20 41 6d 69 67 |am requi|res Amig|
|000014f0| 61 20 4f 53 20 32 2e 30 | 20 74 6f 20 72 75 6e 20 |a OS 2.0| to run |
|00001500| 77 69 74 68 20 6d 61 78 | 69 6d 75 6d 20 63 61 70 |with max|imum cap|
|00001510| 61 62 69 6c 69 74 79 2e | 0a 55 6e 64 65 72 20 41 |ability.|.Under A|
|00001520| 6d 69 67 61 20 4f 53 20 | 31 2e 33 2c 20 74 68 65 |miga OS |1.3, the|
|00001530| 72 65 20 69 73 20 6e 6f | 20 77 69 6c 64 63 61 72 |re is no| wildcar|
|00001540| 64 20 73 75 70 70 6f 72 | 74 2e 20 20 52 75 6e 20 |d suppor|t. Run |
|00001550| 74 68 65 20 70 72 6f 67 | 72 61 6d 20 77 69 74 68 |the prog|ram with|
|00001560| 20 74 68 65 0a 61 72 67 | 75 6d 65 6e 74 20 7b 5c | the.arg|ument {\|
|00001570| 74 74 20 3f 7d 20 74 6f | 20 73 65 65 20 69 74 73 |tt ?} to| see its|
|00001580| 20 75 73 61 67 65 2c 20 | 6f 72 20 7b 5c 74 74 20 | usage, |or {\tt |
|00001590| 2d 68 7d 20 74 6f 20 67 | 65 74 20 6d 6f 72 65 20 |-h} to g|et more |
|000015a0| 64 65 73 63 72 69 70 74 | 69 76 65 20 68 65 6c 70 |descript|ive help|
|000015b0| 0a 6f 6e 20 61 63 63 65 | 70 74 61 62 6c 65 20 63 |.on acce|ptable c|
|000015c0| 6f 6d 6d 61 6e 64 20 6c | 69 6e 65 20 61 72 67 75 |ommand l|ine argu|
|000015d0| 6d 65 6e 74 73 2e 0a 0a | 54 68 65 20 65 6e 76 69 |ments...|The envi|
|000015e0| 72 6f 6e 6d 65 6e 74 20 | 76 61 72 69 61 62 6c 65 |ronment |variable|
|000015f0| 20 7b 5c 74 74 20 45 4e | 56 3a 73 79 73 74 65 6d | {\tt EN|V:system|
|00001600| 7d 20 63 61 6e 20 62 65 | 20 73 65 74 20 74 6f 20 |} can be| set to |
|00001610| 7b 5c 74 74 20 79 65 73 | 7d 20 69 66 20 79 6f 75 |{\tt yes|} if you|
|00001620| 0a 77 69 73 68 20 74 68 | 65 20 63 6f 6d 6d 61 6e |.wish th|e comman|
|00001630| 64 20 65 78 65 63 75 74 | 69 6f 6e 20 74 6f 20 75 |d execut|ion to u|
|00001640| 73 65 20 74 68 65 20 41 | 6d 69 67 61 20 4f 53 20 |se the A|miga OS |
|00001650| 32 2e 30 20 53 79 73 74 | 65 6d 28 29 20 63 61 6c |2.0 Syst|em() cal|
|00001660| 6c 2e 20 20 49 66 0a 7b | 5c 74 74 20 45 4e 56 3a |l. If.{|\tt ENV:|
|00001670| 73 79 73 74 65 6d 7d 20 | 69 73 20 73 65 74 20 74 |system} |is set t|
|00001680| 6f 20 7b 5c 74 74 20 6e | 6f 7d 2c 20 74 68 65 20 |o {\tt n|o}, the |
|00001690| 41 6d 69 67 61 20 4f 53 | 20 45 78 65 63 75 74 65 |Amiga OS| Execute|
|000016a0| 28 29 20 63 61 6c 6c 20 | 69 73 20 75 73 65 64 2e |() call |is used.|
|000016b0| 0a 54 68 65 20 6c 61 74 | 74 65 72 20 69 73 20 64 |.The lat|ter is d|
|000016c0| 65 73 69 72 61 62 6c 65 | 20 69 66 20 79 6f 75 20 |esirable| if you |
|000016d0| 61 72 65 20 73 74 69 6c | 6c 20 72 75 6e 6e 69 6e |are stil|l runnin|
|000016e0| 67 20 77 69 74 68 20 61 | 20 73 68 65 6c 6c 20 74 |g with a| shell t|
|000016f0| 68 61 74 20 64 6f 65 73 | 20 6e 6f 74 0a 73 75 70 |hat does| not.sup|
|00001700| 70 6f 72 74 20 74 68 65 | 20 32 2e 30 20 63 6f 6e |port the| 2.0 con|
|00001710| 76 65 6e 74 69 6f 6e 73 | 20 28 57 53 68 65 6c 6c |ventions| (WShell|
|00001720| 20 31 2e 32 20 66 61 6c | 6c 73 20 75 6e 64 65 72 | 1.2 fal|ls under|
|00001730| 20 74 68 69 73 20 63 61 | 74 65 67 6f 72 79 29 2e | this ca|tegory).|
|00001740| 0a 0a 0a 5c 63 68 61 70 | 74 65 72 7b 54 68 65 20 |...\chap|ter{The |
|00001750| 4d 61 6b 65 66 69 6c 65 | 7d 0a 0a 5c 73 65 63 74 |Makefile|}..\sect|
|00001760| 69 6f 6e 7b 49 6e 74 72 | 6f 64 75 63 74 69 6f 6e |ion{Intr|oduction|
|00001770| 7d 0a 0a 54 68 65 20 4d | 61 6b 65 66 69 6c 65 20 |}..The M|akefile |
|00001780| 69 73 20 61 20 74 65 78 | 74 20 66 69 6c 65 20 77 |is a tex|t file w|
|00001790| 72 69 74 74 65 6e 20 74 | 6f 20 6d 61 69 6e 74 61 |ritten t|o mainta|
|000017a0| 69 6e 20 74 68 65 20 63 | 6f 6e 73 74 72 75 63 74 |in the c|onstruct|
|000017b0| 69 6f 6e 20 6f 66 20 61 | 6e 0a 6f 75 74 70 75 74 |ion of a|n.output|
|000017c0| 20 66 69 6c 65 20 66 72 | 6f 6d 20 61 20 73 65 74 | file fr|om a set|
|000017d0| 20 6f 66 20 73 6f 75 72 | 63 65 20 66 69 6c 65 73 | of sour|ce files|
|000017e0| 2e 20 20 4e 6f 72 6d 61 | 6c 6c 79 2c 20 61 20 4d |. Norma|lly, a M|
|000017f0| 61 6b 65 66 69 6c 65 20 | 69 73 20 75 73 65 64 20 |akefile |is used |
|00001800| 74 6f 0a 64 65 66 69 6e | 65 20 74 68 65 20 72 75 |to.defin|e the ru|
|00001810| 6c 65 73 20 66 6f 72 20 | 62 75 69 6c 64 69 6e 67 |les for |building|
|00001820| 20 61 6e 20 65 78 65 63 | 75 74 61 62 6c 65 20 62 | an exec|utable b|
|00001830| 69 6e 61 72 79 20 66 69 | 6c 65 20 66 72 6f 6d 20 |inary fi|le from |
|00001840| 61 20 73 65 74 20 6f 66 | 0a 6f 62 6a 65 63 74 20 |a set of|.object |
|00001850| 66 69 6c 65 73 2c 20 77 | 68 69 63 68 20 61 72 65 |files, w|hich are|
|00001860| 20 63 72 65 61 74 65 64 | 20 62 79 20 63 6f 6d 70 | created| by comp|
|00001870| 69 6c 69 6e 67 20 73 6f | 75 72 63 65 20 66 69 6c |iling so|urce fil|
|00001880| 65 73 2e 0a 0a 54 68 65 | 20 4d 61 6b 65 20 70 72 |es...The| Make pr|
|00001890| 6f 67 72 61 6d 20 77 69 | 6c 6c 20 72 65 61 64 20 |ogram wi|ll read |
|000018a0| 69 6e 20 74 68 65 20 4d | 61 6b 65 66 69 6c 65 20 |in the M|akefile |
|000018b0| 61 6e 64 20 75 73 65 20 | 74 68 65 20 72 75 6c 65 |and use |the rule|
|000018c0| 73 20 74 6f 20 64 65 74 | 65 72 6d 69 6e 65 0a 77 |s to det|ermine.w|
|000018d0| 68 69 63 68 20 73 6f 75 | 72 63 65 20 66 69 6c 65 |hich sou|rce file|
|000018e0| 73 20 72 65 71 75 69 72 | 65 20 72 65 63 6f 6d 70 |s requir|e recomp|
|000018f0| 69 6c 61 74 69 6f 6e 2c | 20 61 6e 64 20 77 68 65 |ilation,| and whe|
|00001900| 74 68 65 72 20 6f 72 20 | 6e 6f 74 20 74 68 65 20 |ther or |not the |
|00001910| 65 78 65 63 75 74 61 62 | 6c 65 0a 66 69 6c 65 20 |executab|le.file |
|00001920| 6e 65 65 64 73 20 74 6f | 20 62 65 20 72 65 6c 69 |needs to| be reli|
|00001930| 6e 6b 65 64 2e 20 20 46 | 6f 72 20 6c 61 72 67 65 |nked. F|or large|
|00001940| 20 70 72 6f 6a 65 63 74 | 73 20 77 69 74 68 20 64 | project|s with d|
|00001950| 6f 7a 65 6e 73 20 6f 66 | 20 73 6f 75 72 63 65 20 |ozens of| source |
|00001960| 66 69 6c 65 73 2c 0a 61 | 6e 64 20 63 6f 6d 70 6c |files,.a|nd compl|
|00001970| 65 78 20 69 6e 74 65 72 | 64 65 70 65 6e 64 65 6e |ex inter|dependen|
|00001980| 63 69 65 73 20 62 65 74 | 77 65 65 6e 20 74 68 65 |cies bet|ween the|
|00001990| 20 73 6f 75 72 63 65 20 | 61 6e 64 20 69 6e 63 6c | source |and incl|
|000019a0| 75 64 65 20 66 69 6c 65 | 73 2c 20 74 68 65 20 75 |ude file|s, the u|
|000019b0| 73 65 0a 6f 66 20 61 20 | 4d 61 6b 65 20 70 72 6f |se.of a |Make pro|
|000019c0| 67 72 61 6d 20 77 69 74 | 68 20 61 20 70 72 6f 70 |gram wit|h a prop|
|000019d0| 65 72 6c 79 20 77 72 69 | 74 74 65 6e 20 4d 61 6b |erly wri|tten Mak|
|000019e0| 65 66 69 6c 65 20 69 73 | 20 65 73 73 65 6e 74 69 |efile is| essenti|
|000019f0| 61 6c 20 66 6f 72 0a 65 | 6e 73 75 72 69 6e 67 20 |al for.e|nsuring |
|00001a00| 74 68 61 74 20 74 68 65 | 20 65 78 65 63 75 74 61 |that the| executa|
|00001a10| 62 6c 65 20 69 73 20 75 | 70 2d 74 6f 2d 64 61 74 |ble is u|p-to-dat|
|00001a20| 65 2e 20 20 44 75 72 69 | 6e 67 20 74 68 65 20 64 |e. Duri|ng the d|
|00001a30| 65 76 65 6c 6f 70 6d 65 | 6e 74 20 63 79 63 6c 65 |evelopme|nt cycle|
|00001a40| 2c 0a 74 68 65 20 74 65 | 64 69 75 6d 20 6f 66 20 |,.the te|dium of |
|00001a50| 6d 61 6e 75 61 6c 6c 79 | 20 72 65 63 6f 6d 70 69 |manually| recompi|
|00001a60| 6c 69 6e 67 20 6e 65 77 | 6c 79 20 6d 6f 64 69 66 |ling new|ly modif|
|00001a70| 69 65 64 20 73 6f 75 72 | 63 65 20 66 69 6c 65 73 |ied sour|ce files|
|00001a80| 20 69 73 20 72 65 6d 6f | 76 65 64 0a 66 72 6f 6d | is remo|ved.from|
|00001a90| 20 74 68 65 20 70 72 6f | 67 72 61 6d 6d 65 72 27 | the pro|grammer'|
|00001aa0| 73 20 72 65 73 70 6f 6e | 73 69 62 6c 69 74 79 2e |s respon|siblity.|
|00001ab0| 20 20 54 68 65 20 70 72 | 6f 63 65 64 75 72 65 20 | The pr|ocedure |
|00001ac0| 69 73 20 61 75 74 6f 6d | 61 74 65 64 20 62 79 20 |is autom|ated by |
|00001ad0| 74 68 65 0a 4d 61 6b 65 | 20 70 72 6f 67 72 61 6d |the.Make| program|
|00001ae0| 2c 20 73 6f 20 74 68 61 | 74 20 74 68 65 20 70 72 |, so tha|t the pr|
|00001af0| 6f 67 72 61 6d 6d 65 72 | 20 64 6f 65 73 20 6e 6f |ogrammer| does no|
|00001b00| 74 20 6e 65 65 64 20 74 | 6f 20 77 6f 72 72 79 20 |t need t|o worry |
|00001b10| 61 62 6f 75 74 20 77 68 | 69 63 68 0a 66 69 6c 65 |about wh|ich.file|
|00001b20| 73 20 6e 65 65 64 20 74 | 6f 20 62 65 20 75 70 64 |s need t|o be upd|
|00001b30| 61 74 65 64 20 61 6e 64 | 20 68 6f 77 20 74 6f 20 |ated and| how to |
|00001b40| 70 65 72 66 6f 72 6d 20 | 74 68 65 20 75 70 64 61 |perform |the upda|
|00001b50| 74 69 6e 67 2e 0a 0a 46 | 6f 72 20 6d 6f 73 74 20 |ting...F|or most |
|00001b60| 61 70 70 6c 69 63 61 74 | 69 6f 6e 73 20 61 20 4d |applicat|ions a M|
|00001b70| 61 6b 65 66 69 6c 65 20 | 69 73 20 65 61 73 79 20 |akefile |is easy |
|00001b80| 74 6f 20 77 72 69 74 65 | 2e 20 20 41 20 66 65 77 |to write|. A few|
|00001b90| 20 6d 69 6e 75 74 65 73 | 20 73 70 65 6e 74 0a 77 | minutes| spent.w|
|00001ba0| 72 69 74 69 6e 67 20 61 | 20 4d 61 6b 65 66 69 6c |riting a| Makefil|
|00001bb0| 65 20 63 61 6e 20 73 61 | 76 65 20 74 68 65 20 70 |e can sa|ve the p|
|00001bc0| 72 6f 67 72 61 6d 6d 65 | 72 20 61 20 67 72 65 61 |rogramme|r a grea|
|00001bd0| 74 20 64 65 61 6c 20 6f | 66 20 74 69 6d 65 20 74 |t deal o|f time t|
|00001be0| 68 61 74 20 6d 61 79 0a | 68 61 76 65 20 62 65 65 |hat may.|have bee|
|00001bf0| 6e 20 77 61 73 74 65 64 | 20 74 65 64 69 6f 75 73 |n wasted| tedious|
|00001c00| 6c 79 20 74 79 70 69 6e | 67 20 69 6e 20 63 6f 6d |ly typin|g in com|
|00001c10| 6d 61 6e 64 20 6c 69 6e | 65 73 20 74 6f 20 72 65 |mand lin|es to re|
|00001c20| 63 6f 6d 70 69 6c 65 20 | 61 20 70 72 6f 6a 65 63 |compile |a projec|
|00001c30| 74 2e 0a 54 68 65 20 4d | 61 6b 65 20 70 72 6f 67 |t..The M|ake prog|
|00001c40| 72 61 6d 20 77 61 73 20 | 64 65 73 69 67 6e 65 64 |ram was |designed|
|00001c50| 20 74 6f 20 6d 61 6b 65 | 20 74 68 65 20 72 65 62 | to make| the reb|
|00001c60| 75 69 6c 64 69 6e 67 20 | 70 72 6f 63 65 64 75 72 |uilding |procedur|
|00001c70| 65 20 74 72 69 76 69 61 | 6c 20 61 6e 64 0a 72 65 |e trivia|l and.re|
|00001c80| 6c 69 61 62 6c 65 2e 0a | 0a 5c 73 65 63 74 69 6f |liable..|.\sectio|
|00001c90| 6e 7b 44 65 73 63 72 69 | 70 74 69 6f 6e 7d 0a 0a |n{Descri|ption}..|
|00001ca0| 41 20 74 79 70 69 63 61 | 6c 20 4d 61 6b 65 66 69 |A typica|l Makefi|
|00001cb0| 6c 65 20 69 73 20 63 6f | 6d 70 6f 73 65 64 20 6f |le is co|mposed o|
|00001cc0| 66 20 74 68 72 65 65 20 | 62 61 73 69 63 20 63 6f |f three |basic co|
|00001cd0| 6e 73 74 72 75 63 74 73 | 3a 20 20 63 6f 6d 6d 65 |nstructs|: comme|
|00001ce0| 6e 74 73 2c 0a 76 61 72 | 69 61 62 6c 65 20 64 65 |nts,.var|iable de|
|00001cf0| 66 69 6e 69 74 69 6f 6e | 73 20 61 6e 64 20 72 75 |finition|s and ru|
|00001d00| 6c 65 73 2e 20 20 41 6e | 79 20 6c 69 6e 65 20 62 |les. An|y line b|
|00001d10| 65 67 69 6e 6e 69 6e 67 | 20 77 69 74 68 20 61 20 |eginning| with a |
|00001d20| 7b 5c 74 74 20 5c 23 7d | 0a 63 68 61 72 61 63 74 |{\tt \#}|.charact|
|00001d30| 65 72 20 69 73 20 63 6f | 6e 73 69 64 65 72 65 64 |er is co|nsidered|
|00001d40| 20 74 6f 20 62 65 20 61 | 20 63 6f 6d 6d 65 6e 74 | to be a| comment|
|00001d50| 20 6c 69 6e 65 2e 20 20 | 43 6f 6d 6d 65 6e 74 20 | line. |Comment |
|00001d60| 6c 69 6e 65 73 20 61 72 | 65 20 69 67 6e 6f 72 65 |lines ar|e ignore|
|00001d70| 64 20 62 79 0a 74 68 65 | 20 4d 61 6b 65 20 70 72 |d by.the| Make pr|
|00001d80| 6f 67 72 61 6d 2e 20 20 | 56 61 72 69 61 62 6c 65 |ogram. |Variable|
|00001d90| 73 20 28 61 6c 73 6f 20 | 6b 6e 6f 77 6e 20 61 73 |s (also |known as|
|00001da0| 20 6d 61 63 72 6f 73 29 | 20 61 6e 64 20 72 75 6c | macros)| and rul|
|00001db0| 65 73 20 61 72 65 0a 63 | 6f 6d 70 6c 69 63 61 74 |es are.c|omplicat|
|00001dc0| 65 64 20 74 6f 70 69 63 | 73 20 61 6e 64 20 74 68 |ed topic|s and th|
|00001dd0| 65 79 20 77 69 6c 6c 20 | 62 65 20 64 69 73 63 75 |ey will |be discu|
|00001de0| 73 73 65 64 20 69 6e 20 | 73 65 70 61 72 61 74 65 |ssed in |separate|
|00001df0| 20 73 65 63 74 69 6f 6e | 73 2e 0a 0a 54 68 65 20 | section|s...The |
|00001e00| 4d 61 6b 65 66 69 6c 65 | 20 69 73 20 77 72 69 74 |Makefile| is writ|
|00001e10| 74 65 6e 20 74 6f 20 64 | 65 66 69 6e 65 20 74 68 |ten to d|efine th|
|00001e20| 65 20 72 75 6c 65 73 20 | 66 6f 72 20 6d 61 6b 69 |e rules |for maki|
|00001e30| 6e 67 20 61 20 67 6f 61 | 6c 20 75 70 2d 74 6f 2d |ng a goa|l up-to-|
|00001e40| 64 61 74 65 2e 0a 41 20 | 67 6f 61 6c 20 66 69 6c |date..A |goal fil|
|00001e50| 65 20 69 73 20 75 70 2d | 74 6f 2d 64 61 74 65 20 |e is up-|to-date |
|00001e60| 69 66 20 69 74 20 68 61 | 73 20 61 20 6d 6f 64 69 |if it ha|s a modi|
|00001e70| 66 69 63 61 74 69 6f 6e | 20 64 61 74 65 73 74 61 |fication| datesta|
|00001e80| 6d 70 20 74 68 61 74 20 | 69 73 20 6d 6f 72 65 0a |mp that |is more.|
|00001e90| 72 65 63 65 6e 74 20 74 | 68 61 6e 20 61 6c 6c 20 |recent t|han all |
|00001ea0| 6f 66 20 69 74 73 20 64 | 65 70 65 6e 64 65 6e 63 |of its d|ependenc|
|00001eb0| 69 65 73 2c 20 61 66 74 | 65 72 20 61 6c 6c 20 64 |ies, aft|er all d|
|00001ec0| 65 70 65 6e 64 65 6e 63 | 69 65 73 20 61 72 65 20 |ependenc|ies are |
|00001ed0| 75 70 64 61 74 65 64 0a | 77 69 74 68 20 72 65 73 |updated.|with res|
|00001ee0| 70 65 63 74 20 74 6f 20 | 74 68 65 69 72 20 64 65 |pect to |their de|
|00001ef0| 70 65 6e 64 65 6e 63 69 | 65 73 2e 20 20 54 68 69 |pendenci|es. Thi|
|00001f00| 73 20 63 72 69 74 65 72 | 69 6f 6e 20 69 73 20 61 |s criter|ion is a|
|00001f10| 70 70 6c 69 65 64 20 72 | 65 63 75 72 73 69 76 65 |pplied r|ecursive|
|00001f20| 6c 79 2c 0a 73 75 63 68 | 20 74 68 61 74 20 74 68 |ly,.such| that th|
|00001f30| 65 20 6d 6f 73 74 20 64 | 65 65 70 6c 79 20 6e 65 |e most d|eeply ne|
|00001f40| 73 74 65 64 20 64 65 70 | 65 6e 64 65 6e 63 79 20 |sted dep|endency |
|00001f50| 77 69 6c 6c 20 62 65 20 | 6d 61 64 65 20 62 65 66 |will be |made bef|
|00001f60| 6f 72 65 20 61 6e 79 20 | 74 61 72 67 65 74 0a 66 |ore any |target.f|
|00001f70| 69 6c 65 20 74 68 61 74 | 20 64 65 70 65 6e 64 73 |ile that| depends|
|00001f80| 20 6f 6e 20 69 74 2e 0a | 0a 5c 73 65 63 74 69 6f | on it..|.\sectio|
|00001f90| 6e 7b 52 75 6c 65 73 20 | 69 6e 20 61 20 4d 61 6b |n{Rules |in a Mak|
|00001fa0| 65 66 69 6c 65 7d 0a 0a | 53 65 76 65 72 61 6c 20 |efile}..|Several |
|00001fb0| 74 79 70 65 73 20 6f 66 | 20 72 75 6c 65 73 20 61 |types of| rules a|
|00001fc0| 72 65 20 72 65 63 6f 67 | 6e 69 7a 65 64 20 62 79 |re recog|nized by|
|00001fd0| 20 74 68 65 20 4d 61 6b | 65 20 70 72 6f 67 72 61 | the Mak|e progra|
|00001fe0| 6d 3b 20 74 68 65 79 20 | 63 61 6e 20 62 65 0a 67 |m; they |can be.g|
|00001ff0| 72 6f 75 70 65 64 20 69 | 6e 74 6f 20 74 77 6f 20 |rouped i|nto two |
|00002000| 63 61 74 65 67 6f 72 69 | 65 73 3a 20 20 65 78 70 |categori|es: exp|
|00002010| 6c 69 63 69 74 20 72 75 | 6c 65 73 20 61 6e 64 20 |licit ru|les and |
|00002020| 69 6d 70 6c 69 63 69 74 | 20 72 75 6c 65 73 2e 20 |implicit| rules. |
|00002030| 20 54 68 65 0a 65 78 70 | 6c 69 63 69 74 20 72 75 | The.exp|licit ru|
|00002040| 6c 65 73 20 61 72 65 20 | 6b 6e 6f 77 6e 20 61 73 |les are |known as|
|00002050| 20 74 61 72 67 65 74 20 | 72 75 6c 65 73 2e 20 20 | target |rules. |
|00002060| 54 68 65 20 69 6d 70 6c | 69 63 69 74 20 72 75 6c |The impl|icit rul|
|00002070| 65 73 20 65 78 69 73 74 | 20 61 73 0a 73 75 66 66 |es exist| as.suff|
|00002080| 69 78 20 72 75 6c 65 73 | 20 61 6e 64 20 70 61 74 |ix rules| and pat|
|00002090| 74 65 72 6e 20 72 75 6c | 65 73 20 28 69 6e 74 65 |tern rul|es (inte|
|000020a0| 72 6e 61 6c 6c 79 20 74 | 68 65 73 65 20 74 77 6f |rnally t|hese two|
|000020b0| 20 74 79 70 65 73 20 6f | 66 20 72 75 6c 65 73 20 | types o|f rules |
|000020c0| 61 72 65 0a 72 65 70 72 | 65 73 65 6e 74 65 64 20 |are.repr|esented |
|000020d0| 69 6e 20 74 68 65 20 73 | 61 6d 65 20 77 61 79 29 |in the s|ame way)|
|000020e0| 2e 0a 0a 5c 73 75 62 73 | 65 63 74 69 6f 6e 7b 45 |...\subs|ection{E|
|000020f0| 78 70 6c 69 63 69 74 20 | 52 75 6c 65 73 7d 0a 0a |xplicit |Rules}..|
|00002100| 54 61 72 67 65 74 20 72 | 75 6c 65 73 20 61 72 65 |Target r|ules are|
|00002110| 20 64 65 66 69 6e 65 64 | 20 62 79 20 61 20 6c 69 | defined| by a li|
|00002120| 6e 65 20 74 68 61 74 20 | 62 65 67 69 6e 73 20 77 |ne that |begins w|
|00002130| 69 74 68 20 6f 6e 65 20 | 6f 72 20 6d 6f 72 65 20 |ith one |or more |
|00002140| 74 61 72 67 65 74 0a 6e | 61 6d 65 73 2c 20 66 6f |target.n|ames, fo|
|00002150| 6c 6c 6f 77 65 64 20 62 | 79 20 61 20 63 6f 6c 6f |llowed b|y a colo|
|00002160| 6e 2c 20 61 6e 20 6f 70 | 74 69 6f 6e 61 6c 20 6c |n, an op|tional l|
|00002170| 69 73 74 20 6f 66 20 64 | 65 70 65 6e 64 65 6e 63 |ist of d|ependenc|
|00002180| 79 20 6e 61 6d 65 73 2c | 20 61 6e 0a 6f 70 74 69 |y names,| an.opti|
|00002190| 6f 6e 61 6c 20 73 65 6d | 69 63 6f 6c 6f 6e 20 61 |onal sem|icolon a|
|000021a0| 6e 64 20 61 6e 20 6f 70 | 74 69 6f 6e 61 6c 20 63 |nd an op|tional c|
|000021b0| 6f 6d 6d 61 6e 64 2e 20 | 20 53 75 62 73 65 71 75 |ommand. | Subsequ|
|000021c0| 65 6e 74 20 6c 69 6e 65 | 73 20 74 68 61 74 20 62 |ent line|s that b|
|000021d0| 65 67 69 6e 0a 77 69 74 | 68 20 61 20 74 61 62 20 |egin.wit|h a tab |
|000021e0| 63 68 61 72 61 63 74 65 | 72 20 61 72 65 20 63 6f |characte|r are co|
|000021f0| 6d 6d 61 6e 64 20 6c 69 | 6e 65 73 20 61 73 73 6f |mmand li|nes asso|
|00002200| 63 69 61 74 65 64 20 77 | 69 74 68 20 74 68 65 20 |ciated w|ith the |
|00002210| 72 75 6c 65 2e 20 20 54 | 68 65 20 6e 65 78 74 0a |rule. T|he next.|
|00002220| 6c 69 6e 65 20 74 68 61 | 74 20 64 6f 65 73 20 6e |line tha|t does n|
|00002230| 6f 74 20 62 65 67 69 6e | 20 77 69 74 68 20 61 20 |ot begin| with a |
|00002240| 74 61 62 20 63 68 61 72 | 61 63 74 65 72 20 69 6e |tab char|acter in|
|00002250| 64 69 63 61 74 65 73 20 | 74 68 65 20 65 6e 64 20 |dicates |the end |
|00002260| 6f 66 20 74 68 65 0a 63 | 75 72 72 65 6e 74 20 72 |of the.c|urrent r|
|00002270| 75 6c 65 20 61 6e 64 20 | 74 68 65 20 62 65 67 69 |ule and |the begi|
|00002280| 6e 6e 69 6e 67 20 6f 66 | 20 61 20 6e 65 77 20 72 |nning of| a new r|
|00002290| 75 6c 65 2e 0a 0a 5c 62 | 65 67 69 6e 7b 76 65 72 |ule...\b|egin{ver|
|000022a0| 62 61 74 69 6d 7d 0a 67 | 6f 61 6c 3a 20 74 61 72 |batim}.g|oal: tar|
|000022b0| 67 65 74 2e 6f 20 3b 20 | 63 6f 6d 6d 61 6e 64 20 |get.o ; |command |
|000022c0| 74 68 72 65 65 0a 0a 74 | 61 72 67 65 74 2e 6f 3a |three..t|arget.o:|
|000022d0| 20 73 6f 75 72 63 65 2e | 63 20 68 65 61 64 65 72 | source.|c header|
|000022e0| 2e 68 0a 20 20 20 20 63 | 6f 6d 6d 61 6e 64 20 6f |.h. c|ommand o|
|000022f0| 6e 65 0a 20 20 20 20 63 | 6f 6d 6d 61 6e 64 20 74 |ne. c|ommand t|
|00002300| 77 6f 0a 5c 65 6e 64 7b | 76 65 72 62 61 74 69 6d |wo.\end{|verbatim|
|00002310| 7d 0a 0a 49 6e 20 74 68 | 65 20 61 62 6f 76 65 20 |}..In th|e above |
|00002320| 65 78 61 6d 70 6c 65 2c | 20 74 68 65 20 4d 61 6b |example,| the Mak|
|00002330| 65 20 70 72 6f 67 72 61 | 6d 20 77 69 6c 6c 20 72 |e progra|m will r|
|00002340| 65 61 64 20 74 68 65 20 | 4d 61 6b 65 66 69 6c 65 |ead the |Makefile|
|00002350| 20 61 6e 64 20 66 69 6e | 64 20 74 68 65 0a 66 69 | and fin|d the.fi|
|00002360| 72 73 74 20 74 61 72 67 | 65 74 20 6e 61 6d 65 20 |rst targ|et name |
|00002370| 74 6f 20 62 65 20 7b 5c | 74 74 20 67 6f 61 6c 7d |to be {\|tt goal}|
|00002380| 2e 20 20 49 74 20 77 69 | 6c 6c 20 74 68 65 6e 20 |. It wi|ll then |
|00002390| 61 74 74 65 6d 70 74 20 | 74 6f 20 6d 61 6b 65 20 |attempt |to make |
|000023a0| 7b 5c 74 74 0a 67 6f 61 | 6c 7d 20 75 70 2d 74 6f |{\tt.goa|l} up-to|
|000023b0| 2d 64 61 74 65 20 62 79 | 20 66 69 72 73 74 20 6d |-date by| first m|
|000023c0| 61 6b 69 6e 67 20 69 74 | 73 20 64 65 70 65 6e 64 |aking it|s depend|
|000023d0| 65 6e 63 69 65 73 20 28 | 6e 61 6d 65 6c 79 2c 20 |encies (|namely, |
|000023e0| 7b 5c 74 74 20 74 61 72 | 67 65 74 2e 6f 7d 29 0a |{\tt tar|get.o}).|
|000023f0| 75 70 2d 74 6f 2d 64 61 | 74 65 2e 20 20 49 6e 20 |up-to-da|te. In |
|00002400| 6f 72 64 65 72 20 74 6f | 20 6d 61 6b 65 20 7b 5c |order to| make {\|
|00002410| 74 74 20 74 61 72 67 65 | 74 2e 6f 7d 20 75 70 2d |tt targe|t.o} up-|
|00002420| 74 6f 2d 64 61 74 65 2c | 20 4d 61 6b 65 20 72 65 |to-date,| Make re|
|00002430| 71 75 69 72 65 73 20 61 | 0a 72 75 6c 65 20 74 68 |quires a|.rule th|
|00002440| 61 74 20 63 6f 6e 74 61 | 69 6e 73 20 7b 5c 74 74 |at conta|ins {\tt|
|00002450| 20 74 61 72 67 65 74 2e | 6f 7d 20 61 73 20 61 20 | target.|o} as a |
|00002460| 74 61 72 67 65 74 20 6e | 61 6d 65 2e 20 20 53 75 |target n|ame. Su|
|00002470| 63 68 20 61 20 72 75 6c | 65 20 65 78 69 73 74 73 |ch a rul|e exists|
|00002480| 0a 69 6e 20 74 68 65 20 | 65 78 61 6d 70 6c 65 20 |.in the |example |
|00002490| 4d 61 6b 65 66 69 6c 65 | 20 77 69 74 68 20 64 65 |Makefile| with de|
|000024a0| 70 65 6e 64 65 6e 63 69 | 65 73 20 7b 5c 74 74 20 |pendenci|es {\tt |
|000024b0| 73 6f 75 72 63 65 2e 63 | 7d 20 61 6e 64 20 7b 5c |source.c|} and {\|
|000024c0| 74 74 20 68 65 61 64 65 | 72 2e 68 7d 2c 0a 77 68 |tt heade|r.h},.wh|
|000024d0| 69 63 68 20 6d 75 73 74 | 20 69 6e 20 74 75 72 6e |ich must| in turn|
|000024e0| 20 62 65 20 6d 61 64 65 | 20 62 65 66 6f 72 65 20 | be made| before |
|000024f0| 7b 5c 74 74 20 74 61 72 | 67 65 74 2e 6f 7d 20 63 |{\tt tar|get.o} c|
|00002500| 61 6e 20 62 65 20 6d 61 | 64 65 20 75 70 2d 74 6f |an be ma|de up-to|
|00002510| 2d 64 61 74 65 2e 0a 53 | 69 6e 63 65 20 7b 5c 74 |-date..S|ince {\t|
|00002520| 74 20 73 6f 75 72 63 65 | 2e 63 7d 20 61 6e 64 20 |t source|.c} and |
|00002530| 7b 5c 74 74 20 68 65 61 | 64 65 72 2e 68 7d 20 61 |{\tt hea|der.h} a|
|00002540| 72 65 20 6e 6f 74 20 64 | 65 66 69 6e 65 64 20 61 |re not d|efined a|
|00002550| 73 20 74 61 72 67 65 74 | 73 20 69 6e 20 74 68 65 |s target|s in the|
|00002560| 0a 4d 61 6b 65 66 69 6c | 65 2c 20 74 68 65 20 4d |.Makefil|e, the M|
|00002570| 61 6b 65 20 70 72 6f 67 | 72 61 6d 20 6d 75 73 74 |ake prog|ram must|
|00002580| 20 75 73 65 20 62 75 69 | 6c 74 69 6e 20 72 75 6c | use bui|ltin rul|
|00002590| 65 73 20 6f 66 20 69 6e | 66 65 72 65 6e 63 65 20 |es of in|ference |
|000025a0| 74 6f 20 6d 61 6b 65 0a | 74 68 6f 73 65 20 66 69 |to make.|those fi|
|000025b0| 6c 65 73 20 75 70 2d 74 | 6f 2d 64 61 74 65 2c 20 |les up-t|o-date, |
|000025c0| 6f 72 20 69 74 20 6d 75 | 73 74 20 67 69 76 65 20 |or it mu|st give |
|000025d0| 75 70 20 61 6e 64 20 72 | 65 70 6f 72 74 20 74 68 |up and r|eport th|
|000025e0| 61 74 20 69 73 20 64 6f | 65 73 20 6e 6f 74 0a 6b |at is do|es not.k|
|000025f0| 6e 6f 77 20 68 6f 77 20 | 74 6f 20 6d 61 6b 65 20 |now how |to make |
|00002600| 74 68 65 20 74 61 72 67 | 65 74 2e 20 20 41 73 20 |the targ|et. As |
|00002610| 69 74 20 74 75 72 6e 73 | 20 6f 75 74 2c 20 74 68 |it turns| out, th|
|00002620| 65 20 73 6f 75 72 63 65 | 20 61 6e 64 20 68 65 61 |e source| and hea|
|00002630| 64 65 72 20 66 69 6c 65 | 73 0a 61 72 65 20 6b 6e |der file|s.are kn|
|00002640| 6f 77 6e 20 62 79 20 62 | 75 69 6c 74 69 6e 20 72 |own by b|uiltin r|
|00002650| 75 6c 65 73 20 6f 66 20 | 69 6e 66 65 72 65 6e 63 |ules of |inferenc|
|00002660| 65 20 74 6f 20 72 65 71 | 75 69 72 65 20 6e 6f 20 |e to req|uire no |
|00002670| 66 75 72 74 68 65 72 20 | 61 63 74 69 6f 6e 20 74 |further |action t|
|00002680| 6f 20 62 65 0a 6d 61 64 | 65 20 75 70 2d 74 6f 2d |o be.mad|e up-to-|
|00002690| 64 61 74 65 2c 20 73 6f | 20 74 68 65 20 4d 61 6b |date, so| the Mak|
|000026a0| 65 20 70 72 6f 67 72 61 | 6d 20 63 61 6e 20 63 6f |e progra|m can co|
|000026b0| 6e 74 69 6e 75 65 20 74 | 6f 20 6d 61 6b 65 20 7b |ntinue t|o make {|
|000026c0| 5c 74 74 20 74 61 72 67 | 65 74 2e 6f 7d 0a 6e 6f |\tt targ|et.o}.no|
|000026d0| 77 20 74 68 61 74 20 69 | 74 73 20 64 65 70 65 6e |w that i|ts depen|
|000026e0| 64 65 6e 63 69 65 73 20 | 68 61 76 65 20 66 75 6c |dencies |have ful|
|000026f0| 66 69 6c 6c 65 64 20 74 | 68 65 69 72 20 72 65 71 |filled t|heir req|
|00002700| 75 69 72 65 6d 65 6e 74 | 73 2e 20 20 49 6e 20 6f |uirement|s. In o|
|00002710| 72 64 65 72 20 74 6f 0a | 6d 61 6b 65 20 7b 5c 74 |rder to.|make {\t|
|00002720| 74 20 74 61 72 67 65 74 | 2e 6f 7d 20 75 70 2d 74 |t target|.o} up-t|
|00002730| 6f 2d 64 61 74 65 2c 20 | 7b 5c 74 74 20 63 6f 6d |o-date, |{\tt com|
|00002740| 6d 61 6e 64 20 6f 6e 65 | 7d 20 6d 75 73 74 20 62 |mand one|} must b|
|00002750| 65 20 65 78 65 63 75 74 | 65 64 0a 73 75 63 63 65 |e execut|ed.succe|
|00002760| 73 73 66 75 6c 6c 79 2c | 20 61 6e 64 20 74 68 65 |ssfully,| and the|
|00002770| 6e 20 7b 5c 74 74 20 63 | 6f 6d 6d 61 6e 64 20 74 |n {\tt c|ommand t|
|00002780| 77 6f 7d 20 6d 75 73 74 | 20 62 65 20 65 78 65 63 |wo} must| be exec|
|00002790| 75 74 65 64 20 73 75 63 | 63 65 73 73 66 75 6c 6c |uted suc|cessfull|
|000027a0| 79 0a 61 66 74 65 72 20 | 74 68 61 74 2e 20 20 46 |y.after |that. F|
|000027b0| 69 6e 61 6c 6c 79 2c 20 | 74 68 65 20 67 6f 61 6c |inally, |the goal|
|000027c0| 20 63 61 6e 20 62 65 20 | 6d 61 64 65 20 62 79 20 | can be |made by |
|000027d0| 65 78 65 63 75 74 69 6e | 67 20 74 68 65 20 63 6f |executin|g the co|
|000027e0| 6d 6d 61 6e 64 20 6c 69 | 6e 65 2c 0a 7b 5c 74 74 |mmand li|ne,.{\tt|
|000027f0| 20 63 6f 6d 6d 61 6e 64 | 20 74 68 72 65 65 7d 2c | command| three},|
|00002800| 20 61 6e 64 20 74 68 65 | 20 4d 61 6b 65 20 70 72 | and the| Make pr|
|00002810| 6f 67 72 61 6d 20 77 69 | 6c 6c 20 74 65 72 6d 69 |ogram wi|ll termi|
|00002820| 6e 61 74 65 2e 0a 0a 49 | 66 20 74 68 65 72 65 20 |nate...I|f there |
|00002830| 61 72 65 20 6e 6f 20 64 | 65 70 65 6e 64 65 6e 63 |are no d|ependenc|
|00002840| 69 65 73 20 66 6f 72 20 | 61 20 74 61 72 67 65 74 |ies for |a target|
|00002850| 2c 20 61 6e 64 20 61 20 | 74 61 72 67 65 74 20 6e |, and a |target n|
|00002860| 65 65 64 73 20 74 6f 20 | 62 65 20 72 65 6d 61 64 |eeds to |be remad|
|00002870| 65 0a 62 79 20 74 68 65 | 20 4d 61 6b 65 20 70 72 |e.by the| Make pr|
|00002880| 6f 67 72 61 6d 2c 20 74 | 68 65 6e 20 74 68 65 20 |ogram, t|hen the |
|00002890| 74 61 72 67 65 74 20 69 | 73 20 61 6c 77 61 79 73 |target i|s always|
|000028a0| 20 72 65 6d 61 64 65 2e | 20 20 41 20 74 61 72 67 | remade.| A targ|
|000028b0| 65 74 20 77 69 74 68 20 | 6e 6f 0a 64 65 70 65 6e |et with |no.depen|
|000028c0| 64 65 6e 63 69 65 73 20 | 77 69 6c 6c 20 61 6c 77 |dencies |will alw|
|000028d0| 61 79 73 20 68 61 76 65 | 20 69 74 73 20 63 6f 6d |ays have| its com|
|000028e0| 6d 61 6e 64 73 20 65 78 | 65 63 75 74 65 64 20 77 |mands ex|ecuted w|
|000028f0| 68 65 6e 20 74 68 61 74 | 20 74 61 72 67 65 74 20 |hen that| target |
|00002900| 6e 65 65 64 73 0a 74 6f | 20 62 65 20 72 65 6d 61 |needs.to| be rema|
|00002910| 64 65 2e 0a 0a 5c 73 75 | 62 73 75 62 73 65 63 74 |de...\su|bsubsect|
|00002920| 69 6f 6e 7b 44 65 70 65 | 6e 64 65 6e 63 69 65 73 |ion{Depe|ndencies|
|00002930| 7d 0a 0a 54 68 65 20 64 | 65 70 65 6e 64 65 6e 63 |}..The d|ependenc|
|00002940| 69 65 73 20 6f 66 20 61 | 20 74 61 72 67 65 74 20 |ies of a| target |
|00002950| 61 72 65 20 74 68 65 20 | 6f 62 6a 65 63 74 73 20 |are the |objects |
|00002960| 77 68 69 63 68 20 61 20 | 70 61 72 74 69 63 75 6c |which a |particul|
|00002970| 61 72 20 74 61 72 67 65 | 74 0a 64 65 70 65 6e 64 |ar targe|t.depend|
|00002980| 73 20 75 70 6f 6e 2e 20 | 20 49 66 20 61 20 74 61 |s upon. | If a ta|
|00002990| 72 67 65 74 20 64 65 70 | 65 6e 64 73 20 75 70 6f |rget dep|ends upo|
|000029a0| 6e 20 61 6e 20 6f 62 6a | 65 63 74 2c 20 74 68 65 |n an obj|ect, the|
|000029b0| 6e 20 74 68 65 20 64 65 | 70 65 6e 64 65 6e 74 0a |n the de|pendent.|
|000029c0| 6f 62 6a 65 63 74 20 6d | 75 73 74 20 62 65 20 75 |object m|ust be u|
|000029d0| 70 64 61 74 65 64 20 62 | 65 66 6f 72 65 20 74 68 |pdated b|efore th|
|000029e0| 65 20 74 61 72 67 65 74 | 20 6d 61 79 20 62 65 20 |e target| may be |
|000029f0| 75 70 64 61 74 65 64 2e | 20 20 41 20 74 61 72 67 |updated.| A targ|
|00002a00| 65 74 20 69 73 20 6e 6f | 74 0a 75 70 2d 74 6f 2d |et is no|t.up-to-|
|00002a10| 64 61 74 65 20 69 66 20 | 69 74 73 20 64 65 70 65 |date if |its depe|
|00002a20| 6e 64 65 6e 63 69 65 73 | 20 61 72 65 20 6e 6f 74 |ndencies| are not|
|00002a30| 20 61 6c 6c 20 75 70 2d | 74 6f 2d 64 61 74 65 2e | all up-|to-date.|
|00002a40| 0a 0a 41 64 64 69 74 69 | 6f 6e 61 6c 20 64 65 70 |..Additi|onal dep|
|00002a50| 65 6e 64 65 6e 63 69 65 | 73 20 63 61 6e 20 62 65 |endencie|s can be|
|00002a60| 20 61 64 64 65 64 20 74 | 6f 20 61 20 74 61 72 67 | added t|o a targ|
|00002a70| 65 74 20 64 65 66 69 6e | 65 64 20 69 6e 20 61 6e |et defin|ed in an|
|00002a80| 6f 74 68 65 72 20 72 75 | 6c 65 20 62 79 0a 77 72 |other ru|le by.wr|
|00002a90| 69 74 69 6e 67 20 61 20 | 6e 65 77 20 72 75 6c 65 |iting a |new rule|
|00002aa0| 20 77 68 69 63 68 20 64 | 65 63 6c 61 72 65 73 20 | which d|eclares |
|00002ab0| 74 68 65 20 61 64 64 69 | 74 69 6f 6e 61 6c 20 64 |the addi|tional d|
|00002ac0| 65 70 65 6e 64 65 6e 63 | 69 65 73 2e 20 20 4f 6e |ependenc|ies. On|
|00002ad0| 6c 79 20 6f 6e 65 20 6f | 66 0a 74 68 65 20 72 75 |ly one o|f.the ru|
|00002ae0| 6c 65 73 20 6d 61 79 20 | 63 6f 6e 74 61 69 6e 20 |les may |contain |
|00002af0| 63 6f 6d 6d 61 6e 64 20 | 6c 69 6e 65 73 2c 20 6f |command |lines, o|
|00002b00| 74 68 65 72 77 69 73 65 | 20 69 74 20 69 73 20 61 |therwise| it is a|
|00002b10| 6e 20 65 72 72 6f 72 2e | 20 20 41 6e 20 65 78 61 |n error.| An exa|
|00002b20| 6d 70 6c 65 0a 77 68 65 | 72 65 20 74 68 69 73 20 |mple.whe|re this |
|00002b30| 6d 69 67 68 74 20 62 65 | 20 64 6f 6e 65 20 69 73 |might be| done is|
|00002b40| 20 67 69 76 65 6e 20 62 | 65 6c 6f 77 3a 0a 0a 5c | given b|elow:..\|
|00002b50| 62 65 67 69 6e 7b 76 65 | 72 62 61 74 69 6d 7d 0a |begin{ve|rbatim}.|
|00002b60| 74 61 72 67 65 74 31 2e | 6f 20 74 61 72 67 65 74 |target1.|o target|
|00002b70| 32 2e 6f 20 3a 20 67 6c | 6f 62 61 6c 2e 68 0a 74 |2.o : gl|obal.h.t|
|00002b80| 61 72 67 65 74 31 2e 6f | 20 3a 20 6f 6e 65 2e 68 |arget1.o| : one.h|
|00002b90| 0a 74 61 72 67 65 74 32 | 2e 6f 20 3a 20 74 77 6f |.target2|.o : two|
|00002ba0| 2e 68 0a 5c 65 6e 64 7b | 76 65 72 62 61 74 69 6d |.h.\end{|verbatim|
|00002bb0| 7d 0a 0a 5c 73 75 62 73 | 75 62 73 65 63 74 69 6f |}..\subs|ubsectio|
|00002bc0| 6e 7b 2e 41 4c 57 41 59 | 53 7d 0a 0a 49 66 20 61 |n{.ALWAY|S}..If a|
|00002bd0| 20 74 61 72 67 65 74 20 | 68 61 73 20 7b 5c 74 74 | target |has {\tt|
|00002be0| 20 2e 41 4c 57 41 59 53 | 7d 20 61 73 20 61 20 64 | .ALWAYS|} as a d|
|00002bf0| 65 70 65 6e 64 65 6e 63 | 79 20 74 68 65 6e 20 74 |ependenc|y then t|
|00002c00| 68 61 74 20 74 61 72 67 | 65 74 20 77 69 6c 6c 20 |hat targ|et will |
|00002c10| 61 6c 77 61 79 73 0a 68 | 61 76 65 20 69 74 73 20 |always.h|ave its |
|00002c20| 64 65 70 65 6e 64 65 6e | 63 69 65 73 20 72 65 6d |dependen|cies rem|
|00002c30| 61 64 65 20 61 6e 64 20 | 69 74 73 20 63 6f 6d 6d |ade and |its comm|
|00002c40| 61 6e 64 73 20 65 78 65 | 63 75 74 65 64 2e 0a 0a |ands exe|cuted...|
|00002c50| 5c 73 75 62 73 75 62 73 | 65 63 74 69 6f 6e 7b 2e |\subsubs|ection{.|
|00002c60| 4e 45 56 45 52 7d 0a 0a | 49 66 20 61 20 74 61 72 |NEVER}..|If a tar|
|00002c70| 67 65 74 20 68 61 73 20 | 7b 5c 74 74 20 2e 4e 45 |get has |{\tt .NE|
|00002c80| 56 45 52 7d 20 61 73 20 | 61 20 64 65 70 65 6e 64 |VER} as |a depend|
|00002c90| 65 6e 63 79 20 74 68 65 | 6e 20 74 68 61 74 20 74 |ency the|n that t|
|00002ca0| 61 72 67 65 74 20 77 69 | 6c 6c 20 6e 65 76 65 72 |arget wi|ll never|
|00002cb0| 0a 68 61 76 65 20 69 74 | 73 20 64 65 70 65 6e 64 |.have it|s depend|
|00002cc0| 65 6e 63 69 65 73 20 72 | 65 6d 61 64 65 20 6f 72 |encies r|emade or|
|00002cd0| 20 69 74 73 20 63 6f 6d | 6d 61 6e 64 73 20 65 78 | its com|mands ex|
|00002ce0| 65 63 75 74 65 64 2e 0a | 0a 5c 73 75 62 73 75 62 |ecuted..|.\subsub|
|00002cf0| 73 65 63 74 69 6f 6e 7b | 2e 4f 4e 43 45 7d 0a 0a |section{|.ONCE}..|
|00002d00| 49 66 20 61 20 74 61 72 | 67 65 74 20 68 61 73 20 |If a tar|get has |
|00002d10| 7b 5c 74 74 20 2e 4f 4e | 43 45 7d 20 61 73 20 61 |{\tt .ON|CE} as a|
|00002d20| 20 64 65 70 65 6e 64 65 | 6e 63 79 20 74 68 65 6e | depende|ncy then|
|00002d30| 20 74 68 61 74 20 74 61 | 72 67 65 74 20 77 69 6c | that ta|rget wil|
|00002d40| 6c 20 62 65 0a 6d 61 64 | 65 20 6f 6e 6c 79 20 6f |l be.mad|e only o|
|00002d50| 6e 63 65 2e 20 20 57 68 | 65 6e 20 74 68 65 20 74 |nce. Wh|en the t|
|00002d60| 61 72 67 65 74 20 69 73 | 20 65 6e 63 6f 75 6e 74 |arget is| encount|
|00002d70| 65 72 65 64 20 61 67 61 | 69 6e 2c 20 69 74 20 77 |ered aga|in, it w|
|00002d80| 69 6c 6c 20 62 65 20 73 | 6b 69 70 70 65 64 2e 0a |ill be s|kipped..|
|00002d90| 0a 5c 73 75 62 73 75 62 | 73 65 63 74 69 6f 6e 7b |.\subsub|section{|
|00002da0| 2e 49 4e 56 49 53 49 42 | 4c 45 7d 0a 0a 49 66 20 |.INVISIB|LE}..If |
|00002db0| 61 20 74 61 72 67 65 74 | 20 68 61 73 20 7b 5c 74 |a target| has {\t|
|00002dc0| 74 20 2e 49 4e 56 49 53 | 49 42 4c 45 7d 20 61 73 |t .INVIS|IBLE} as|
|00002dd0| 20 61 20 64 65 70 65 6e | 64 65 6e 63 79 20 74 68 | a depen|dency th|
|00002de0| 65 6e 20 74 68 61 74 20 | 74 61 72 67 65 74 20 77 |en that |target w|
|00002df0| 69 6c 6c 20 62 65 0a 69 | 6e 76 69 73 69 62 6c 65 |ill be.i|nvisible|
|00002e00| 20 74 6f 20 61 6c 6c 20 | 6f 74 68 65 72 20 74 61 | to all |other ta|
|00002e10| 72 67 65 74 73 2e 20 20 | 54 68 61 74 20 69 73 2c |rgets. |That is,|
|00002e20| 20 74 68 65 20 69 6e 76 | 69 73 69 62 6c 65 20 74 | the inv|isible t|
|00002e30| 61 72 67 65 74 20 6d 61 | 79 20 62 65 20 6d 61 64 |arget ma|y be mad|
|00002e40| 65 2c 0a 62 75 74 20 74 | 68 65 20 74 61 72 67 65 |e,.but t|he targe|
|00002e50| 74 20 74 68 61 74 20 64 | 65 70 65 6e 64 65 64 20 |t that d|epended |
|00002e60| 75 70 6f 6e 20 74 68 65 | 20 69 6e 76 69 73 69 62 |upon the| invisib|
|00002e70| 6c 65 20 74 61 72 67 65 | 74 20 77 69 6c 6c 20 6e |le targe|t will n|
|00002e80| 6f 74 20 62 65 20 61 77 | 61 72 65 20 6f 66 0a 74 |ot be aw|are of.t|
|00002e90| 68 65 20 66 61 63 74 2e | 0a 0a 5c 73 75 62 73 65 |he fact.|..\subse|
|00002ea0| 63 74 69 6f 6e 7b 49 6d | 70 6c 69 63 69 74 20 52 |ction{Im|plicit R|
|00002eb0| 75 6c 65 73 7d 0a 0a 5c | 73 75 62 73 75 62 73 65 |ules}..\|subsubse|
|00002ec0| 63 74 69 6f 6e 7b 50 61 | 74 74 65 72 6e 20 52 75 |ction{Pa|ttern Ru|
|00002ed0| 6c 65 73 7d 0a 0a 57 68 | 65 6e 20 6e 6f 20 65 78 |les}..Wh|en no ex|
|00002ee0| 70 6c 69 63 69 74 20 72 | 75 6c 65 20 69 73 20 64 |plicit r|ule is d|
|00002ef0| 65 66 69 6e 65 64 20 66 | 6f 72 20 61 20 74 61 72 |efined f|or a tar|
|00002f00| 67 65 74 2c 20 74 68 65 | 20 4d 61 6b 65 20 70 72 |get, the| Make pr|
|00002f10| 6f 67 72 61 6d 20 6d 75 | 73 74 20 75 73 65 0a 6f |ogram mu|st use.o|
|00002f20| 74 68 65 72 20 6d 65 61 | 6e 73 20 74 6f 20 64 65 |ther mea|ns to de|
|00002f30| 74 65 72 6d 69 6e 65 20 | 68 6f 77 20 74 6f 20 6d |termine |how to m|
|00002f40| 61 6b 65 20 74 68 65 20 | 74 61 72 67 65 74 20 75 |ake the |target u|
|00002f50| 70 2d 74 6f 2d 64 61 74 | 65 2e 20 20 52 75 6c 65 |p-to-dat|e. Rule|
|00002f60| 73 20 6f 66 0a 69 6e 66 | 65 72 65 6e 63 65 20 61 |s of.inf|erence a|
|00002f70| 72 65 20 64 65 66 69 6e | 65 64 20 62 79 20 70 61 |re defin|ed by pa|
|00002f80| 74 74 65 72 6e 20 72 75 | 6c 65 73 2e 20 20 41 6e |ttern ru|les. An|
|00002f90| 20 65 78 61 6d 70 6c 65 | 20 6f 66 20 61 20 64 6f | example| of a do|
|00002fa0| 75 62 6c 65 20 70 61 74 | 74 65 72 6e 0a 72 75 6c |uble pat|tern.rul|
|00002fb0| 65 20 69 73 3a 0a 0a 5c | 62 65 67 69 6e 7b 76 65 |e is:..\|begin{ve|
|00002fc0| 72 62 61 74 69 6d 7d 0a | 25 2e 6f 3a 20 25 2e 63 |rbatim}.|%.o: %.c|
|00002fd0| 0a 20 20 20 20 24 28 43 | 43 29 20 2d 63 20 24 28 |. $(C|C) -c $(|
|00002fe0| 43 46 4c 41 47 53 29 20 | 2d 6f 20 24 40 20 24 3c |CFLAGS) |-o $@ $<|
|00002ff0| 0a 5c 65 6e 64 7b 76 65 | 72 62 61 74 69 6d 7d 0a |.\end{ve|rbatim}.|
|00003000| 0a 54 68 65 20 61 62 6f | 76 65 20 64 6f 75 62 6c |.The abo|ve doubl|
|00003010| 65 20 70 61 74 74 65 72 | 6e 20 72 75 6c 65 20 64 |e patter|n rule d|
|00003020| 65 66 69 6e 65 73 20 68 | 6f 77 20 74 6f 20 6d 61 |efines h|ow to ma|
|00003030| 6b 65 20 61 6e 79 20 74 | 61 72 67 65 74 20 77 69 |ke any t|arget wi|
|00003040| 74 68 20 61 20 6e 61 6d | 65 0a 65 6e 64 69 6e 67 |th a nam|e.ending|
|00003050| 20 69 6e 20 7b 5c 74 74 | 20 2e 6f 7d 20 69 66 20 | in {\tt| .o} if |
|00003060| 74 68 65 72 65 20 69 73 | 20 61 20 63 6f 72 72 65 |there is| a corre|
|00003070| 73 70 6f 6e 64 69 6e 67 | 20 64 65 70 65 6e 64 65 |sponding| depende|
|00003080| 6e 63 79 20 6e 61 6d 65 | 20 74 68 61 74 20 65 6e |ncy name| that en|
|00003090| 64 73 20 69 6e 0a 7b 5c | 74 74 20 2e 63 7d 2e 20 |ds in.{\|tt .c}. |
|000030a0| 20 54 68 65 20 63 6f 6d | 6d 61 6e 64 73 20 61 73 | The com|mands as|
|000030b0| 73 6f 63 69 61 74 65 64 | 20 77 69 74 68 20 61 20 |sociated| with a |
|000030c0| 70 61 74 74 65 72 6e 20 | 72 75 6c 65 20 61 72 65 |pattern |rule are|
|000030d0| 20 65 78 65 63 75 74 65 | 64 20 69 66 20 74 68 65 | execute|d if the|
|000030e0| 0a 64 65 70 65 6e 64 65 | 6e 74 20 66 69 6c 65 20 |.depende|nt file |
|000030f0| 69 73 20 6e 65 77 65 72 | 20 74 68 61 6e 20 74 68 |is newer| than th|
|00003100| 65 20 74 61 72 67 65 74 | 20 66 69 6c 65 2c 20 77 |e target| file, w|
|00003110| 68 69 63 68 20 6d 61 74 | 63 68 65 73 20 74 68 65 |hich mat|ches the|
|00003120| 20 70 61 74 74 65 72 6e | 2e 0a 54 68 65 20 7b 5c | pattern|..The {\|
|00003130| 74 74 20 5c 25 7d 20 63 | 68 61 72 61 63 74 65 72 |tt \%} c|haracter|
|00003140| 20 6d 61 74 63 68 65 73 | 20 61 6e 79 20 6e 75 6d | matches| any num|
|00003150| 62 65 72 20 6f 66 20 63 | 68 61 72 61 63 74 65 72 |ber of c|haracter|
|00003160| 73 20 69 6e 20 74 68 65 | 20 74 61 72 67 65 74 20 |s in the| target |
|00003170| 6e 61 6d 65 2e 0a 4f 6e | 6c 79 20 6f 6e 65 20 73 |name..On|ly one s|
|00003180| 75 63 68 20 77 69 6c 64 | 63 61 72 64 20 63 68 61 |uch wild|card cha|
|00003190| 72 61 63 74 65 72 20 6d | 61 79 20 65 78 69 73 74 |racter m|ay exist|
|000031a0| 20 70 65 72 20 6e 61 6d | 65 2e 0a 0a 54 68 65 72 | per nam|e...Ther|
|000031b0| 65 20 6d 61 79 20 62 65 | 20 6f 6e 6c 79 20 6f 6e |e may be| only on|
|000031c0| 65 20 64 65 70 65 6e 64 | 65 6e 63 79 20 69 6e 20 |e depend|ency in |
|000031d0| 61 20 70 61 74 74 65 72 | 6e 20 72 75 6c 65 20 28 |a patter|n rule (|
|000031e0| 65 78 74 72 61 20 64 65 | 70 65 6e 64 65 6e 63 69 |extra de|pendenci|
|000031f0| 65 73 0a 67 69 76 65 6e | 20 6f 6e 20 74 68 65 20 |es.given| on the |
|00003200| 6c 69 6e 65 20 61 72 65 | 20 69 67 6e 6f 72 65 64 |line are| ignored|
|00003210| 29 2e 20 20 54 68 65 20 | 7b 5c 74 74 20 5c 25 7d |). The |{\tt \%}|
|00003220| 20 63 68 61 72 61 63 74 | 65 72 20 69 6e 20 74 68 | charact|er in th|
|00003230| 65 20 64 65 70 65 6e 64 | 65 6e 63 79 0a 70 61 74 |e depend|ency.pat|
|00003240| 74 65 72 6e 20 69 73 20 | 72 65 70 6c 61 63 65 64 |tern is |replaced|
|00003250| 20 77 69 74 68 20 74 68 | 65 20 73 74 65 6d 20 28 | with th|e stem (|
|00003260| 74 68 65 20 73 65 71 75 | 65 6e 63 65 20 6f 66 20 |the sequ|ence of |
|00003270| 63 68 61 72 61 63 74 65 | 72 73 20 77 68 69 63 68 |characte|rs which|
|00003280| 20 77 65 72 65 0a 6d 61 | 74 63 68 65 64 20 62 79 | were.ma|tched by|
|00003290| 20 74 68 65 20 7b 5c 74 | 74 20 5c 25 7d 29 20 66 | the {\t|t \%}) f|
|000032a0| 72 6f 6d 20 74 68 65 20 | 74 61 72 67 65 74 20 6e |rom the |target n|
|000032b0| 61 6d 65 2e 0a 0a 41 20 | 73 69 6e 67 6c 65 20 70 |ame...A |single p|
|000032c0| 61 74 74 65 72 6e 20 72 | 75 6c 65 20 6f 66 20 74 |attern r|ule of t|
|000032d0| 68 65 20 66 6f 72 6d 3a | 0a 0a 5c 62 65 67 69 6e |he form:|..\begin|
|000032e0| 7b 76 65 72 62 61 74 69 | 6d 7d 0a 25 2e 5a 3a 0a |{verbati|m}.%.Z:.|
|000032f0| 20 20 20 20 63 6f 6d 70 | 72 65 73 73 20 24 2a 0a | comp|ress $*.|
|00003300| 5c 65 6e 64 7b 76 65 72 | 62 61 74 69 6d 7d 0a 0a |\end{ver|batim}..|
|00003310| 69 73 20 74 68 65 20 73 | 61 6d 65 20 61 73 20 61 |is the s|ame as a|
|00003320| 20 64 6f 75 62 6c 65 20 | 70 61 74 74 65 72 6e 20 | double |pattern |
|00003330| 72 75 6c 65 2c 20 65 78 | 63 65 70 74 20 74 68 61 |rule, ex|cept tha|
|00003340| 74 20 74 68 65 72 65 20 | 69 73 20 6e 6f 20 64 65 |t there |is no de|
|00003350| 70 65 6e 64 65 6e 63 79 | 0a 70 61 74 74 65 72 6e |pendency|.pattern|
|00003360| 2e 20 20 41 73 20 61 20 | 72 65 73 75 6c 74 2c 20 |. As a |result, |
|00003370| 74 68 65 20 61 75 74 6f | 6d 61 74 69 63 20 76 61 |the auto|matic va|
|00003380| 72 69 61 62 6c 65 20 7b | 5c 74 74 20 5c 24 3c 7d |riable {|\tt \$<}|
|00003390| 20 69 73 20 6e 6f 74 20 | 64 65 66 69 6e 65 64 20 | is not |defined |
|000033a0| 69 6e 20 74 68 65 0a 73 | 63 6f 70 65 20 6f 66 20 |in the.s|cope of |
|000033b0| 61 20 73 69 6e 67 6c 65 | 20 73 75 66 66 69 78 20 |a single| suffix |
|000033c0| 72 75 6c 65 2e 20 20 53 | 69 6e 63 65 20 74 68 65 |rule. S|ince the|
|000033d0| 72 65 20 61 72 65 20 6e | 6f 20 64 65 70 65 6e 64 |re are n|o depend|
|000033e0| 65 6e 63 69 65 73 2c 20 | 61 6e 79 20 74 61 72 67 |encies, |any targ|
|000033f0| 65 74 0a 6d 61 74 63 68 | 69 6e 67 20 61 20 73 69 |et.match|ing a si|
|00003400| 6e 67 6c 65 20 73 75 66 | 66 69 78 20 72 75 6c 65 |ngle suf|fix rule|
|00003410| 20 77 69 6c 6c 20 61 6c | 77 61 79 73 20 62 65 20 | will al|ways be |
|00003420| 72 65 6d 61 64 65 3b 20 | 74 68 65 20 63 6f 6d 6d |remade; |the comm|
|00003430| 61 6e 64 73 20 77 69 6c | 6c 0a 61 6c 77 61 79 73 |ands wil|l.always|
|00003440| 20 62 65 20 65 78 65 63 | 75 74 65 64 2e 0a 0a 54 | be exec|uted...T|
|00003450| 68 65 72 65 20 6d 61 79 | 20 62 65 20 6d 6f 72 65 |here may| be more|
|00003460| 20 74 68 61 6e 20 6f 6e | 65 20 70 61 74 74 65 72 | than on|e patter|
|00003470| 6e 20 72 75 6c 65 20 61 | 70 70 6c 69 63 61 62 6c |n rule a|pplicabl|
|00003480| 65 20 70 65 72 20 74 61 | 72 67 65 74 20 6e 61 6d |e per ta|rget nam|
|00003490| 65 2e 20 20 54 68 65 0a | 66 69 72 73 74 20 6d 61 |e. The.|first ma|
|000034a0| 74 63 68 69 6e 67 20 70 | 61 74 74 65 72 6e 20 72 |tching p|attern r|
|000034b0| 75 6c 65 20 77 69 6c 6c | 20 68 61 76 65 20 70 72 |ule will| have pr|
|000034c0| 69 6f 72 69 74 79 2e 20 | 20 49 66 20 73 65 76 65 |iority. | If seve|
|000034d0| 72 61 6c 20 70 61 74 74 | 65 72 6e 20 72 75 6c 65 |ral patt|ern rule|
|000034e0| 73 0a 61 72 65 20 64 65 | 66 69 6e 65 64 20 77 69 |s.are de|fined wi|
|000034f0| 74 68 20 74 68 65 20 73 | 61 6d 65 20 74 61 72 67 |th the s|ame targ|
|00003500| 65 74 20 70 61 74 74 65 | 72 6e 2c 20 74 68 65 6e |et patte|rn, then|
|00003510| 20 74 68 65 20 70 61 74 | 74 65 72 6e 20 72 75 6c | the pat|tern rul|
|00003520| 65 20 74 68 61 74 20 77 | 61 73 0a 64 65 66 69 6e |e that w|as.defin|
|00003530| 65 64 20 65 61 72 6c 69 | 65 72 20 77 69 6c 6c 20 |ed earli|er will |
|00003540| 68 61 76 65 20 70 72 69 | 6f 72 69 74 79 20 6f 76 |have pri|ority ov|
|00003550| 65 72 20 61 6c 6c 20 6c | 61 74 65 72 20 64 65 66 |er all l|ater def|
|00003560| 69 6e 69 74 69 6f 6e 73 | 2e 20 20 54 68 75 73 2c |initions|. Thus,|
|00003570| 0a 70 61 74 74 65 72 6e | 20 72 75 6c 65 73 20 77 |.pattern| rules w|
|00003580| 69 74 68 20 74 68 65 20 | 73 61 6d 65 20 74 61 72 |ith the |same tar|
|00003590| 67 65 74 20 62 75 74 20 | 64 69 66 66 65 72 65 6e |get but |differen|
|000035a0| 74 20 64 65 70 65 6e 64 | 65 6e 63 69 65 73 20 63 |t depend|encies c|
|000035b0| 61 6e 20 62 65 0a 64 65 | 66 69 6e 65 64 20 69 6e |an be.de|fined in|
|000035c0| 20 6e 61 74 75 72 61 6c | 20 70 72 69 6f 72 69 74 | natural| priorit|
|000035d0| 69 7a 65 64 20 6f 72 64 | 65 72 3b 20 74 68 65 20 |ized ord|er; the |
|000035e0| 66 69 72 73 74 20 6f 6e | 65 20 64 65 66 69 6e 65 |first on|e define|
|000035f0| 64 20 77 69 6c 6c 20 62 | 65 20 74 68 65 0a 66 69 |d will b|e the.fi|
|00003600| 72 73 74 20 6f 6e 65 20 | 61 70 70 6c 69 65 64 20 |rst one |applied |
|00003610| 74 6f 20 69 6e 66 65 72 | 65 6e 63 65 20 72 75 6c |to infer|ence rul|
|00003620| 65 73 2e 0a 0a 48 6f 77 | 65 76 65 72 2c 20 69 66 |es...How|ever, if|
|00003630| 20 61 20 6e 65 77 20 64 | 65 66 69 6e 69 74 69 6f | a new d|efinitio|
|00003640| 6e 20 69 73 20 67 69 76 | 65 6e 20 74 68 61 74 20 |n is giv|en that |
|00003650| 65 78 61 63 74 6c 79 20 | 64 75 70 6c 69 63 61 74 |exactly |duplicat|
|00003660| 65 73 20 62 6f 74 68 20 | 74 68 65 0a 74 61 72 67 |es both |the.targ|
|00003670| 65 74 20 70 61 74 74 65 | 72 6e 20 61 6e 64 20 74 |et patte|rn and t|
|00003680| 68 65 20 64 65 70 65 6e | 64 65 6e 63 79 20 70 61 |he depen|dency pa|
|00003690| 74 74 65 72 6e 20 74 68 | 65 6e 20 74 68 65 20 6e |ttern th|en the n|
|000036a0| 65 77 20 64 65 66 69 6e | 69 74 69 6f 6e 20 77 69 |ew defin|ition wi|
|000036b0| 6c 6c 0a 72 65 70 6c 61 | 63 65 20 74 68 65 20 6f |ll.repla|ce the o|
|000036c0| 6c 64 20 70 61 74 74 65 | 72 6e 20 72 75 6c 65 2e |ld patte|rn rule.|
|000036d0| 0a 0a 5c 73 75 62 73 75 | 62 73 65 63 74 69 6f 6e |..\subsu|bsection|
|000036e0| 7b 53 75 66 66 69 78 20 | 52 75 6c 65 73 7d 0a 0a |{Suffix |Rules}..|
|000036f0| 54 6f 20 6d 61 69 6e 74 | 61 69 6e 20 63 6f 6d 70 |To maint|ain comp|
|00003700| 61 74 69 62 69 6c 69 74 | 79 20 77 69 74 68 20 6f |atibilit|y with o|
|00003710| 6c 64 65 72 20 76 65 72 | 73 69 6f 6e 73 20 6f 66 |lder ver|sions of|
|00003720| 20 4d 61 6b 65 2c 20 73 | 75 66 66 69 78 20 72 75 | Make, s|uffix ru|
|00003730| 6c 65 73 20 63 61 6e 20 | 62 65 0a 64 65 66 69 6e |les can |be.defin|
|00003740| 65 64 2e 20 20 54 68 65 | 79 20 61 72 65 20 61 20 |ed. The|y are a |
|00003750| 70 6f 6f 72 20 6d 61 6e | 27 73 20 73 74 79 6c 65 |poor man|'s style|
|00003760| 20 6f 66 20 70 61 74 74 | 65 72 6e 20 72 75 6c 65 | of patt|ern rule|
|00003770| 73 2e 20 20 41 6e 20 65 | 78 61 6d 70 6c 65 20 6f |s. An e|xample o|
|00003780| 66 20 61 0a 64 6f 75 62 | 6c 65 20 73 75 66 66 69 |f a.doub|le suffi|
|00003790| 78 20 72 75 6c 65 20 69 | 73 3a 0a 0a 5c 62 65 67 |x rule i|s:..\beg|
|000037a0| 69 6e 7b 76 65 72 62 61 | 74 69 6d 7d 0a 2e 63 2e |in{verba|tim}..c.|
|000037b0| 6f 3a 0a 20 20 20 20 24 | 28 43 43 29 20 2d 63 20 |o:. $|(CC) -c |
|000037c0| 24 28 43 46 4c 41 47 53 | 29 20 2d 6f 20 24 40 20 |$(CFLAGS|) -o $@ |
|000037d0| 24 3c 0a 2e 53 55 46 46 | 49 58 45 53 3a 20 2e 63 |$<..SUFF|IXES: .c|
|000037e0| 20 2e 6f 0a 5c 65 6e 64 | 7b 76 65 72 62 61 74 69 | .o.\end|{verbati|
|000037f0| 6d 7d 0a 0a 54 68 65 20 | 61 62 6f 76 65 20 73 75 |m}..The |above su|
|00003800| 66 66 69 78 20 72 75 6c | 65 20 64 65 66 69 6e 65 |ffix rul|e define|
|00003810| 73 20 68 6f 77 20 74 6f | 20 6d 61 6b 65 20 61 6e |s how to| make an|
|00003820| 79 20 74 61 72 67 65 74 | 20 77 69 74 68 20 61 20 |y target| with a |
|00003830| 6e 61 6d 65 20 65 6e 64 | 69 6e 67 0a 69 6e 20 7b |name end|ing.in {|
|00003840| 5c 74 74 20 2e 6f 7d 20 | 69 66 20 74 68 65 72 65 |\tt .o} |if there|
|00003850| 20 69 73 20 61 20 63 6f | 72 72 65 73 70 6f 6e 64 | is a co|rrespond|
|00003860| 69 6e 67 20 64 65 70 65 | 6e 64 65 6e 63 79 20 66 |ing depe|ndency f|
|00003870| 69 6c 65 6e 61 6d 65 20 | 74 68 61 74 20 65 6e 64 |ilename |that end|
|00003880| 73 20 69 6e 0a 7b 5c 74 | 74 20 2e 63 7d 2e 20 20 |s in.{\t|t .c}. |
|00003890| 54 68 65 20 63 6f 6d 6d | 61 6e 64 73 20 61 73 73 |The comm|ands ass|
|000038a0| 6f 63 69 61 74 65 64 20 | 77 69 74 68 20 61 20 73 |ociated |with a s|
|000038b0| 75 66 66 69 78 20 72 75 | 6c 65 20 61 72 65 20 65 |uffix ru|le are e|
|000038c0| 78 65 63 75 74 65 64 20 | 69 66 20 74 68 65 0a 64 |xecuted |if the.d|
|000038d0| 65 70 65 6e 64 65 6e 74 | 20 66 69 6c 65 20 69 73 |ependent| file is|
|000038e0| 20 6e 65 77 65 72 20 74 | 68 61 6e 20 74 68 65 20 | newer t|han the |
|000038f0| 74 61 72 67 65 74 20 66 | 69 6c 65 2e 0a 0a 41 20 |target f|ile...A |
|00003900| 73 75 66 66 69 78 20 72 | 75 6c 65 20 68 61 73 20 |suffix r|ule has |
|00003910| 6e 6f 20 64 65 70 65 6e | 64 65 6e 63 69 65 73 20 |no depen|dencies |
|00003920| 6c 69 73 74 65 64 20 74 | 6f 20 74 68 65 20 72 69 |listed t|o the ri|
|00003930| 67 68 74 20 6f 66 20 74 | 68 65 20 63 6f 6c 6f 6e |ght of t|he colon|
|00003940| 2e 20 20 49 66 0a 73 75 | 63 68 20 64 65 70 65 6e |. If.su|ch depen|
|00003950| 64 65 6e 63 69 65 73 20 | 65 78 69 73 74 2c 20 74 |dencies |exist, t|
|00003960| 68 65 6e 20 74 68 65 20 | 72 75 6c 65 20 64 65 66 |hen the |rule def|
|00003970| 69 6e 69 74 69 6f 6e 20 | 69 73 20 63 6f 6e 73 69 |inition |is consi|
|00003980| 64 65 72 65 64 20 74 6f | 20 62 65 20 61 6e 0a 6f |dered to| be an.o|
|00003990| 72 64 69 6e 61 72 79 20 | 74 61 72 67 65 74 20 72 |rdinary |target r|
|000039a0| 75 6c 65 2e 0a 0a 54 68 | 65 20 7b 5c 74 74 20 2e |ule...Th|e {\tt .|
|000039b0| 53 55 46 46 49 58 45 53 | 7d 20 64 69 72 65 63 74 |SUFFIXES|} direct|
|000039c0| 69 76 65 20 69 73 20 75 | 73 65 64 20 74 6f 20 63 |ive is u|sed to c|
|000039d0| 61 75 73 65 20 74 68 65 | 20 4d 61 6b 65 20 70 72 |ause the| Make pr|
|000039e0| 6f 67 72 61 6d 20 74 6f | 20 66 69 6e 64 20 61 6c |ogram to| find al|
|000039f0| 6c 0a 6f 72 64 69 6e 61 | 72 79 20 72 75 6c 65 73 |l.ordina|ry rules|
|00003a00| 20 74 68 61 74 20 63 61 | 6e 20 62 65 20 69 6e 74 | that ca|n be int|
|00003a10| 65 72 70 72 65 74 65 64 | 20 61 73 20 73 75 66 66 |erpreted| as suff|
|00003a20| 69 78 20 72 75 6c 65 73 | 20 6d 61 74 63 68 69 6e |ix rules| matchin|
|00003a30| 67 20 74 68 65 20 73 75 | 66 66 69 78 0a 61 72 67 |g the su|ffix.arg|
|00003a40| 75 6d 65 6e 74 73 2e 20 | 20 45 61 63 68 20 73 75 |uments. | Each su|
|00003a50| 66 66 69 78 20 72 75 6c | 65 20 69 73 20 74 72 61 |ffix rul|e is tra|
|00003a60| 6e 73 66 6f 72 6d 65 64 | 20 69 6e 74 6f 20 69 74 |nsformed| into it|
|00003a70| 73 20 65 71 75 69 76 61 | 6c 65 6e 74 20 70 61 74 |s equiva|lent pat|
|00003a80| 74 65 72 6e 0a 72 75 6c | 65 20 61 74 20 74 68 69 |tern.rul|e at thi|
|00003a90| 73 20 74 69 6d 65 2e 0a | 0a 5c 73 75 62 73 75 62 |s time..|.\subsub|
|00003aa0| 73 65 63 74 69 6f 6e 7b | 50 61 74 74 65 72 6e 20 |section{|Pattern |
|00003ab0| 52 75 6c 65 73 20 76 65 | 72 73 75 73 20 53 75 66 |Rules ve|rsus Suf|
|00003ac0| 66 69 78 20 52 75 6c 65 | 73 7d 0a 0a 50 61 74 74 |fix Rule|s}..Patt|
|00003ad0| 65 72 6e 20 72 75 6c 65 | 73 20 73 68 6f 75 6c 64 |ern rule|s should|
|00003ae0| 20 62 65 20 75 73 65 64 | 20 62 65 63 61 75 73 65 | be used| because|
|00003af0| 20 74 68 65 79 20 61 72 | 65 20 66 61 72 20 6d 6f | they ar|e far mo|
|00003b00| 72 65 20 66 6c 65 78 69 | 62 6c 65 20 74 68 61 6e |re flexi|ble than|
|00003b10| 20 73 75 66 66 69 78 0a | 72 75 6c 65 73 2e 20 20 | suffix.|rules. |
|00003b20| 53 75 66 66 69 78 20 72 | 75 6c 65 73 20 61 72 65 |Suffix r|ules are|
|00003b30| 20 69 6e 74 65 72 6e 61 | 6c 6c 79 20 72 65 70 72 | interna|lly repr|
|00003b40| 65 73 65 6e 74 65 64 20 | 62 79 20 70 61 74 74 65 |esented |by patte|
|00003b50| 72 6e 20 72 75 6c 65 73 | 20 61 6e 79 77 61 79 2c |rn rules| anyway,|
|00003b60| 0a 62 75 74 20 61 6e 20 | 65 78 74 72 61 20 7b 5c |.but an |extra {\|
|00003b70| 74 74 20 2e 53 55 46 46 | 49 58 45 53 7d 20 64 69 |tt .SUFF|IXES} di|
|00003b80| 72 65 63 74 69 76 65 20 | 6d 75 73 74 20 62 65 20 |rective |must be |
|00003b90| 67 69 76 65 6e 20 62 65 | 66 6f 72 65 20 61 20 73 |given be|fore a s|
|00003ba0| 75 66 66 69 78 20 72 75 | 6c 65 0a 69 73 20 72 65 |uffix ru|le.is re|
|00003bb0| 63 6f 67 6e 69 7a 65 64 | 2e 0a 0a 5c 73 75 62 73 |cognized|...\subs|
|00003bc0| 65 63 74 69 6f 6e 7b 43 | 6f 6d 6d 61 6e 64 20 4c |ection{C|ommand L|
|00003bd0| 69 6e 65 73 7d 0a 0a 43 | 6f 6d 6d 61 6e 64 20 6c |ines}..C|ommand l|
|00003be0| 69 6e 65 73 20 61 72 65 | 20 65 78 65 63 75 74 65 |ines are| execute|
|00003bf0| 64 20 69 6e 20 6f 72 64 | 65 72 20 6f 66 20 61 70 |d in ord|er of ap|
|00003c00| 70 65 61 72 61 6e 63 65 | 20 69 66 20 61 6e 79 20 |pearance| if any |
|00003c10| 64 65 70 65 6e 64 65 6e | 63 79 20 69 73 0a 6e 65 |dependen|cy is.ne|
|00003c20| 77 65 72 20 74 68 61 6e | 20 74 68 65 20 74 61 72 |wer than| the tar|
|00003c30| 67 65 74 2e 20 20 54 68 | 65 20 63 6f 6d 6d 61 6e |get. Th|e comman|
|00003c40| 64 73 20 65 78 65 63 75 | 74 65 64 20 66 6f 72 20 |ds execu|ted for |
|00003c50| 61 20 72 75 6c 65 20 73 | 68 6f 75 6c 64 20 64 6f |a rule s|hould do|
|00003c60| 0a 73 6f 6d 65 74 68 69 | 6e 67 20 74 68 61 74 20 |.somethi|ng that |
|00003c70| 63 61 75 73 65 73 20 74 | 68 65 20 74 61 72 67 65 |causes t|he targe|
|00003c80| 74 27 73 20 6d 6f 64 69 | 66 69 63 61 74 69 6f 6e |t's modi|fication|
|00003c90| 20 64 61 74 65 20 74 6f | 20 62 65 20 75 70 64 61 | date to| be upda|
|00003ca0| 74 65 64 2e 0a 0a 54 68 | 65 20 4d 61 6b 65 20 70 |ted...Th|e Make p|
|00003cb0| 72 6f 67 72 61 6d 20 6b | 6e 6f 77 73 20 6e 6f 74 |rogram k|nows not|
|00003cc0| 68 69 6e 67 20 61 62 6f | 75 74 20 77 68 61 74 20 |hing abo|ut what |
|00003cd0| 74 68 65 20 63 6f 6d 6d | 61 6e 64 20 6c 69 6e 65 |the comm|and line|
|00003ce0| 73 20 6d 65 61 6e 20 6f | 72 20 64 6f 2e 0a 54 68 |s mean o|r do..Th|
|00003cf0| 65 20 63 6f 6d 6d 61 6e | 64 20 6c 69 6e 65 73 20 |e comman|d lines |
|00003d00| 61 72 65 20 73 69 6d 70 | 6c 79 20 70 61 73 73 65 |are simp|ly passe|
|00003d10| 64 20 74 6f 20 74 68 65 | 20 73 68 65 6c 6c 20 66 |d to the| shell f|
|00003d20| 6f 72 20 65 78 65 63 75 | 74 69 6f 6e 2e 20 20 49 |or execu|tion. I|
|00003d30| 66 0a 65 78 65 63 75 74 | 69 6e 67 20 74 68 65 20 |f.execut|ing the |
|00003d40| 63 6f 6d 6d 61 6e 64 20 | 6c 69 6e 65 20 72 65 73 |command |line res|
|00003d50| 75 6c 74 73 20 69 6e 20 | 61 6e 20 65 72 72 6f 72 |ults in |an error|
|00003d60| 2c 20 74 68 65 6e 20 74 | 68 65 20 4d 61 6b 65 20 |, then t|he Make |
|00003d70| 70 72 6f 67 72 61 6d 20 | 77 69 6c 6c 0a 74 65 72 |program |will.ter|
|00003d80| 6d 69 6e 61 74 65 2e 0a | 0a 53 6f 6d 65 74 69 6d |minate..|.Sometim|
|00003d90| 65 73 20 69 74 20 69 73 | 20 64 65 73 69 72 61 62 |es it is| desirab|
|00003da0| 6c 65 20 74 6f 20 69 67 | 6e 6f 72 65 20 74 68 65 |le to ig|nore the|
|00003db0| 20 65 72 72 6f 72 20 72 | 65 74 75 72 6e 65 64 20 | error r|eturned |
|00003dc0| 62 79 20 61 20 63 6f 6d | 6d 61 6e 64 2c 0a 62 65 |by a com|mand,.be|
|00003dd0| 63 61 75 73 65 20 66 61 | 69 6c 75 72 65 20 74 6f |cause fa|ilure to|
|00003de0| 20 65 78 65 63 75 74 65 | 20 74 68 65 20 63 6f 6d | execute| the com|
|00003df0| 6d 61 6e 64 20 64 6f 65 | 73 20 6e 6f 74 20 61 66 |mand doe|s not af|
|00003e00| 66 65 63 74 20 74 68 65 | 20 73 75 63 63 65 73 73 |fect the| success|
|00003e10| 66 75 6c 0a 63 6f 6d 70 | 6c 65 74 69 6f 6e 20 6f |ful.comp|letion o|
|00003e20| 66 20 74 68 65 20 4d 61 | 6b 65 66 69 6c 65 2e 20 |f the Ma|kefile. |
|00003e30| 20 49 66 20 74 68 69 73 | 20 69 73 20 74 72 75 65 | If this| is true|
|00003e40| 20 74 68 65 6e 20 74 68 | 65 20 65 72 72 6f 72 20 | then th|e error |
|00003e50| 72 65 74 75 72 6e 65 64 | 20 62 79 20 61 0a 63 6f |returned| by a.co|
|00003e60| 6d 6d 61 6e 64 20 63 61 | 6e 20 62 65 20 69 67 6e |mmand ca|n be ign|
|00003e70| 6f 72 65 64 20 62 79 20 | 70 72 65 63 65 64 69 6e |ored by |precedin|
|00003e80| 67 20 74 68 65 20 63 6f | 6d 6d 61 6e 64 20 77 69 |g the co|mmand wi|
|00003e90| 74 68 20 61 20 7b 5c 74 | 74 20 2d 7d 20 63 68 61 |th a {\t|t -} cha|
|00003ea0| 72 61 63 74 65 72 2e 0a | 46 6f 72 20 65 78 61 6d |racter..|For exam|
|00003eb0| 70 6c 65 3a 0a 0a 5c 62 | 65 67 69 6e 7b 76 65 72 |ple:..\b|egin{ver|
|00003ec0| 62 61 74 69 6d 7d 0a 63 | 6c 65 61 6e 3a 0a 20 20 |batim}.c|lean:. |
|00003ed0| 20 20 2d 64 65 6c 65 74 | 65 20 23 3f 2e 6f 0a 5c | -delet|e #?.o.\|
|00003ee0| 65 6e 64 7b 76 65 72 62 | 61 74 69 6d 7d 0a 0a 4e |end{verb|atim}..N|
|00003ef0| 6f 72 6d 61 6c 6c 79 2c | 20 65 61 63 68 20 63 6f |ormally,| each co|
|00003f00| 6d 6d 61 6e 64 20 69 73 | 20 70 72 69 6e 74 65 64 |mmand is| printed|
|00003f10| 20 28 65 63 68 6f 65 64 | 29 20 62 65 66 6f 72 65 | (echoed|) before|
|00003f20| 20 65 78 65 63 75 74 69 | 6f 6e 2e 20 20 45 63 68 | executi|on. Ech|
|00003f30| 6f 69 6e 67 20 66 6f 72 | 0a 65 61 63 68 20 63 6f |oing for|.each co|
|00003f40| 6d 6d 61 6e 64 20 63 61 | 6e 20 62 65 20 64 69 73 |mmand ca|n be dis|
|00003f50| 61 62 6c 65 64 20 62 79 | 20 70 72 65 63 65 64 69 |abled by| precedi|
|00003f60| 6e 67 20 69 74 20 77 69 | 74 68 20 61 20 7b 5c 74 |ng it wi|th a {\t|
|00003f70| 74 20 40 7d 20 63 68 61 | 72 61 63 74 65 72 2e 20 |t @} cha|racter. |
|00003f80| 20 54 68 69 73 0a 64 6f | 65 73 20 6e 6f 74 20 61 | This.do|es not a|
|00003f90| 66 66 65 63 74 20 69 74 | 73 20 65 78 65 63 75 74 |ffect it|s execut|
|00003fa0| 69 6f 6e 2e 20 20 54 68 | 65 20 7b 5c 74 74 20 40 |ion. Th|e {\tt @|
|00003fb0| 7d 20 63 68 61 72 61 63 | 74 65 72 20 64 6f 65 73 |} charac|ter does|
|00003fc0| 20 6e 6f 74 20 72 65 64 | 69 72 65 63 74 20 74 68 | not red|irect th|
|00003fd0| 65 0a 73 74 61 6e 64 61 | 72 64 20 6f 75 74 70 75 |e.standa|rd outpu|
|00003fe0| 74 20 6f 66 20 74 68 65 | 20 70 72 6f 67 72 61 6d |t of the| program|
|00003ff0| 20 62 65 69 6e 67 20 65 | 78 65 63 75 74 65 64 2e | being e|xecuted.|
|00004000| 20 20 52 65 64 69 72 65 | 63 74 69 6f 6e 20 6d 75 | Redire|ction mu|
|00004010| 73 74 20 62 65 20 73 74 | 61 74 65 64 0a 65 78 70 |st be st|ated.exp|
|00004020| 6c 69 63 69 74 6c 79 2e | 0a 0a 5c 73 75 62 73 75 |licitly.|..\subsu|
|00004030| 62 73 65 63 74 69 6f 6e | 7b 53 70 65 63 69 61 6c |bsection|{Special|
|00004040| 20 43 6f 6d 6d 61 6e 64 | 73 7d 0a 0a 54 68 65 20 | Command|s}..The |
|00004050| 7b 5c 74 74 20 63 64 7d | 20 63 6f 6d 6d 61 6e 64 |{\tt cd}| command|
|00004060| 20 63 61 6e 20 62 65 20 | 75 73 65 64 20 74 6f 20 | can be |used to |
|00004070| 63 68 61 6e 67 65 20 74 | 68 65 20 63 75 72 72 65 |change t|he curre|
|00004080| 6e 74 20 64 69 72 65 63 | 74 6f 72 79 20 6f 66 20 |nt direc|tory of |
|00004090| 74 68 65 0a 4d 61 6b 65 | 20 70 72 6f 67 72 61 6d |the.Make| program|
|000040a0| 2e 20 20 54 68 69 73 20 | 63 6f 6d 6d 61 6e 64 20 |. This |command |
|000040b0| 69 73 20 73 70 65 63 69 | 61 6c 3b 20 69 74 20 69 |is speci|al; it i|
|000040c0| 73 20 68 61 6e 64 6c 65 | 64 20 62 79 20 74 68 65 |s handle|d by the|
|000040d0| 20 4d 61 6b 65 20 70 72 | 6f 67 72 61 6d 0a 69 74 | Make pr|ogram.it|
|000040e0| 73 65 6c 66 2c 20 69 6e | 73 74 65 61 64 20 6f 66 |self, in|stead of|
|000040f0| 20 62 65 69 6e 67 20 65 | 78 65 63 75 74 65 64 20 | being e|xecuted |
|00004100| 62 79 20 74 68 65 20 73 | 68 65 6c 6c 2e 20 20 41 |by the s|hell. A|
|00004110| 66 74 65 72 20 74 68 65 | 20 63 75 72 72 65 6e 74 |fter the| current|
|00004120| 0a 64 69 72 65 63 74 6f | 72 79 20 69 73 20 63 68 |.directo|ry is ch|
|00004130| 61 6e 67 65 64 2c 20 61 | 6c 6c 20 73 75 62 73 65 |anged, a|ll subse|
|00004140| 71 75 65 6e 74 20 63 6f | 6d 6d 61 6e 64 73 20 77 |quent co|mmands w|
|00004150| 68 69 63 68 20 61 72 65 | 20 65 78 65 63 75 74 65 |hich are| execute|
|00004160| 64 20 66 72 6f 6d 0a 77 | 69 74 68 69 6e 20 4d 61 |d from.w|ithin Ma|
|00004170| 6b 65 20 77 69 6c 6c 20 | 69 6e 68 65 72 69 74 20 |ke will |inherit |
|00004180| 74 68 65 20 6e 65 77 20 | 63 75 72 72 65 6e 74 20 |the new |current |
|00004190| 64 69 72 65 63 74 6f 72 | 79 2c 20 75 6e 74 69 6c |director|y, until|
|000041a0| 20 61 6e 6f 74 68 65 72 | 20 7b 5c 74 74 20 63 64 | another| {\tt cd|
|000041b0| 7d 0a 63 6f 6d 6d 61 6e | 64 20 69 73 20 69 73 73 |}.comman|d is iss|
|000041c0| 75 65 64 2e 20 20 49 66 | 20 6e 6f 20 61 72 67 75 |ued. If| no argu|
|000041d0| 6d 65 6e 74 20 69 73 20 | 67 69 76 65 6e 20 74 6f |ment is |given to|
|000041e0| 20 7b 5c 74 74 20 63 64 | 7d 20 74 68 65 6e 20 74 | {\tt cd|} then t|
|000041f0| 68 65 20 6f 72 69 67 69 | 6e 61 6c 0a 63 75 72 72 |he origi|nal.curr|
|00004200| 65 6e 74 20 64 69 72 65 | 63 74 6f 72 79 20 69 73 |ent dire|ctory is|
|00004210| 20 72 65 73 74 6f 72 65 | 64 2e 20 20 54 68 65 20 | restore|d. The |
|00004220| 6f 72 69 67 69 6e 61 6c | 20 63 75 72 72 65 6e 74 |original| current|
|00004230| 20 64 69 72 65 63 74 6f | 72 79 2c 20 77 68 65 72 | directo|ry, wher|
|00004240| 65 20 74 68 65 0a 4d 61 | 6b 65 20 70 72 6f 67 72 |e the.Ma|ke progr|
|00004250| 61 6d 20 77 61 73 20 65 | 78 65 63 75 74 65 64 2c |am was e|xecuted,|
|00004260| 20 77 69 6c 6c 20 62 65 | 20 72 65 73 74 6f 72 65 | will be| restore|
|00004270| 64 20 62 65 66 6f 72 65 | 20 74 68 65 20 4d 61 6b |d before| the Mak|
|00004280| 65 20 70 72 6f 67 72 61 | 6d 20 65 78 69 74 73 2e |e progra|m exits.|
|00004290| 0a 0a 43 6f 6e 64 69 74 | 69 6f 6e 61 6c 20 63 6f |..Condit|ional co|
|000042a0| 6d 6d 61 6e 64 73 20 61 | 72 65 20 61 6c 73 6f 20 |mmands a|re also |
|000042b0| 68 61 6e 64 6c 65 64 20 | 69 6e 74 65 72 6e 61 6c |handled |internal|
|000042c0| 6c 79 20 62 79 20 74 68 | 65 20 4d 61 6b 65 20 70 |ly by th|e Make p|
|000042d0| 72 6f 67 72 61 6d 2e 0a | 52 65 66 65 72 20 74 6f |rogram..|Refer to|
|000042e0| 20 73 65 63 74 69 6f 6e | 20 5c 72 65 66 7b 63 6f | section| \ref{co|
|000042f0| 6e 64 63 6d 64 73 7d 20 | 6f 6e 20 74 68 65 20 62 |ndcmds} |on the b|
|00004300| 65 68 61 76 69 6f 75 72 | 20 6f 66 20 63 6f 6e 64 |ehaviour| of cond|
|00004310| 69 74 69 6f 6e 61 6c 0a | 63 6f 6d 6d 61 6e 64 73 |itional.|commands|
|00004320| 2e 0a 0a 5c 73 75 62 73 | 75 62 73 65 63 74 69 6f |...\subs|ubsectio|
|00004330| 6e 7b 56 61 72 69 61 62 | 6c 65 20 41 73 73 69 67 |n{Variab|le Assig|
|00004340| 6e 6d 65 6e 74 20 43 6f | 6d 6d 61 6e 64 73 7d 0a |nment Co|mmands}.|
|00004350| 0a 41 20 63 6f 6d 6d 61 | 6e 64 20 6c 69 6e 65 20 |.A comma|nd line |
|00004360| 63 6f 6e 74 61 69 6e 69 | 6e 67 20 74 68 65 20 7b |containi|ng the {|
|00004370| 5c 74 74 20 3d 7d 20 63 | 68 61 72 61 63 74 65 72 |\tt =} c|haracter|
|00004380| 20 28 62 65 66 6f 72 65 | 20 6d 61 63 72 6f 20 65 | (before| macro e|
|00004390| 78 70 61 6e 73 69 6f 6e | 29 0a 77 69 6c 6c 20 62 |xpansion|).will b|
|000043a0| 65 20 69 6e 74 65 72 70 | 72 65 74 65 64 20 61 73 |e interp|reted as|
|000043b0| 20 61 20 76 61 72 69 61 | 62 6c 65 20 61 73 73 69 | a varia|ble assi|
|000043c0| 67 6e 6d 65 6e 74 20 28 | 73 65 65 20 73 65 63 74 |gnment (|see sect|
|000043d0| 69 6f 6e 20 5c 72 65 66 | 7b 76 61 72 61 73 73 7d |ion \ref|{varass}|
|000043e0| 29 2e 0a 54 68 75 73 2c | 20 76 61 72 69 61 62 6c |)..Thus,| variabl|
|000043f0| 65 73 20 63 61 6e 20 62 | 65 20 67 69 76 65 6e 20 |es can b|e given |
|00004400| 76 61 6c 75 65 73 20 77 | 68 69 63 68 20 64 65 70 |values w|hich dep|
|00004410| 65 6e 64 20 75 70 6f 6e | 20 77 68 69 63 68 20 72 |end upon| which r|
|00004420| 75 6c 65 20 77 61 73 0a | 72 65 73 6f 6c 76 65 64 |ule was.|resolved|
|00004430| 2e 20 20 56 61 72 69 61 | 62 6c 65 20 61 73 73 69 |. Varia|ble assi|
|00004440| 67 6e 6d 65 6e 74 20 63 | 6f 6d 6d 61 6e 64 73 20 |gnment c|ommands |
|00004450| 61 72 65 20 65 78 65 63 | 75 74 65 64 20 69 6e 20 |are exec|uted in |
|00004460| 74 68 65 20 63 6f 6e 74 | 65 78 74 20 6f 66 20 74 |the cont|ext of t|
|00004470| 68 65 0a 72 75 6c 65 20 | 77 68 69 63 68 20 69 73 |he.rule |which is|
|00004480| 20 62 65 69 6e 67 20 72 | 65 73 6f 6c 76 65 64 20 | being r|esolved |
|00004490| 61 74 20 72 75 6e 20 74 | 69 6d 65 2e 0a 0a 0a 5c |at run t|ime....\|
|000044a0| 73 75 62 73 65 63 74 69 | 6f 6e 7b 44 65 66 61 75 |subsecti|on{Defau|
|000044b0| 6c 74 20 54 61 72 67 65 | 74 20 52 75 6c 65 7d 0a |lt Targe|t Rule}.|
|000044c0| 0a 53 6f 6d 65 74 69 6d | 65 73 20 69 74 20 6d 69 |.Sometim|es it mi|
|000044d0| 67 68 74 20 62 65 20 64 | 65 73 69 72 61 62 6c 65 |ght be d|esirable|
|000044e0| 20 74 6f 20 64 65 66 69 | 6e 65 20 61 20 72 75 6c | to defi|ne a rul|
|000044f0| 65 20 74 68 61 74 20 69 | 73 20 6f 6e 6c 79 20 65 |e that i|s only e|
|00004500| 78 65 63 75 74 65 64 20 | 77 68 65 6e 0a 61 6c 6c |xecuted |when.all|
|00004510| 20 6f 74 68 65 72 20 72 | 75 6c 65 73 20 68 61 76 | other r|ules hav|
|00004520| 65 20 66 61 69 6c 65 64 | 20 74 6f 20 6d 61 6b 65 |e failed| to make|
|00004530| 20 61 20 74 61 72 67 65 | 74 20 75 70 2d 74 6f 2d | a targe|t up-to-|
|00004540| 64 61 74 65 2e 20 20 41 | 73 20 61 20 6c 61 73 74 |date. A|s a last|
|00004550| 20 72 65 73 6f 72 74 2c | 0a 6f 6e 65 20 6d 69 67 | resort,|.one mig|
|00004560| 68 74 20 77 69 73 68 20 | 74 6f 20 73 69 6d 70 6c |ht wish |to simpl|
|00004570| 79 20 7b 5c 74 74 20 74 | 6f 75 63 68 7d 20 74 68 |y {\tt t|ouch} th|
|00004580| 65 20 74 61 72 67 65 74 | 20 66 69 6c 65 2c 20 6f |e target| file, o|
|00004590| 72 20 70 65 72 66 6f 72 | 6d 20 6e 6f 20 61 63 74 |r perfor|m no act|
|000045a0| 69 6f 6e 0a 61 74 20 61 | 6c 6c 2c 20 61 6e 64 20 |ion.at a|ll, and |
|000045b0| 61 6c 6c 6f 77 20 4d 61 | 6b 65 20 74 6f 20 63 6f |allow Ma|ke to co|
|000045c0| 6e 74 69 6e 75 65 20 77 | 69 74 68 6f 75 74 20 74 |ntinue w|ithout t|
|000045d0| 65 72 6d 69 6e 61 74 69 | 6e 67 20 77 69 74 68 20 |erminati|ng with |
|000045e0| 61 6e 20 65 72 72 6f 72 | 2e 0a 0a 5c 62 65 67 69 |an error|...\begi|
|000045f0| 6e 7b 76 65 72 62 61 74 | 69 6d 7d 0a 2e 44 45 46 |n{verbat|im}..DEF|
|00004600| 41 55 4c 54 3a 0a 20 20 | 20 20 63 6f 6d 6d 61 6e |AULT:. | comman|
|00004610| 64 20 6c 69 6e 65 73 0a | 5c 65 6e 64 7b 76 65 72 |d lines.|\end{ver|
|00004620| 62 61 74 69 6d 7d 0a 0a | 49 66 20 74 68 65 20 7b |batim}..|If the {|
|00004630| 5c 74 74 20 2e 44 45 46 | 41 55 4c 54 7d 20 74 61 |\tt .DEF|AULT} ta|
|00004640| 72 67 65 74 20 69 73 20 | 67 69 76 65 6e 20 6e 6f |rget is |given no|
|00004650| 20 63 6f 6d 6d 61 6e 64 | 73 20 28 61 73 20 69 73 | command|s (as is|
|00004660| 20 74 68 65 20 64 65 66 | 61 75 6c 74 0a 62 65 68 | the def|ault.beh|
|00004670| 61 76 69 6f 75 72 29 20 | 74 68 65 6e 20 74 68 65 |aviour) |then the|
|00004680| 20 4d 61 6b 65 20 70 72 | 6f 67 72 61 6d 20 77 69 | Make pr|ogram wi|
|00004690| 6c 6c 20 74 65 72 6d 69 | 6e 61 74 65 20 77 69 74 |ll termi|nate wit|
|000046a0| 68 20 61 6e 20 65 72 72 | 6f 72 20 77 68 65 6e 65 |h an err|or whene|
|000046b0| 76 65 72 20 69 74 0a 65 | 6e 63 6f 75 6e 74 65 72 |ver it.e|ncounter|
|000046c0| 73 20 61 20 74 61 72 67 | 65 74 20 6e 61 6d 65 20 |s a targ|et name |
|000046d0| 74 68 61 74 20 63 61 6e | 6e 6f 74 20 62 65 20 6d |that can|not be m|
|000046e0| 61 64 65 2e 0a 0a 0a 5c | 73 75 62 73 65 63 74 69 |ade....\|subsecti|
|000046f0| 6f 6e 7b 42 75 69 6c 74 | 69 6e 20 52 75 6c 65 73 |on{Built|in Rules|
|00004700| 7d 0a 0a 42 79 20 64 65 | 66 61 75 6c 74 2c 20 74 |}..By de|fault, t|
|00004710| 68 65 20 4d 61 6b 65 20 | 70 72 6f 67 72 61 6d 20 |he Make |program |
|00004720| 6b 6e 6f 77 73 20 73 65 | 76 65 72 61 6c 20 62 75 |knows se|veral bu|
|00004730| 69 6c 74 69 6e 20 70 61 | 74 74 65 72 6e 20 72 75 |iltin pa|ttern ru|
|00004740| 6c 65 73 2e 20 20 48 65 | 72 65 20 69 73 0a 61 20 |les. He|re is.a |
|00004750| 6c 69 73 74 20 6f 66 20 | 74 68 65 69 72 20 64 65 |list of |their de|
|00004760| 66 69 6e 69 74 69 6f 6e | 73 3a 0a 0a 5c 62 65 67 |finition|s:..\beg|
|00004770| 69 6e 7b 76 65 72 62 61 | 74 69 6d 7d 0a 25 2c 76 |in{verba|tim}.%,v|
|00004780| 3a 0a 0a 25 2e 61 3a 20 | 52 43 53 2f 25 2e 61 2c |:..%.a: |RCS/%.a,|
|00004790| 76 0a 20 20 20 20 24 28 | 43 4f 29 20 2d 75 20 24 |v. $(|CO) -u $|
|000047a0| 40 0a 25 2e 61 3a 0a 0a | 25 2e 63 3a 20 52 43 53 |@.%.a:..|%.c: RCS|
|000047b0| 2f 25 2e 63 2c 76 0a 20 | 20 20 20 24 28 43 4f 29 |/%.c,v. | $(CO)|
|000047c0| 20 2d 75 20 24 40 0a 25 | 2e 63 3a 0a 0a 25 2e 68 | -u $@.%|.c:..%.h|
|000047d0| 3a 20 52 43 53 2f 25 2e | 68 2c 76 0a 20 20 20 20 |: RCS/%.|h,v. |
|000047e0| 24 28 43 4f 29 20 2d 75 | 20 24 40 0a 25 2e 68 3a |$(CO) -u| $@.%.h:|
|000047f0| 0a 0a 25 2e 69 3a 20 52 | 43 53 2f 25 2e 69 2c 76 |..%.i: R|CS/%.i,v|
|00004800| 0a 20 20 20 20 24 28 43 | 4f 29 20 2d 75 20 24 40 |. $(C|O) -u $@|
|00004810| 0a 25 2e 69 3a 0a 0a 25 | 2e 6f 3a 20 25 2e 63 0a |.%.i:..%|.o: %.c.|
|00004820| 20 20 20 20 24 28 43 43 | 29 20 2d 63 20 24 28 43 | $(CC|) -c $(C|
|00004830| 46 4c 41 47 53 29 20 2d | 6f 20 24 40 20 24 3c 0a |FLAGS) -|o $@ $<.|
|00004840| 0a 25 2e 6f 3a 20 25 2e | 61 0a 20 20 20 20 24 28 |.%.o: %.|a. $(|
|00004850| 41 53 29 20 2d 63 20 24 | 28 41 46 4c 41 47 53 29 |AS) -c $|(AFLAGS)|
|00004860| 20 2d 6f 20 24 40 20 24 | 3c 0a 5c 65 6e 64 7b 76 | -o $@ $|<.\end{v|
|00004870| 65 72 62 61 74 69 6d 7d | 0a 0a 4e 6f 74 69 63 65 |erbatim}|..Notice|
|00004880| 20 74 68 61 74 20 61 73 | 73 65 6d 62 6c 79 20 61 | that as|sembly a|
|00004890| 6e 64 20 43 20 6c 61 6e | 67 75 61 67 65 20 68 65 |nd C lan|guage he|
|000048a0| 61 64 65 72 73 20 61 6e | 64 20 73 6f 75 72 63 65 |aders an|d source|
|000048b0| 20 66 69 6c 65 73 20 68 | 61 76 65 20 6e 6f 0a 64 | files h|ave no.d|
|000048c0| 65 70 65 6e 64 65 6e 63 | 69 65 73 20 61 6e 64 20 |ependenc|ies and |
|000048d0| 72 65 71 75 69 72 65 20 | 6e 6f 20 63 6f 6d 6d 61 |require |no comma|
|000048e0| 6e 64 73 20 74 6f 20 62 | 65 20 65 78 65 63 75 74 |nds to b|e execut|
|000048f0| 65 64 20 69 6e 20 6f 72 | 64 65 72 20 74 6f 20 6d |ed in or|der to m|
|00004900| 61 6b 65 20 74 68 65 6d | 0a 75 70 2d 74 6f 2d 64 |ake them|.up-to-d|
|00004910| 61 74 65 2e 20 20 55 73 | 65 72 20 64 65 66 69 6e |ate. Us|er defin|
|00004920| 65 64 20 72 75 6c 65 73 | 20 73 68 6f 75 6c 64 20 |ed rules| should |
|00004930| 62 65 20 61 64 64 65 64 | 20 74 6f 20 74 68 65 20 |be added| to the |
|00004940| 4d 61 6b 65 66 69 6c 65 | 20 69 66 20 74 68 61 74 |Makefile| if that|
|00004950| 20 69 73 0a 6e 6f 74 20 | 74 68 65 20 63 61 73 65 | is.not |the case|
|00004960| 2e 0a 0a 5c 73 75 62 73 | 65 63 74 69 6f 6e 7b 55 |...\subs|ection{U|
|00004970| 73 65 72 20 44 65 66 69 | 6e 65 64 20 42 75 69 6c |ser Defi|ned Buil|
|00004980| 74 69 6e 20 52 75 6c 65 | 73 7d 0a 0a 49 66 20 74 |tin Rule|s}..If t|
|00004990| 68 65 20 75 73 65 72 20 | 6e 65 65 64 73 20 74 6f |he user |needs to|
|000049a0| 20 73 75 70 70 6c 65 6d | 65 6e 74 20 74 68 65 20 | supplem|ent the |
|000049b0| 69 6e 74 65 72 6e 61 6c | 20 62 75 69 6c 74 69 6e |internal| builtin|
|000049c0| 20 72 75 6c 65 73 20 77 | 69 74 68 20 61 64 64 69 | rules w|ith addi|
|000049d0| 74 69 6f 6e 0a 73 75 66 | 66 69 78 20 72 75 6c 65 |tion.suf|fix rule|
|000049e0| 73 20 61 6e 64 20 76 61 | 72 69 61 62 6c 65 20 64 |s and va|riable d|
|000049f0| 65 66 69 6e 69 74 69 6f | 6e 73 2c 20 74 68 65 79 |efinitio|ns, they|
|00004a00| 20 63 61 6e 20 62 65 20 | 64 65 63 6c 61 72 65 64 | can be |declared|
|00004a10| 20 69 6e 20 6f 6e 65 20 | 6f 66 20 74 77 6f 0a 66 | in one |of two.f|
|00004a20| 69 6c 65 73 3a 20 20 7b | 5c 74 74 20 53 3a 62 75 |iles: {|\tt S:bu|
|00004a30| 69 6c 74 69 6e 73 2e 6d | 61 6b 65 7d 20 6f 72 20 |iltins.m|ake} or |
|00004a40| 7b 5c 74 74 20 62 75 69 | 6c 74 69 6e 73 2e 6d 61 |{\tt bui|ltins.ma|
|00004a50| 6b 65 7d 2e 20 20 49 66 | 20 74 68 65 79 20 65 78 |ke}. If| they ex|
|00004a60| 69 73 74 2c 20 74 68 65 | 73 65 0a 74 77 6f 20 66 |ist, the|se.two f|
|00004a70| 69 6c 65 73 20 61 72 65 | 20 72 65 61 64 20 28 69 |iles are| read (i|
|00004a80| 6e 20 74 68 65 20 6f 72 | 64 65 72 20 6c 69 73 74 |n the or|der list|
|00004a90| 65 64 20 61 62 6f 76 65 | 29 20 62 65 66 6f 72 65 |ed above|) before|
|00004aa0| 20 74 68 65 20 4d 61 6b | 65 66 69 6c 65 20 62 79 | the Mak|efile by|
|00004ab0| 20 74 68 65 0a 4d 61 6b | 65 20 70 72 6f 67 72 61 | the.Mak|e progra|
|00004ac0| 6d 2e 20 20 41 6c 6c 20 | 72 75 6c 65 73 20 61 6e |m. All |rules an|
|00004ad0| 64 20 76 61 72 69 61 62 | 6c 65 73 20 69 6e 20 74 |d variab|les in t|
|00004ae0| 68 65 73 65 20 66 69 6c | 65 73 20 6d 61 79 20 62 |hese fil|es may b|
|00004af0| 65 20 72 65 66 65 72 65 | 6e 63 65 64 20 28 6f 72 |e refere|nced (or|
|00004b00| 0a 6f 76 65 72 72 69 64 | 64 65 6e 29 20 69 6e 20 |.overrid|den) in |
|00004b10| 74 68 65 20 4d 61 6b 65 | 66 69 6c 65 2e 0a 0a 0a |the Make|file....|
|00004b20| 5c 73 65 63 74 69 6f 6e | 7b 56 61 72 69 61 62 6c |\section|{Variabl|
|00004b30| 65 73 20 61 6e 64 20 4d | 61 63 72 6f 73 7d 0a 0a |es and M|acros}..|
|00004b40| 5c 6c 61 62 65 6c 7b 76 | 61 72 61 73 73 7d 0a 0a |\label{v|arass}..|
|00004b50| 56 61 72 69 61 62 6c 65 | 73 20 63 61 6e 20 63 6f |Variable|s can co|
|00004b60| 6e 74 61 69 6e 20 6d 61 | 63 72 6f 20 64 65 66 69 |ntain ma|cro defi|
|00004b70| 6e 69 74 69 6f 6e 73 20 | 6f 66 20 6d 75 6c 74 69 |nitions |of multi|
|00004b80| 70 6c 65 20 6e 61 6d 65 | 73 20 6f 72 20 6f 74 68 |ple name|s or oth|
|00004b90| 65 72 0a 74 65 78 74 2e | 20 20 54 68 65 79 20 61 |er.text.| They a|
|00004ba0| 72 65 20 75 73 65 66 75 | 6c 20 66 6f 72 20 72 65 |re usefu|l for re|
|00004bb0| 70 6c 61 63 69 6e 67 20 | 6d 75 6c 74 69 70 6c 65 |placing |multiple|
|00004bc0| 20 6f 63 63 75 72 72 65 | 6e 63 65 73 20 6f 66 20 | occurre|nces of |
|00004bd0| 74 68 65 20 73 61 6d 65 | 20 62 6f 64 79 0a 6f 66 |the same| body.of|
|00004be0| 20 74 65 78 74 20 77 69 | 74 68 20 72 65 66 65 72 | text wi|th refer|
|00004bf0| 65 6e 63 65 73 20 74 6f | 20 61 20 76 61 72 69 61 |ences to| a varia|
|00004c00| 62 6c 65 20 28 6d 61 63 | 72 6f 20 65 78 70 61 6e |ble (mac|ro expan|
|00004c10| 73 69 6f 6e 29 2e 20 20 | 41 20 76 61 72 69 61 62 |sion). |A variab|
|00004c20| 6c 65 20 69 73 0a 64 65 | 66 69 6e 65 64 20 69 6e |le is.de|fined in|
|00004c30| 20 74 68 65 20 4d 61 6b | 65 66 69 6c 65 20 77 69 | the Mak|efile wi|
|00004c40| 74 68 20 61 6e 20 61 73 | 73 69 67 6e 6d 65 6e 74 |th an as|signment|
|00004c50| 20 73 74 61 74 65 6d 65 | 6e 74 2e 20 20 4f 6e 6c | stateme|nt. Onl|
|00004c60| 79 20 74 68 65 20 6c 61 | 73 74 0a 61 73 73 69 67 |y the la|st.assig|
|00004c70| 6e 6d 65 6e 74 20 6f 66 | 20 61 20 76 61 72 69 61 |nment of| a varia|
|00004c80| 62 6c 65 20 69 73 20 72 | 65 63 6f 67 6e 69 7a 65 |ble is r|ecognize|
|00004c90| 64 2c 20 62 65 63 61 75 | 73 65 20 74 68 65 20 72 |d, becau|se the r|
|00004ca0| 75 6c 65 73 20 61 72 65 | 20 70 72 6f 63 65 73 73 |ules are| process|
|00004cb0| 65 64 0a 61 66 74 65 72 | 20 74 68 65 20 65 6e 74 |ed.after| the ent|
|00004cc0| 69 72 65 20 4d 61 6b 65 | 66 69 6c 65 20 68 61 73 |ire Make|file has|
|00004cd0| 20 62 65 65 6e 20 69 6e | 74 65 72 70 72 65 74 65 | been in|terprete|
|00004ce0| 64 20 69 6e 74 6f 20 69 | 6e 74 65 72 6e 61 6c 20 |d into i|nternal |
|00004cf0| 72 75 6c 65 73 20 62 79 | 20 74 68 65 0a 4d 61 6b |rules by| the.Mak|
|00004d00| 65 20 70 72 6f 67 72 61 | 6d 2e 0a 0a 49 6e 20 61 |e progra|m...In a|
|00004d10| 20 6d 61 6b 65 66 69 6c | 65 2c 20 74 68 65 20 6c | makefil|e, the l|
|00004d20| 69 6e 65 3a 0a 0a 5c 62 | 65 67 69 6e 7b 76 65 72 |ine:..\b|egin{ver|
|00004d30| 62 61 74 69 6d 7d 0a 6d | 79 76 61 72 69 61 62 6c |batim}.m|yvariabl|
|00004d40| 65 20 3d 20 73 6f 75 72 | 63 65 2e 63 20 68 65 61 |e = sour|ce.c hea|
|00004d50| 64 65 72 2e 68 0a 5c 65 | 6e 64 7b 76 65 72 62 61 |der.h.\e|nd{verba|
|00004d60| 74 69 6d 7d 0a 0a 69 73 | 20 75 73 65 64 20 74 6f |tim}..is| used to|
|00004d70| 20 61 73 73 69 67 6e 20 | 74 68 65 20 73 74 72 69 | assign |the stri|
|00004d80| 6e 67 20 7b 5c 74 74 20 | 73 6f 75 72 63 65 2e 63 |ng {\tt |source.c|
|00004d90| 20 68 65 61 64 65 72 2e | 68 7d 20 74 6f 20 74 68 | header.|h} to th|
|00004da0| 65 20 76 61 72 69 61 62 | 6c 65 20 6e 61 6d 65 64 |e variab|le named|
|00004db0| 0a 7b 5c 74 74 20 6d 79 | 76 61 72 69 61 62 6c 65 |.{\tt my|variable|
|00004dc0| 7d 2e 20 20 49 6e 20 74 | 68 65 20 66 6f 6c 6c 6f |}. In t|he follo|
|00004dd0| 77 69 6e 67 20 72 75 6c | 65 20 64 65 66 69 6e 69 |wing rul|e defini|
|00004de0| 74 69 6f 6e 3a 0a 0a 5c | 62 65 67 69 6e 7b 76 65 |tion:..\|begin{ve|
|00004df0| 72 62 61 74 69 6d 7d 0a | 74 61 72 67 65 74 2e 6f |rbatim}.|target.o|
|00004e00| 3a 20 24 28 6d 79 76 61 | 72 69 61 62 6c 65 29 0a |: $(myva|riable).|
|00004e10| 5c 65 6e 64 7b 76 65 72 | 62 61 74 69 6d 7d 0a 0a |\end{ver|batim}..|
|00004e20| 74 68 65 20 5c 24 28 6d | 79 76 61 72 69 61 62 6c |the \$(m|yvariabl|
|00004e30| 65 29 20 72 65 66 65 72 | 65 6e 63 65 20 69 73 20 |e) refer|ence is |
|00004e40| 65 78 70 61 6e 64 65 64 | 20 69 6e 74 6f 20 74 68 |expanded| into th|
|00004e50| 65 20 73 74 72 69 6e 67 | 20 61 73 73 69 67 6e 65 |e string| assigne|
|00004e60| 64 20 74 6f 0a 7b 5c 74 | 74 20 6d 79 76 61 72 69 |d to.{\t|t myvari|
|00004e70| 61 62 6c 65 7d 2e 20 20 | 49 66 20 74 68 65 20 6d |able}. |If the m|
|00004e80| 61 63 72 6f 20 65 78 70 | 61 6e 73 69 6f 6e 20 63 |acro exp|ansion c|
|00004e90| 6f 6e 74 61 69 6e 73 20 | 66 75 72 74 68 65 72 20 |ontains |further |
|00004ea0| 72 65 66 65 72 65 6e 63 | 65 73 20 74 6f 20 6f 74 |referenc|es to ot|
|00004eb0| 68 65 72 0a 76 61 72 69 | 61 62 6c 65 73 2c 20 74 |her.vari|ables, t|
|00004ec0| 68 65 6e 20 74 68 65 79 | 20 61 72 65 20 61 6c 73 |hen they| are als|
|00004ed0| 6f 20 72 65 63 75 72 73 | 69 76 65 6c 79 20 65 78 |o recurs|ively ex|
|00004ee0| 70 61 6e 64 65 64 20 75 | 6e 74 69 6c 20 74 68 65 |panded u|ntil the|
|00004ef0| 20 72 65 73 75 6c 74 69 | 6e 67 0a 73 74 72 69 6e | resulti|ng.strin|
|00004f00| 67 20 69 73 20 66 75 6c | 6c 79 20 65 78 70 61 6e |g is ful|ly expan|
|00004f10| 64 65 64 2e 20 20 55 6e | 64 65 66 69 6e 65 64 20 |ded. Un|defined |
|00004f20| 6d 61 63 72 6f 73 20 61 | 72 65 20 65 78 70 61 6e |macros a|re expan|
|00004f30| 64 65 64 20 74 6f 20 6e | 6f 74 68 69 6e 67 20 28 |ded to n|othing (|
|00004f40| 65 6d 70 74 79 0a 73 74 | 72 69 6e 67 73 29 2e 20 |empty.st|rings). |
|00004f50| 20 5c 24 5c 7b 6d 79 76 | 61 72 69 61 62 6c 65 5c | \$\{myv|ariable\|
|00004f60| 7d 20 69 73 20 65 71 75 | 69 76 61 6c 65 6e 74 20 |} is equ|ivalent |
|00004f70| 74 6f 20 5c 24 28 6d 79 | 76 61 72 69 61 62 6c 65 |to \$(my|variable|
|00004f80| 29 2e 0a 46 6f 72 20 73 | 69 6e 67 6c 65 20 63 68 |)..For s|ingle ch|
|00004f90| 61 72 61 63 74 65 72 20 | 76 61 72 69 61 62 6c 65 |aracter |variable|
|00004fa0| 20 6e 61 6d 65 73 2c 20 | 74 68 65 20 70 61 72 65 | names, |the pare|
|00004fb0| 6e 74 68 65 73 65 73 20 | 6f 72 20 62 72 61 63 65 |ntheses |or brace|
|00004fc0| 73 20 61 72 65 20 6e 6f | 74 0a 6e 65 63 65 73 73 |s are no|t.necess|
|00004fd0| 61 72 79 20 74 6f 20 65 | 78 70 61 6e 64 20 74 68 |ary to e|xpand th|
|00004fe0| 65 20 6d 61 63 72 6f 3b | 20 74 68 65 20 73 69 6e |e macro;| the sin|
|00004ff0| 67 6c 65 20 63 68 61 72 | 61 63 74 65 72 20 6d 61 |gle char|acter ma|
|00005000| 79 20 69 6d 6d 65 64 69 | 61 74 65 6c 79 20 66 6f |y immedi|ately fo|
|00005010| 6c 6c 6f 77 0a 74 68 65 | 20 7b 5c 74 74 5c 24 20 |llow.the| {\tt\$ |
|00005020| 7d 2e 0a 0a 41 64 64 69 | 74 69 6f 6e 61 6c 20 74 |}...Addi|tional t|
|00005030| 65 78 74 20 63 61 6e 20 | 62 65 20 63 6f 6e 63 61 |ext can |be conca|
|00005040| 74 65 6e 61 74 65 64 20 | 74 6f 20 74 68 65 20 65 |tenated |to the e|
|00005050| 6e 64 20 6f 66 20 74 68 | 65 20 76 61 6c 75 65 20 |nd of th|e value |
|00005060| 6f 66 20 61 6e 20 65 78 | 69 73 74 69 6e 67 0a 76 |of an ex|isting.v|
|00005070| 61 72 69 61 62 6c 65 20 | 62 79 20 75 73 69 6e 67 |ariable |by using|
|00005080| 20 74 68 65 20 7b 5c 74 | 74 20 2b 3d 7d 20 6f 70 | the {\t|t +=} op|
|00005090| 65 72 61 74 6f 72 2c 20 | 6c 69 6b 65 20 74 68 69 |erator, |like thi|
|000050a0| 73 3a 0a 0a 5c 62 65 67 | 69 6e 7b 76 65 72 62 61 |s:..\beg|in{verba|
|000050b0| 74 69 6d 7d 0a 61 6c 70 | 68 61 20 3d 20 61 62 63 |tim}.alp|ha = abc|
|000050c0| 0a 61 6c 70 68 61 20 2b | 3d 20 64 65 66 0a 5c 65 |.alpha +|= def.\e|
|000050d0| 6e 64 7b 76 65 72 62 61 | 74 69 6d 7d 0a 0a 54 68 |nd{verba|tim}..Th|
|000050e0| 65 20 72 65 73 75 6c 74 | 20 6f 66 20 7b 5c 74 74 |e result| of {\tt|
|000050f0| 5c 24 28 61 6c 70 68 61 | 29 7d 20 69 73 20 6e 6f |\$(alpha|)} is no|
|00005100| 77 20 7b 5c 74 74 20 61 | 62 63 20 64 65 66 7d 2e |w {\tt a|bc def}.|
|00005110| 20 20 4e 6f 74 69 63 65 | 20 74 68 65 20 73 70 61 | Notice| the spa|
|00005120| 63 65 0a 69 6e 73 65 72 | 74 65 64 20 61 74 20 74 |ce.inser|ted at t|
|00005130| 68 65 20 70 6f 69 6e 74 | 20 6f 66 20 63 6f 6e 63 |he point| of conc|
|00005140| 61 74 65 6e 61 74 69 6f | 6e 2e 20 20 54 68 69 73 |atenatio|n. This|
|00005150| 20 65 6e 73 75 72 65 73 | 20 74 68 61 74 20 66 69 | ensures| that fi|
|00005160| 6c 65 6e 61 6d 65 73 20 | 61 72 65 0a 6e 6f 74 20 |lenames |are.not |
|00005170| 73 70 6c 69 74 20 62 65 | 74 77 65 65 6e 20 64 69 |split be|tween di|
|00005180| 66 66 65 72 65 6e 74 20 | 6c 69 6e 65 73 2e 0a 0a |fferent |lines...|
|00005190| 49 74 20 69 73 20 70 6f | 73 73 69 62 6c 65 20 74 |It is po|ssible t|
|000051a0| 6f 20 64 65 66 69 6e 65 | 20 61 20 76 61 72 69 61 |o define| a varia|
|000051b0| 62 6c 65 20 77 68 69 63 | 68 20 72 65 73 75 6c 74 |ble whic|h result|
|000051c0| 73 20 69 6e 20 61 6e 20 | 69 6e 66 69 6e 69 74 65 |s in an |infinite|
|000051d0| 6c 79 0a 72 65 63 75 72 | 73 69 76 65 20 6d 61 63 |ly.recur|sive mac|
|000051e0| 72 6f 20 65 78 70 61 6e | 73 69 6f 6e 2e 20 20 54 |ro expan|sion. T|
|000051f0| 68 69 73 20 69 73 20 69 | 6c 6c 65 67 61 6c 2c 20 |his is i|llegal, |
|00005200| 61 6e 64 20 69 74 20 77 | 69 6c 6c 20 72 65 73 75 |and it w|ill resu|
|00005210| 6c 74 20 69 6e 20 61 6e | 20 65 72 72 6f 72 0a 77 |lt in an| error.w|
|00005220| 68 65 6e 20 74 68 61 74 | 20 76 61 72 69 61 62 6c |hen that| variabl|
|00005230| 65 20 69 73 20 72 65 66 | 65 72 65 6e 63 65 64 2e |e is ref|erenced.|
|00005240| 0a 0a 41 20 76 61 72 69 | 61 62 6c 65 20 63 61 6e |..A vari|able can|
|00005250| 20 62 65 20 64 65 66 69 | 6e 65 64 2c 20 73 75 63 | be defi|ned, suc|
|00005260| 68 20 74 68 61 74 20 69 | 74 73 20 76 61 6c 75 65 |h that i|ts value|
|00005270| 20 69 73 20 65 78 70 61 | 6e 64 65 64 20 69 6d 6d | is expa|nded imm|
|00005280| 65 64 69 61 74 65 6c 79 | 20 61 74 0a 74 68 65 20 |ediately| at.the |
|00005290| 74 69 6d 65 20 6f 66 20 | 61 73 73 69 67 6e 6d 65 |time of |assignme|
|000052a0| 6e 74 2e 20 20 54 68 65 | 73 65 20 61 72 65 20 63 |nt. The|se are c|
|000052b0| 61 6c 6c 65 64 20 73 69 | 6d 70 6c 65 20 76 61 72 |alled si|mple var|
|000052c0| 69 61 62 6c 65 73 2c 20 | 61 6e 64 20 74 68 65 79 |iables, |and they|
|000052d0| 20 61 72 65 0a 61 73 73 | 69 67 6e 65 64 20 77 69 | are.ass|igned wi|
|000052e0| 74 68 20 74 68 65 20 7b | 5c 74 74 20 3a 3d 7d 20 |th the {|\tt :=} |
|000052f0| 6f 70 65 72 61 74 6f 72 | 2e 20 20 4e 6f 74 65 20 |operator|. Note |
|00005300| 74 68 61 74 20 77 68 65 | 6e 20 61 20 73 69 6d 70 |that whe|n a simp|
|00005310| 6c 65 20 76 61 72 69 61 | 62 6c 65 20 69 73 0a 61 |le varia|ble is.a|
|00005320| 73 73 69 67 6e 65 64 2c | 20 61 6e 79 20 6f 74 68 |ssigned,| any oth|
|00005330| 65 72 20 72 65 66 65 72 | 65 6e 63 65 73 20 74 6f |er refer|ences to|
|00005340| 20 76 61 72 69 61 62 6c | 65 73 20 77 69 6c 6c 20 | variabl|es will |
|00005350| 65 78 70 61 6e 64 20 74 | 6f 20 74 68 65 69 72 20 |expand t|o their |
|00005360| 76 61 6c 75 65 20 61 73 | 0a 61 73 73 69 67 6e 65 |value as|.assigne|
|00005370| 64 20 61 62 6f 76 65 20 | 74 68 65 20 6c 69 6e 65 |d above |the line|
|00005380| 20 6f 66 20 74 68 65 20 | 73 69 6d 70 6c 65 20 76 | of the |simple v|
|00005390| 61 72 69 61 62 6c 65 20 | 62 65 69 6e 67 20 61 73 |ariable |being as|
|000053a0| 73 69 67 6e 65 64 2e 20 | 20 48 65 72 65 20 69 73 |signed. | Here is|
|000053b0| 20 61 6e 0a 65 78 61 6d | 70 6c 65 3a 0a 0a 5c 62 | an.exam|ple:..\b|
|000053c0| 65 67 69 6e 7b 76 65 72 | 62 61 74 69 6d 7d 0a 73 |egin{ver|batim}.s|
|000053d0| 69 6d 70 6c 65 76 61 72 | 20 3a 3d 20 24 28 6d 79 |implevar| := $(my|
|000053e0| 76 61 72 69 61 62 6c 65 | 29 0a 5c 65 6e 64 7b 76 |variable|).\end{v|
|000053f0| 65 72 62 61 74 69 6d 7d | 0a 0a 54 68 65 20 6f 6e |erbatim}|..The on|
|00005400| 6c 79 20 64 69 66 66 65 | 72 65 6e 63 65 20 62 65 |ly diffe|rence be|
|00005410| 74 77 65 65 6e 20 61 6e | 20 6f 72 64 69 6e 61 72 |tween an| ordinar|
|00005420| 79 20 76 61 72 69 61 62 | 6c 65 20 61 6e 64 20 61 |y variab|le and a|
|00005430| 20 73 69 6d 70 6c 65 20 | 76 61 72 69 61 62 6c 65 | simple |variable|
|00005440| 20 69 73 0a 74 68 61 74 | 20 74 68 65 20 76 61 6c | is.that| the val|
|00005450| 75 65 20 6f 66 20 74 68 | 65 20 73 69 6d 70 6c 65 |ue of th|e simple|
|00005460| 20 76 61 72 69 61 62 6c | 65 20 69 73 20 65 78 70 | variabl|e is exp|
|00005470| 61 6e 64 65 64 20 6f 6e | 6c 79 20 6f 6e 63 65 20 |anded on|ly once |
|00005480| 64 75 72 69 6e 67 20 69 | 74 73 0a 61 73 73 69 67 |during i|ts.assig|
|00005490| 6e 6d 65 6e 74 2c 20 77 | 68 65 72 65 61 73 20 74 |nment, w|hereas t|
|000054a0| 68 65 20 76 61 6c 75 65 | 20 6f 66 20 61 6e 20 6f |he value| of an o|
|000054b0| 72 64 69 6e 61 72 79 20 | 76 61 72 69 61 62 6c 65 |rdinary |variable|
|000054c0| 20 6e 65 65 64 73 20 74 | 6f 20 62 65 20 65 78 70 | needs t|o be exp|
|000054d0| 61 6e 64 65 64 0a 65 76 | 65 72 79 20 74 69 6d 65 |anded.ev|ery time|
|000054e0| 20 69 74 20 69 73 20 72 | 65 66 65 72 65 6e 63 65 | it is r|eference|
|000054f0| 64 2e 20 20 52 65 66 65 | 72 65 6e 63 69 6e 67 20 |d. Refe|rencing |
|00005500| 61 20 73 69 6d 70 6c 65 | 20 76 61 72 69 61 62 6c |a simple| variabl|
|00005510| 65 20 72 65 71 75 69 72 | 65 73 20 6f 6e 6c 79 20 |e requir|es only |
|00005520| 61 0a 73 69 6d 70 6c 65 | 20 73 75 62 73 74 69 74 |a.simple| substit|
|00005530| 75 74 69 6f 6e 2c 20 77 | 68 65 72 65 61 73 20 72 |ution, w|hereas r|
|00005540| 65 66 65 72 65 6e 63 69 | 6e 67 20 61 6e 20 6f 72 |eferenci|ng an or|
|00005550| 64 69 6e 61 72 79 20 76 | 61 72 69 61 62 6c 65 20 |dinary v|ariable |
|00005560| 72 65 71 75 69 72 65 73 | 20 61 0a 72 65 63 75 72 |requires| a.recur|
|00005570| 73 69 76 65 20 6d 61 63 | 72 6f 20 65 78 70 61 6e |sive mac|ro expan|
|00005580| 73 69 6f 6e 2c 20 77 68 | 69 63 68 20 72 65 71 75 |sion, wh|ich requ|
|00005590| 69 72 65 73 20 6d 6f 72 | 65 20 77 6f 72 6b 20 28 |ires mor|e work (|
|000055a0| 6d 65 6d 6f 72 79 2c 20 | 73 74 61 63 6b 2c 20 61 |memory, |stack, a|
|000055b0| 6e 64 20 43 50 55 0a 69 | 6e 73 74 72 75 63 74 69 |nd CPU.i|nstructi|
|000055c0| 6f 6e 73 29 2e 0a 0a 56 | 61 72 69 61 62 6c 65 73 |ons)...V|ariables|
|000055d0| 20 72 65 66 65 72 65 6e | 63 65 64 20 69 6e 20 74 | referen|ced in t|
|000055e0| 68 65 20 74 61 72 67 65 | 74 20 61 6e 64 20 64 65 |he targe|t and de|
|000055f0| 70 65 6e 64 65 6e 63 69 | 65 73 20 6f 66 20 61 20 |pendenci|es of a |
|00005600| 72 75 6c 65 20 61 72 65 | 20 65 78 70 61 6e 64 65 |rule are| expande|
|00005610| 64 0a 64 75 72 69 6e 67 | 20 74 68 65 20 72 75 6c |d.during| the rul|
|00005620| 65 20 64 65 66 69 6e 69 | 74 69 6f 6e 2e 20 20 56 |e defini|tion. V|
|00005630| 61 72 69 61 62 6c 65 73 | 20 72 65 66 65 72 65 6e |ariables| referen|
|00005640| 63 65 64 20 69 6e 20 65 | 61 63 68 20 63 6f 6d 6d |ced in e|ach comm|
|00005650| 61 6e 64 20 6c 69 6e 65 | 0a 61 73 73 6f 63 69 61 |and line|.associa|
|00005660| 74 65 64 20 77 69 74 68 | 20 61 20 72 75 6c 65 20 |ted with| a rule |
|00005670| 61 72 65 20 65 78 70 61 | 6e 64 65 64 20 77 68 65 |are expa|nded whe|
|00005680| 6e 20 74 68 65 20 63 6f | 6d 6d 61 6e 64 20 6c 69 |n the co|mmand li|
|00005690| 6e 65 20 69 73 20 65 78 | 65 63 75 74 65 64 2e 0a |ne is ex|ecuted..|
|000056a0| 0a 42 6f 74 68 20 24 5c | 62 61 63 6b 73 6c 61 73 |.Both $\|backslas|
|000056b0| 68 24 5c 24 20 61 6e 64 | 20 5c 24 5c 24 20 65 78 |h$\$ and| \$\$ ex|
|000056c0| 70 61 6e 64 20 74 6f 20 | 74 68 65 20 63 68 61 72 |pand to |the char|
|000056d0| 61 63 74 65 72 20 5c 24 | 2c 20 62 75 74 20 74 68 |acter \$|, but th|
|000056e0| 65 20 6c 61 74 74 65 72 | 20 69 73 0a 72 65 63 6f |e latter| is.reco|
|000056f0| 6d 6d 65 6e 64 65 64 2e | 0a 0a 0a 5c 73 75 62 73 |mmended.|...\subs|
|00005700| 65 63 74 69 6f 6e 7b 41 | 75 74 6f 6d 61 74 69 63 |ection{A|utomatic|
|00005710| 20 56 61 72 69 61 62 6c | 65 73 7d 0a 0a 54 68 65 | Variabl|es}..The|
|00005720| 72 65 20 69 73 20 61 20 | 73 65 74 20 6f 66 20 76 |re is a |set of v|
|00005730| 61 72 69 61 62 6c 65 73 | 20 74 68 61 74 20 61 72 |ariables| that ar|
|00005740| 65 20 61 75 74 6f 6d 61 | 74 69 63 61 6c 6c 79 20 |e automa|tically |
|00005750| 64 65 66 69 6e 65 64 20 | 61 74 20 72 75 6e 74 69 |defined |at runti|
|00005760| 6d 65 20 62 79 0a 74 68 | 65 20 4d 61 6b 65 20 70 |me by.th|e Make p|
|00005770| 72 6f 67 72 61 6d 2e 0a | 0a 0a 5c 62 65 67 69 6e |rogram..|..\begin|
|00005780| 7b 74 61 62 75 6c 61 72 | 7d 7b 6c 6c 7d 0a 5c 24 |{tabular|}{ll}.\$|
|00005790| 40 09 09 26 20 65 78 70 | 61 6e 64 73 20 74 6f 3a |@..& exp|ands to:|
|000057a0| 20 74 61 72 67 65 74 20 | 6e 61 6d 65 20 5c 5c 0a | target |name \\.|
|000057b0| 5c 24 2a 09 09 26 20 65 | 78 70 61 6e 64 73 20 74 |\$*..& e|xpands t|
|000057c0| 6f 3a 20 74 61 72 67 65 | 74 20 6e 61 6d 65 20 77 |o: targe|t name w|
|000057d0| 69 74 68 6f 75 74 20 69 | 74 73 20 73 75 66 66 69 |ithout i|ts suffi|
|000057e0| 78 20 5c 5c 0a 5c 24 3c | 09 09 26 20 65 78 70 61 |x \\.\$<|..& expa|
|000057f0| 6e 64 73 20 74 6f 3a 20 | 74 68 65 20 66 69 72 73 |nds to: |the firs|
|00005800| 74 20 64 65 70 65 6e 64 | 65 6e 63 79 20 6e 61 6d |t depend|ency nam|
|00005810| 65 20 5c 5c 0a 5c 24 5c | 5e 09 26 20 65 78 70 61 |e \\.\$\|^.& expa|
|00005820| 6e 64 73 20 74 6f 3a 20 | 61 6c 6c 20 64 65 70 65 |nds to: |all depe|
|00005830| 6e 64 65 6e 63 69 65 73 | 20 6f 66 20 74 61 72 67 |ndencies| of targ|
|00005840| 65 74 20 6e 65 77 65 72 | 20 74 68 61 6e 20 74 61 |et newer| than ta|
|00005850| 72 67 65 74 0a 09 28 6e | 6f 74 20 69 6d 70 6c 65 |rget..(n|ot imple|
|00005860| 6d 65 6e 74 65 64 29 20 | 5c 5c 0a 5c 24 5c 25 09 |mented) |\\.\$\%.|
|00005870| 26 20 65 78 70 61 6e 64 | 73 20 74 6f 3a 20 64 65 |& expand|s to: de|
|00005880| 70 65 6e 64 65 6e 74 20 | 6d 65 6d 62 65 72 20 6f |pendent |member o|
|00005890| 66 20 74 68 65 20 74 61 | 72 67 65 74 20 61 72 63 |f the ta|rget arc|
|000058a0| 68 69 76 65 20 28 6e 6f | 74 20 69 6d 70 6c 65 6d |hive (no|t implem|
|000058b0| 65 6e 74 65 64 29 20 5c | 5c 0a 5c 24 3f 09 09 26 |ented) \|\.\$?..&|
|000058c0| 20 65 78 70 61 6e 64 73 | 20 74 6f 3a 20 61 6c 6c | expands| to: all|
|000058d0| 20 64 65 70 65 6e 64 65 | 6e 63 69 65 73 20 6f 66 | depende|ncies of|
|000058e0| 20 74 68 65 20 74 61 72 | 67 65 74 20 61 72 63 68 | the tar|get arch|
|000058f0| 69 76 65 20 28 6e 6f 74 | 20 69 6d 70 6c 65 6d 65 |ive (not| impleme|
|00005900| 6e 74 65 64 29 0a 5c 65 | 6e 64 7b 74 61 62 75 6c |nted).\e|nd{tabul|
|00005910| 61 72 7d 0a 0a 0a 54 68 | 65 20 76 61 6c 75 65 20 |ar}...Th|e value |
|00005920| 6f 66 20 61 6e 20 61 75 | 74 6f 6d 61 74 69 63 20 |of an au|tomatic |
|00005930| 76 61 72 69 61 62 6c 65 | 20 64 65 70 65 6e 64 73 |variable| depends|
|00005940| 20 6f 6e 20 77 68 65 72 | 65 20 69 74 20 69 73 20 | on wher|e it is |
|00005950| 72 65 66 65 72 65 6e 63 | 65 64 2e 20 20 41 6e 0a |referenc|ed. An.|
|00005960| 61 75 74 6f 6d 61 74 69 | 63 20 76 61 72 69 61 62 |automati|c variab|
|00005970| 6c 65 20 68 61 73 20 61 | 20 64 69 66 66 65 72 65 |le has a| differe|
|00005980| 6e 74 20 76 61 6c 75 65 | 20 61 63 63 6f 72 64 69 |nt value| accordi|
|00005990| 6e 67 20 74 6f 20 74 68 | 65 20 6f 62 6a 65 63 74 |ng to th|e object|
|000059a0| 73 20 6f 66 20 74 68 65 | 0a 72 75 6c 65 20 74 6f |s of the|.rule to|
|000059b0| 20 77 68 69 63 68 20 69 | 74 20 61 70 70 6c 69 65 | which i|t applie|
|000059c0| 73 2e 20 20 5c 24 40 20 | 64 6f 65 73 20 6e 6f 74 |s. \$@ |does not|
|000059d0| 20 65 78 70 61 6e 64 20 | 69 6e 20 74 68 65 20 74 | expand |in the t|
|000059e0| 61 72 67 65 74 20 70 6f | 73 69 74 69 6f 6e 2e 0a |arget po|sition..|
|000059f0| 41 75 74 6f 6d 61 74 69 | 63 20 76 61 72 69 61 62 |Automati|c variab|
|00005a00| 6c 65 73 20 6d 61 6b 69 | 6e 67 20 72 65 66 65 72 |les maki|ng refer|
|00005a10| 65 6e 63 65 20 74 6f 20 | 64 65 70 65 6e 64 65 6e |ence to |dependen|
|00005a20| 63 69 65 73 20 64 6f 20 | 6e 6f 74 20 6d 61 6b 65 |cies do |not make|
|00005a30| 20 73 65 6e 73 65 20 77 | 68 65 6e 0a 75 73 65 64 | sense w|hen.used|
|00005a40| 20 69 6e 20 74 68 65 20 | 70 6c 61 63 65 20 6f 66 | in the |place of|
|00005a50| 20 61 20 74 61 72 67 65 | 74 20 6e 61 6d 65 20 6f | a targe|t name o|
|00005a60| 72 20 64 65 70 65 6e 64 | 65 6e 63 79 2c 20 73 6f |r depend|ency, so|
|00005a70| 20 74 68 65 79 20 77 69 | 6c 6c 20 6e 6f 74 20 62 | they wi|ll not b|
|00005a80| 65 0a 64 65 66 69 6e 65 | 64 20 77 68 65 6e 20 72 |e.define|d when r|
|00005a90| 65 66 65 72 65 6e 63 65 | 64 20 69 6e 20 74 68 6f |eference|d in tho|
|00005aa0| 73 65 20 73 69 74 75 61 | 74 69 6f 6e 73 3b 20 74 |se situa|tions; t|
|00005ab0| 68 6f 73 65 20 76 61 72 | 69 61 62 6c 65 73 20 77 |hose var|iables w|
|00005ac0| 69 6c 6c 20 65 78 70 61 | 6e 64 20 74 6f 0a 74 68 |ill expa|nd to.th|
|00005ad0| 65 69 72 20 70 72 6f 70 | 65 72 20 76 61 6c 75 65 |eir prop|er value|
|00005ae0| 73 20 69 6e 20 63 6f 6d | 6d 61 6e 64 20 6c 69 6e |s in com|mand lin|
|00005af0| 65 73 2e 0a 0a 49 66 20 | 61 20 7b 5c 74 74 20 44 |es...If |a {\tt D|
|00005b00| 7d 20 65 78 74 65 6e 73 | 69 6f 6e 20 61 70 70 65 |} extens|ion appe|
|00005b10| 61 72 73 20 69 6e 20 74 | 68 65 20 61 75 74 6f 6d |ars in t|he autom|
|00005b20| 61 74 69 63 20 76 61 72 | 69 61 62 6c 65 20 6e 61 |atic var|iable na|
|00005b30| 6d 65 20 74 68 65 6e 20 | 6f 6e 6c 79 20 74 68 65 |me then |only the|
|00005b40| 0a 64 69 72 65 63 74 6f | 72 79 20 70 61 72 74 20 |.directo|ry part |
|00005b50| 6f 66 20 74 68 65 20 76 | 61 6c 75 65 20 69 73 20 |of the v|alue is |
|00005b60| 72 65 74 75 72 6e 65 64 | 2e 20 20 41 20 7b 5c 74 |returned|. A {\t|
|00005b70| 74 20 46 7d 20 65 78 74 | 65 6e 73 69 6f 6e 20 72 |t F} ext|ension r|
|00005b80| 65 74 75 72 6e 73 20 6f | 6e 6c 79 0a 74 68 65 20 |eturns o|nly.the |
|00005b90| 66 69 6c 65 20 70 61 72 | 74 20 6f 66 20 74 68 65 |file par|t of the|
|00005ba0| 20 76 61 6c 75 65 2e 20 | 20 54 68 75 73 2c 20 5c | value. | Thus, \|
|00005bb0| 76 65 72 62 7c 24 28 40 | 44 29 7c 20 69 73 20 65 |verb|$(@|D)| is e|
|00005bc0| 71 75 69 76 61 6c 65 6e | 74 20 74 6f 0a 5c 76 65 |quivalen|t to.\ve|
|00005bd0| 72 62 7c 24 28 64 69 72 | 20 24 40 29 7c 3b 20 69 |rb|$(dir| $@)|; i|
|00005be0| 6e 20 66 61 63 74 2c 20 | 61 6c 6c 20 6f 66 20 74 |n fact, |all of t|
|00005bf0| 68 65 73 65 20 65 78 74 | 65 6e 73 69 6f 6e 73 20 |hese ext|ensions |
|00005c00| 61 72 65 20 69 6d 70 6c | 65 6d 65 6e 74 65 64 20 |are impl|emented |
|00005c10| 61 73 0a 62 75 69 6c 74 | 69 6e 20 6d 61 63 72 6f |as.built|in macro|
|00005c20| 73 2e 0a 0a 0a 5c 73 75 | 62 73 65 63 74 69 6f 6e |s....\su|bsection|
|00005c30| 7b 43 6f 6d 70 6c 65 78 | 20 56 61 72 69 61 62 6c |{Complex| Variabl|
|00005c40| 65 20 6e 61 6d 65 73 20 | 61 6e 64 20 4d 61 63 72 |e names |and Macr|
|00005c50| 6f 20 45 78 70 61 6e 73 | 69 6f 6e 73 7d 0a 0a 52 |o Expans|ions}..R|
|00005c60| 61 72 65 6c 79 20 69 73 | 20 69 74 20 6e 65 63 65 |arely is| it nece|
|00005c70| 73 73 61 72 79 20 74 6f | 20 61 70 70 6c 79 20 77 |ssary to| apply w|
|00005c80| 68 61 74 20 69 73 20 64 | 69 73 63 75 73 73 65 64 |hat is d|iscussed|
|00005c90| 20 69 6e 20 74 68 69 73 | 20 74 6f 70 69 63 2c 20 | in this| topic, |
|00005ca0| 62 75 74 20 74 68 65 0a | 69 6e 66 6f 72 6d 61 74 |but the.|informat|
|00005cb0| 69 6f 6e 20 77 69 6c 6c | 20 62 65 20 67 69 76 65 |ion will| be give|
|00005cc0| 6e 20 66 6f 72 20 63 6f | 6d 70 6c 65 74 65 6e 65 |n for co|mpletene|
|00005cd0| 73 73 2e 20 20 42 65 63 | 61 75 73 65 20 6f 66 20 |ss. Bec|ause of |
|00005ce0| 74 68 65 20 72 65 63 75 | 72 73 69 76 65 0a 6e 61 |the recu|rsive.na|
|00005cf0| 74 75 72 65 20 6f 66 20 | 74 68 65 20 6d 61 63 72 |ture of |the macr|
|00005d00| 6f 20 65 78 70 61 6e 73 | 69 6f 6e 20 61 6c 67 6f |o expans|ion algo|
|00005d10| 72 69 74 68 6d 2c 20 69 | 74 20 69 73 20 70 6f 73 |rithm, i|t is pos|
|00005d20| 73 69 62 6c 65 20 74 6f | 20 63 6f 6e 73 74 72 75 |sible to| constru|
|00005d30| 63 74 0a 76 61 72 69 61 | 62 6c 65 73 20 74 68 61 |ct.varia|bles tha|
|00005d40| 74 20 61 63 74 20 6c 69 | 6b 65 20 61 72 72 61 79 |t act li|ke array|
|00005d50| 73 20 28 6f 72 20 6f 74 | 68 65 72 20 63 6f 6d 70 |s (or ot|her comp|
|00005d60| 6c 65 78 20 64 61 74 61 | 20 74 79 70 65 73 29 20 |lex data| types) |
|00005d70| 74 68 72 6f 75 67 68 20 | 74 68 65 0a 75 73 65 20 |through |the.use |
|00005d80| 6f 66 20 76 61 72 69 61 | 62 6c 65 20 6e 61 6d 65 |of varia|ble name|
|00005d90| 73 20 74 68 61 74 20 74 | 68 65 6d 73 65 6c 76 65 |s that t|hemselve|
|00005da0| 73 20 63 6f 6e 74 61 69 | 6e 20 61 20 6e 65 73 74 |s contai|n a nest|
|00005db0| 65 64 20 6d 61 63 72 6f | 20 65 78 70 61 6e 73 69 |ed macro| expansi|
|00005dc0| 6f 6e 2e 0a 48 65 72 65 | 20 69 73 20 61 6e 20 65 |on..Here| is an e|
|00005dd0| 78 61 6d 70 6c 65 20 6f | 66 20 61 6e 20 6f 62 73 |xample o|f an obs|
|00005de0| 63 75 72 65 20 73 6f 72 | 74 20 6f 66 20 4d 61 6b |cure sor|t of Mak|
|00005df0| 65 66 69 6c 65 20 74 68 | 61 74 20 75 73 65 73 20 |efile th|at uses |
|00005e00| 74 68 69 73 20 74 65 63 | 68 6e 69 71 75 65 3a 0a |this tec|hnique:.|
|00005e10| 0a 5c 62 65 67 69 6e 7b | 76 65 72 62 61 74 69 6d |.\begin{|verbatim|
|00005e20| 7d 0a 41 31 09 3d 20 6f | 6e 65 2e 63 0a 41 32 09 |}.A1.= o|ne.c.A2.|
|00005e30| 3d 20 74 77 6f 2e 63 0a | 0a 74 61 72 67 65 74 2e |= two.c.|.target.|
|00005e40| 6f 3a 20 24 7b 41 24 28 | 42 29 7d 0a 20 20 20 20 |o: ${A$(|B)}. |
|00005e50| 24 28 43 43 29 20 2d 63 | 20 24 28 43 46 4c 41 47 |$(CC) -c| $(CFLAG|
|00005e60| 53 29 20 2d 6f 20 24 40 | 20 24 3c 0a 5c 65 6e 64 |S) -o $@| $<.\end|
|00005e70| 7b 76 65 72 62 61 74 69 | 6d 7d 0a 0a 44 65 70 65 |{verbati|m}..Depe|
|00005e80| 6e 64 69 6e 67 20 6f 6e | 20 77 68 65 74 68 65 72 |nding on| whether|
|00005e90| 20 74 68 65 20 76 61 6c | 75 65 20 6f 66 20 74 68 | the val|ue of th|
|00005ea0| 65 20 76 61 72 69 61 62 | 6c 65 20 7b 5c 74 74 20 |e variab|le {\tt |
|00005eb0| 42 7d 20 69 73 20 73 65 | 74 20 74 6f 20 7b 5c 74 |B} is se|t to {\t|
|00005ec0| 74 20 31 7d 20 6f 72 0a | 7b 5c 74 74 20 32 7d 2c |t 1} or.|{\tt 2},|
|00005ed0| 20 74 68 65 20 74 61 72 | 67 65 74 20 66 69 6c 65 | the tar|get file|
|00005ee0| 20 77 69 6c 6c 20 64 65 | 70 65 6e 64 20 6f 6e 20 | will de|pend on |
|00005ef0| 7b 5c 74 74 20 6f 6e 65 | 2e 63 7d 20 6f 72 20 7b |{\tt one|.c} or {|
|00005f00| 5c 74 74 20 74 77 6f 2e | 63 7d 2e 0a 0a 41 6c 74 |\tt two.|c}...Alt|
|00005f10| 68 6f 75 67 68 20 74 68 | 65 72 65 20 69 73 20 6e |hough th|ere is n|
|00005f20| 6f 20 69 6e 74 65 72 6e | 61 6c 20 6c 69 6d 69 74 |o intern|al limit|
|00005f30| 20 72 65 73 74 72 69 63 | 74 69 6e 67 20 74 68 65 | restric|ting the|
|00005f40| 20 6c 65 76 65 6c 20 74 | 6f 20 77 68 69 63 68 20 | level t|o which |
|00005f50| 6d 61 63 72 6f 73 0a 63 | 61 6e 20 62 65 20 6e 65 |macros.c|an be ne|
|00005f60| 73 74 65 64 20 28 69 6e | 20 74 68 65 20 76 61 72 |sted (in| the var|
|00005f70| 69 61 62 6c 65 20 6e 61 | 6d 65 20 61 6e 64 20 69 |iable na|me and i|
|00005f80| 74 73 20 76 61 6c 75 65 | 29 2c 20 69 74 20 69 73 |ts value|), it is|
|00005f90| 20 72 65 63 6f 6d 6d 65 | 6e 64 65 64 20 74 68 61 | recomme|nded tha|
|00005fa0| 74 0a 6e 65 73 74 69 6e | 67 20 62 65 20 6b 65 70 |t.nestin|g be kep|
|00005fb0| 74 20 74 6f 20 61 20 6d | 69 6e 69 6d 75 6d 20 74 |t to a m|inimum t|
|00005fc0| 6f 20 63 6f 6e 73 65 72 | 76 65 20 6f 6e 20 6d 65 |o conser|ve on me|
|00005fd0| 6d 6f 72 79 20 63 6f 6e | 73 75 6d 70 74 69 6f 6e |mory con|sumption|
|00005fe0| 20 61 6e 64 20 73 74 61 | 63 6b 0a 75 73 61 67 65 | and sta|ck.usage|
|00005ff0| 2e 20 20 45 61 63 68 20 | 6c 65 76 65 6c 20 6f 66 |. Each |level of|
|00006000| 20 6e 65 73 74 69 6e 67 | 20 72 65 71 75 69 72 65 | nesting| require|
|00006010| 73 20 61 74 20 6c 65 61 | 73 74 20 61 6e 20 61 64 |s at lea|st an ad|
|00006020| 64 69 74 69 6f 6e 61 6c | 20 32 4b 20 6f 66 20 6d |ditional| 2K of m|
|00006030| 65 6d 6f 72 79 2e 0a 0a | 50 6c 65 61 73 65 20 6e |emory...|Please n|
|00006040| 6f 74 65 20 74 68 61 74 | 20 74 68 65 20 6d 61 78 |ote that| the max|
|00006050| 69 6d 75 6d 20 6c 65 6e | 67 74 68 20 6f 66 20 61 |imum len|gth of a|
|00006060| 20 76 61 72 69 61 62 6c | 65 20 6e 61 6d 65 20 69 | variabl|e name i|
|00006070| 73 20 6c 69 6d 69 74 65 | 64 20 74 6f 20 32 35 36 |s limite|d to 256|
|00006080| 0a 63 68 61 72 61 63 74 | 65 72 73 2e 0a 0a 5c 73 |.charact|ers...\s|
|00006090| 65 63 74 69 6f 6e 7b 46 | 75 6e 63 74 69 6f 6e 20 |ection{F|unction |
|000060a0| 43 61 6c 6c 73 7d 0a 0a | 46 75 6e 63 74 69 6f 6e |Calls}..|Function|
|000060b0| 20 63 61 6c 6c 73 20 6f | 66 20 74 68 65 20 66 6f | calls o|f the fo|
|000060c0| 72 6d 20 7b 5c 74 74 5c | 24 28 66 75 6e 63 74 69 |rm {\tt\|$(functi|
|000060d0| 6f 6e 7e 61 72 67 75 6d | 65 6e 74 73 29 7d 20 6f |on~argum|ents)} o|
|000060e0| 72 0a 7b 5c 74 74 5c 24 | 5c 7b 66 75 6e 63 74 69 |r.{\tt\$|\{functi|
|000060f0| 6f 6e 7e 61 72 67 75 6d | 65 6e 74 73 5c 7d 7d 20 |on~argum|ents\}} |
|00006100| 77 69 6c 6c 20 62 65 20 | 70 72 6f 63 65 73 73 65 |will be |processe|
|00006110| 64 20 64 69 66 66 65 72 | 65 6e 74 6c 79 20 74 68 |d differ|ently th|
|00006120| 61 6e 20 61 20 6e 6f 72 | 6d 61 6c 0a 6d 61 63 72 |an a nor|mal.macr|
|00006130| 6f 20 65 78 70 61 6e 73 | 69 6f 6e 2e 20 20 41 20 |o expans|ion. A |
|00006140| 66 75 6e 63 74 69 6f 6e | 20 63 61 6c 6c 20 61 63 |function| call ac|
|00006150| 74 73 20 6c 69 6b 65 20 | 61 20 6d 61 63 72 6f 20 |ts like |a macro |
|00006160| 65 78 70 61 6e 73 69 6f | 6e 20 69 6e 20 74 68 61 |expansio|n in tha|
|00006170| 74 20 69 74 0a 72 65 74 | 75 72 6e 73 20 61 20 73 |t it.ret|urns a s|
|00006180| 74 72 69 6e 67 2e 20 20 | 41 6c 6c 20 73 70 61 63 |tring. |All spac|
|00006190| 65 73 2c 20 65 78 63 65 | 70 74 20 66 6f 72 20 74 |es, exce|pt for t|
|000061a0| 68 65 20 73 65 71 75 65 | 6e 63 65 20 6f 66 20 73 |he seque|nce of s|
|000061b0| 70 61 63 65 73 20 62 65 | 66 6f 72 65 20 74 68 65 |paces be|fore the|
|000061c0| 0a 66 69 72 73 74 20 61 | 72 67 75 6d 65 6e 74 20 |.first a|rgument |
|000061d0| 28 61 66 74 65 72 20 65 | 78 70 61 6e 73 69 6f 6e |(after e|xpansion|
|000061e0| 29 2c 20 61 72 65 20 73 | 69 67 6e 69 66 69 63 61 |), are s|ignifica|
|000061f0| 6e 74 2e 0a 5c 6e 65 77 | 70 61 67 65 0a 0a 5c 62 |nt..\new|page..\b|
|00006200| 65 67 69 6e 7b 6d 61 6e | 70 61 67 65 7d 7b 4d 61 |egin{man|page}{Ma|
|00006210| 6b 65 7d 7b 46 75 6e 63 | 74 69 6f 6e 20 43 61 6c |ke}{Func|tion Cal|
|00006220| 6c 73 7d 7b 7d 0a 0a 5c | 73 75 62 74 69 74 6c 65 |ls}{}..\|subtitle|
|00006230| 7b 53 74 72 69 6e 67 20 | 46 75 6e 63 74 69 6f 6e |{String |Function|
|00006240| 73 7d 0a 0a 28 73 65 65 | 20 73 65 63 74 69 6f 6e |s}..(see| section|
|00006250| 20 39 2e 32 20 6f 66 20 | 74 68 65 20 47 4e 55 20 | 9.2 of |the GNU |
|00006260| 4d 61 6b 65 20 6d 61 6e | 75 61 6c 29 0a 0a 53 74 |Make man|ual)..St|
|00006270| 72 69 6e 67 20 66 75 6e | 63 74 69 6f 6e 73 20 67 |ring fun|ctions g|
|00006280| 65 6e 65 72 61 6c 6c 79 | 20 61 63 63 65 70 74 20 |enerally| accept |
|00006290| 61 20 73 65 74 20 6f 66 | 20 69 6e 70 75 74 20 73 |a set of| input s|
|000062a0| 74 72 69 6e 67 73 20 61 | 6e 64 20 70 65 72 66 6f |trings a|nd perfo|
|000062b0| 72 6d 20 61 0a 74 72 61 | 6e 73 66 6f 72 6d 61 74 |rm a.tra|nsformat|
|000062c0| 69 6f 6e 20 74 6f 20 72 | 65 74 75 72 6e 20 61 20 |ion to r|eturn a |
|000062d0| 72 65 73 75 6c 74 20 73 | 74 72 69 6e 67 2e 0a 0a |result s|tring...|
|000062e0| 5c 73 65 70 61 72 61 74 | 6f 72 0a 5c 66 75 6e 63 |\separat|or.\func|
|000062f0| 74 69 6f 6e 2a 7b 5c 24 | 28 66 69 6c 74 65 72 20 |tion*{\$|(filter |
|00006300| 70 61 74 74 65 72 6e 2c | 74 65 78 74 29 7d 0a 0a |pattern,|text)}..|
|00006310| 41 20 70 61 74 74 65 72 | 6e 20 69 73 20 61 20 77 |A patter|n is a w|
|00006320| 6f 72 64 20 74 68 61 74 | 20 6f 70 74 69 6f 6e 61 |ord that| optiona|
|00006330| 6c 6c 79 20 63 6f 6e 74 | 61 69 6e 73 20 61 20 73 |lly cont|ains a s|
|00006340| 69 6e 67 6c 65 20 77 69 | 6c 64 63 61 72 64 20 63 |ingle wi|ldcard c|
|00006350| 68 61 72 61 63 74 65 72 | 0a 7b 5c 74 74 5c 25 7d |haracter|.{\tt\%}|
|00006360| 2e 20 20 41 6c 6c 20 77 | 6f 72 64 73 20 69 6e 20 |. All w|ords in |
|00006370| 7b 5c 74 74 20 74 65 78 | 74 7d 20 74 68 61 74 20 |{\tt tex|t} that |
|00006380| 64 6f 20 6e 6f 74 20 6d | 61 74 63 68 20 74 68 65 |do not m|atch the|
|00006390| 20 7b 5c 74 74 20 70 61 | 74 74 65 72 6e 7d 20 61 | {\tt pa|ttern} a|
|000063a0| 72 65 0a 72 65 6d 6f 76 | 65 64 2c 20 73 6f 20 74 |re.remov|ed, so t|
|000063b0| 68 61 74 20 74 68 69 73 | 20 66 75 6e 63 74 69 6f |hat this| functio|
|000063c0| 6e 20 63 61 6c 6c 20 72 | 65 74 75 72 6e 73 20 6f |n call r|eturns o|
|000063d0| 6e 6c 79 20 6d 61 74 63 | 68 69 6e 67 20 77 6f 72 |nly matc|hing wor|
|000063e0| 64 73 2e 0a 0a 5c 73 65 | 70 61 72 61 74 6f 72 0a |ds...\se|parator.|
|000063f0| 5c 66 75 6e 63 74 69 6f | 6e 2a 7b 5c 24 28 66 69 |\functio|n*{\$(fi|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.