Changeset 3140 for trunk/src/kmk/make.1
- Timestamp:
- Mar 14, 2018, 10:28:10 PM (7 years ago)
- Location:
- trunk/src/kmk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kmk
-
Property svn:mergeinfo
set to
/vendor/gnumake/current merged eligible
-
Property svn:mergeinfo
set to
-
trunk/src/kmk/make.1
r2591 r3140 1 .TH MAKE 1 "2 2 August 1989" "GNU" "LOCAL USER COMMANDS"1 .TH MAKE 1 "28 February 2016" "GNU" "User Commands" 2 2 .SH NAME 3 3 make \- GNU make utility to maintain groups of programs 4 4 .SH SYNOPSIS 5 .B "make " 6 [ 7 .B \-f 8 .I makefile 9 ] [ options ] ... [ targets ] ... 10 .SH WARNING 11 This man page is an extract of the documentation of GNU 12 .IR make . 13 It is updated only occasionally, because the GNU project does not use nroff. 14 For complete, current documentation, refer to the Info file 15 .B make.info 16 which is made from the Texinfo source file 17 .BR make.texi . 5 .B make 6 [\fIOPTION\fR]... [\fITARGET\fR]... 18 7 .SH DESCRIPTION 19 8 .LP 20 The purpose of the9 The 21 10 .I make 22 utility is to determine automatically which 23 pieces of a large program need to be recompiled, and issue the commands to 24 recompile them. 25 The manual describes the GNU implementation of 26 .IR make , 27 which was written by Richard Stallman and Roland McGrath, and is 28 currently maintained by Paul Smith. 29 Our examples show C programs, since they are most common, but you can use 30 .I make 31 with any programming language whose compiler can be run with a 32 shell command. 11 utility will determine automatically which pieces of a large program need to 12 be recompiled, and issue the commands to recompile them. The manual describes 13 the GNU implementation of 14 .BR make , 15 which was written by Richard Stallman and Roland McGrath, and is currently 16 maintained by Paul Smith. Our examples show C programs, since they are very 17 common, but you can use 18 .B make 19 with any programming language whose compiler can be run with a shell command. 33 20 In fact, 34 .I make 35 is not limited to programs. 36 You can use it to describe any task where some files must be 37 updated automatically from others whenever the others change. 21 .B make 22 is not limited to programs. You can use it to describe any task where some 23 files must be updated automatically from others whenever the others change. 38 24 .LP 39 25 To prepare to use 40 . IR make ,26 .BR make , 41 27 you must write a file called the 42 28 .I makefile 43 that describes the relationships among files in your program, and the 44 states the commands for updating each file. 45 In a program, typically the executable file is updated from object 46 files , which are in turn made by compiling source files.29 that describes the relationships among files in your program, and the states 30 the commands for updating each file. In a program, typically the executable 31 file is updated from object files, which are in turn made by compiling source 32 files. 47 33 .LP 48 34 Once a suitable makefile exists, each time you change some source files, … … 55 41 suffices to perform all necessary recompilations. 56 42 The 57 . Imake58 program uses the makefile d ata base and the last-modification times59 of the files to decide which of the files need to be updated. 60 For each of those files, it issues the commands recorded in the data base.61 .LP 62 . Imake43 .B make 44 program uses the makefile description and the last-modification times of the 45 files to decide which of the files need to be updated. For each of those 46 files, it issues the commands recorded in the makefile. 47 .LP 48 .B make 63 49 executes commands in the 64 50 .I makefile 65 to update 66 one or more target 51 to update one or more target 67 52 .IR names , 68 53 where … … 72 57 .B \-f 73 58 option is present, 74 . Imake59 .B make 75 60 will look for the makefiles 76 61 .IR GNUmakefile , … … 91 76 The first name checked, 92 77 .IR GNUmakefile , 93 is not recommended for most makefiles. 94 You should use this name if you have amakefile that is specific to GNU95 . IR make ,78 is not recommended for most makefiles. You should use this name if you have a 79 makefile that is specific to GNU 80 .BR make , 96 81 and will not be understood by other versions of 97 . IR make .82 .BR make . 98 83 If 99 84 .I makefile 100 is `\-', the standard input is read.101 .LP 102 . Imake85 is '\-', the standard input is read. 86 .LP 87 .B make 103 88 updates a target if it depends on prerequisite files 104 89 that have been modified since the target was last modified, … … 107 92 .sp 1 108 93 .TP 0.5i 109 .BR \-b , " \-m" 94 \fB\-b\fR, \fB\-m\fR 110 95 These options are ignored for compatibility with other versions of 111 . IR make .112 .TP 0.5i 113 .BR \-B , " \-\-always\-make" 96 .BR make . 97 .TP 0.5i 98 \fB\-B\fR, \fB\-\-always\-make\fR 114 99 Unconditionally make all targets. 115 100 .TP 0.5i … … 127 112 .BR "\-C " /etc. 128 113 This is typically used with recursive invocations of 129 . IR make .114 .BR make . 130 115 .TP 0.5i 131 116 .B \-d … … 135 120 which files actually need to be remade, which implicit rules are 136 121 considered and which are applied---everything interesting about how 137 . Imake122 .B make 138 123 decides what to do. 139 124 .TP 0.5i … … 159 144 for details on invocation of commands, and 160 145 .I m 161 for debugging while remaking makefiles. 162 .TP 0.5i 163 .BR \-e , " \-\-environment\-overrides" 146 for debugging while remaking makefiles. Use 147 .I n 148 to disable all previous debugging flags. 149 .TP 0.5i 150 \fB\-e\fR, \fB\-\-environment\-overrides\fR 164 151 Give variables taken from the environment precedence 165 152 over variables from makefiles. … … 170 157 as a makefile. 171 158 .TP 0.5i 172 .BR \-i , " \-\-ignore\-errors" 159 \fB\-i\fR, \fB\-\-ignore\-errors\fR 173 160 Ignore all errors in commands executed to remake files. 174 161 .TP 0.5i … … 182 169 searched in the order specified. 183 170 Unlike the arguments to other flags of 184 . IR make ,171 .BR make , 185 172 directories given with 186 173 .B \-I … … 188 175 .BI \-I dir 189 176 is allowed, as well as 190 .BI "\-I " dir. 177 .B \-I 178 .IR dir . 191 179 This syntax is allowed for compatibility with the C 192 180 preprocessor's … … 204 192 .B \-j 205 193 option is given without an argument, 206 . IR make194 .BR make 207 195 will not limit the number of jobs that can run simultaneously. 208 196 .TP 0.5i 209 .BR \-k , " \-\-keep\-going" 197 \fB\-k\fR, \fB\-\-keep\-going\fR 210 198 Continue as much as possible after an error. 211 199 While the target that failed, and those that depend on it, cannot … … 220 208 With no argument, removes a previous load limit. 221 209 .TP 0.5i 222 .BR \-L , " \-\-check\-symlink\-times" 210 \fB\-L\fR, \fB\-\-check\-symlink\-times\fR 223 211 Use the latest mtime between symlinks and target. 224 212 .TP 0.5i 225 .BR \-n , " \-\-just\-print" , " \-\-dry\-run" , " \-\-recon" 213 \fB\-n\fR, \fB\-\-just\-print\fR, \fB\-\-dry\-run\fR, \fB\-\-recon\fR 226 214 Print the commands that would be executed, but do not execute them (except in 227 215 certain circumstances). … … 235 223 Essentially the file is treated as very old and its rules are ignored. 236 224 .TP 0.5i 237 .BR \-p , " \-\-print\-data\-base" 225 \fB\-O\fR[\fItype\fR], \fB\-\-output\-sync\fR[=\fItype\fR] 226 When running multiple jobs in parallel with \fB-j\fR, ensure the output of 227 each job is collected together rather than interspersed with output from 228 other jobs. If 229 .I type 230 is not specified or is 231 .B target 232 the output from the entire recipe for each target is grouped together. If 233 .I type 234 is 235 .B line 236 the output from each command line within a recipe is grouped together. 237 If 238 .I type 239 is 240 .B recurse 241 output from an entire recursive make is grouped together. If 242 .I type 243 is 244 .B none 245 output synchronization is disabled. 246 .TP 0.5i 247 \fB\-p\fR, \fB\-\-print\-data\-base\fR 238 248 Print the data base (rules and variable values) that results from 239 249 reading the makefiles; then execute as usual or as otherwise … … 243 253 switch (see below). 244 254 To print the data base without trying to remake any files, use 245 .B make 246 .B \-p 247 .BI \-f /dev/null. 248 .TP 0.5i 249 .BR \-q , " \-\-question" 255 .IR "make \-p \-f/dev/null" . 256 .TP 0.5i 257 \fB\-q\fR, \fB\-\-question\fR 250 258 ``Question mode''. 251 259 Do not run any commands, or print anything; just return an exit status … … 253 261 otherwise. 254 262 .TP 0.5i 255 .BR \-r , " \-\-no\-builtin\-rules" 263 \fB\-r\fR, \fB\-\-no\-builtin\-rules\fR 256 264 Eliminate use of the built\-in implicit rules. 257 265 Also clear out the default list of suffixes for suffix rules. 258 266 .TP 0.5i 259 .BR \-R , " \-\-no\-builtin\-variables" 267 \fB\-R\fR, \fB\-\-no\-builtin\-variables\fR 260 268 Don't define any built\-in variables. 261 269 .TP 0.5i 262 .BR \-s , " \-\-silent" , " \-\-quiet" 270 \fB\-s\fR, \fB\-\-silent\fR, \fB\-\-quiet\fR 263 271 Silent operation; do not print the commands as they are executed. 264 272 .TP 0.5i 265 .BR \-S , " \-\-no\-keep\-going" , " \-\-stop" 273 \fB\-S\fR, \fB\-\-no\-keep\-going\fR, \fB\-\-stop\fR 266 274 Cancel the effect of the 267 275 .B \-k 268 276 option. 269 277 This is never necessary except in a recursive 270 . Imake278 .B make 271 279 where 272 280 .B \-k 273 281 might be inherited from the top-level 274 . Imake282 .B make 275 283 via MAKEFLAGS or if you set 276 284 .B \-k 277 285 in MAKEFLAGS in your environment. 278 286 .TP 0.5i 279 .BR \-t , " \-\-touch" 287 \fB\-t\fR, \fB\-\-touch\fR 280 288 Touch files (mark them up to date without really changing them) 281 289 instead of running their commands. 282 290 This is used to pretend that the commands were done, in order to fool 283 291 future invocations of 284 .IR make . 285 .TP 0.5i 286 .BR \-v , " \-\-version" 292 .BR make . 293 .TP 0.5i 294 .B \-\-trace 295 Information about the disposition of each target is printed (why the target is 296 being rebuilt and what commands are run to rebuild it). 297 .TP 0.5i 298 \fB\-v\fR, \fB\-\-version\fR 287 299 Print the version of the 288 . Imake300 .B make 289 301 program plus a copyright, a list of authors and a notice that there 290 302 is no warranty. 291 303 .TP 0.5i 292 .BR \-w , " \-\-print\-directory" 304 \fB\-w\fR, \fB\-\-print\-directory\fR 293 305 Print a message containing the working directory 294 306 before and after other processing. 295 307 This may be useful for tracking down errors from complicated nests of 296 308 recursive 297 . Imake309 .B make 298 310 commands. 299 311 .TP 0.5i … … 315 327 .I touch 316 328 command on the given file before running 317 . IR make ,329 .BR make , 318 330 except that the modification time is changed only in the imagination of 319 . IR make .331 .BR make . 320 332 .TP 0.5i 321 333 .B \-\-warn\-undefined\-variables … … 323 335 .SH "EXIT STATUS" 324 336 GNU 325 . Imake337 .B make 326 338 exits with a status of zero if all makefiles were successfully parsed 327 339 and no targets that were built failed. A status of one will be returned … … 329 341 .B \-q 330 342 flag was used and 331 . Imake343 .B make 332 344 determines that a target needs to be rebuilt. A status of two will be 333 345 returned if any errors were encountered. 334 346 .SH "SEE ALSO" 335 .I "The GNU Make Manual" 347 The full documentation for 348 .B make 349 is maintained as a Texinfo manual. If the 350 .B info 351 and 352 .B make 353 programs are properly installed at your site, the command 354 .IP 355 .B info make 356 .PP 357 should give you access to the complete manual. 336 358 .SH BUGS 337 See the chapter ` Problems and Bugs' in359 See the chapter ``Problems and Bugs'' in 338 360 .IR "The GNU Make Manual" . 339 361 .SH AUTHOR 340 362 This manual page contributed by Dennis Morse of Stanford University. 341 It has been reworked by Roland McGrath. Further updates contributed by 342 M ike Frysinger.363 Further updates contributed by Mike Frysinger. It has been reworked by Roland 364 McGrath. Maintained by Paul Smith. 343 365 .SH "COPYRIGHT" 344 Copyright (C) 1992, 1993, 1996, 1999, 2007Free Software Foundation, Inc.345 This file is part of GNU346 .IR make.366 Copyright \(co 1992-1993, 1996-2016 Free Software Foundation, Inc. 367 This file is part of 368 .IR "GNU make" . 347 369 .LP 348 370 GNU Make is free software; you can redistribute it and/or modify it under the
Note:
See TracChangeset
for help on using the changeset viewer.