Changeset 501 in kBuild
- Timestamp:
- Sep 15, 2006 2:30:32 AM (18 years ago)
- Location:
- vendor/gnumake/current
- Files:
-
- 41 added
- 26 deleted
- 204 edited
Legend:
- Unmodified
- Added
- Removed
-
vendor/gnumake/current/AUTHORS
r280 r501 7 7 Development starting with GNU make 3.76 by: 8 8 Paul D. Smith <[email protected]> 9 9 10 Additional development starting with GNU make 3.81 by: 10 11 Boris Kolpackov <[email protected]> … … 63 64 With suggestions/comments/bug reports from a cast of ... well ... 64 65 hundreds, anyway :) 66 67 ------------------------------------------------------------------------------- 68 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 69 Free Software Foundation, Inc. 70 This file is part of GNU Make. 71 72 GNU Make is free software; you can redistribute it and/or modify it under the 73 terms of the GNU General Public License as published by the Free Software 74 Foundation; either version 2, or (at your option) any later version. 75 76 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 77 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 78 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 79 80 You should have received a copy of the GNU General Public License along with 81 GNU Make; see the file COPYING. If not, write to the Free Software 82 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -
vendor/gnumake/current/ChangeLog
r280 r501 1 2006-04-01 Paul D. Smith <[email protected]> 2 3 Version 3.81 released. 4 5 * NEWS: Updated for 3.81. 6 7 * README.cvs: Mention that vpath builds are not supported out of 8 CVS. Fixes Savannah bug #16236. 9 Remove update of make.texi from the list of things to do; we use 10 version.texi now. 11 12 2006-03-26 Paul D. Smith <[email protected]> 13 14 * doc/make.texi: Clean up licensing. Use @copying and version.texi 15 support from automake, as described in the Texinfo manual. 16 17 2006-03-25 Eli Zaretskii <[email protected]> 18 19 * implicit.c (pattern_search) [HAVE_DOS_PATHS]: Don't compare b 20 with lastslash, since the latter points to filename, not to 21 target. 22 * job.c (construct_command_argv_internal) [HAVE_DOS_PATHS]: 23 Declare and define sh_chars_sh[]. 24 25 2006-03-23 Paul D. Smith <[email protected]> 26 27 * configure.in: Look for build.sh.in in $srcdir so it will be 28 built for remote configurations as well. 29 30 * Makefile.am: Make sure to clean up build.sh during distclean. 31 Fixes Savannah bug #16166. 32 33 * misc.c (log_access): Takes a const char *. 34 * function.c (fold_newlines): Takes an unsigned int *. 35 Both fixes for Savannah bug #16170. 36 37 2006-03-22 Boris Kolpackov <[email protected]> 38 39 * implicit.c (pattern_search): Call set_file_variables only 40 if we have prerequisites that need second expansion. Fixes 41 Savannah bug #16140. 42 43 2006-03-19 Paul D. Smith <[email protected]> 44 45 * remake.c (update_file): Add alloca(0) to clean up alloca'd 46 memory on hosts that don't support it directly. 47 48 * README.cvs: Add information on steps for making a release (to 49 make sure I don't forget any). 50 51 * main.c (clean_jobserver): Move jobserver cleanup code into a new 52 function. 53 (die): Cleanup code was removed from here; call the new function. 54 (main): If we are re-execing, clean up the jobserver first so we 55 don't leak file descriptors. 56 Fix bug reported by Craig Fithian <[email protected]>. 57 58 2006-03-17 Paul D. Smith <[email protected]> 59 60 * maintMakefile (do-po-update): Rewrite this rule to clean up and 61 allow multiple concurrent runs. 62 Patch from Joseph Myers <[email protected]> 63 64 2006-03-17 Boris Kolpackov <[email protected]> 65 66 * dep.h (struct dep): Add the stem field. 67 * misc.c (alloc_dep, free_dep): New functions. 68 (copy_dep_chain): Copy stem. 69 (free_dep_chain): Use free_dep. 70 * read.c (record_files): Store stem in the dependency line. 71 * file.c (expand_deps): Use stem stored in the dependency line. Use 72 free_dep_chain instead of free_ns_chain. 73 * implicit.c (pattern_search): Use alloc_dep and free_dep. 74 * read.c (read_all_makefiles, eval_makefile, eval): Ditto. 75 * main.c (main, handle_non_switch_argument): Ditto. 76 * remake.c (check_dep): Ditto. 77 * rule.c (convert_suffix_rule, freerule): Ditto. 78 79 2006-03-14 Paul D. Smith <[email protected]> 80 81 * expand.c (variable_append): Instead of appending everything then 82 expanding the result, we expand (or not, if it's simple) each part 83 as we add it. 84 (allocated_variable_append): Don't expand the final result. 85 Fixes Savannah bug #15913. 86 87 2006-03-09 Paul Smith <[email protected]> 88 89 * remake.c (update_file_1): Revert the change of 3 Jan 2006 which 90 listed non-existent files as changed. Turns out there's a bug in 91 the Linux kernel builds which means that this change causes 92 everything to rebuild every time. We will re-introduce this fix 93 in the next release, to give them time to fix their build system. 94 Fixes Savannah bug #16002. 95 Introduces Savannah bug #16051. 96 97 * implicit.c (pattern_search) [DOS_PATHS]: Look for DOS paths if 98 we *don't* find UNIX "/". 99 Reported by David Ergo <[email protected]> 100 101 2006-03-04 Eli Zaretskii <[email protected]> 102 103 * variable.c (do_variable_definition) [WINDOWS32]: Call the shell 104 locator function find_and_set_default_shell if SHELL came from the 105 command line. 106 107 2006-02-20 Paul D. Smith <[email protected]> 108 109 * variable.c (merge_variable_set_lists): It's legal for *setlist0 110 to be null; don't core in that case. 111 112 2006-02-19 Paul D. Smith <[email protected]> 113 114 * commands.c (set_file_variables): Realloc, not malloc, the static 115 string values to avoid memory leaks. 116 117 * expand.c (recursively_expand_for_file): Only set reading_file to 118 an initialized value. 119 120 * implicit.c (pattern_search): We need to make a copy of the stem 121 if we get it from an intermediate dep, since those get freed. 122 123 * file.c (lookup_file) [VMS]: Don't lowercase special targets that 124 begin with ".". 125 (enter_file) [VMS]: Ditto. 126 Patch provided by Hartmut Becker <[email protected]>. 127 128 2006-02-24 Eli Zaretskii <[email protected]> 129 130 * job.c (construct_command_argv_internal): Fix last change. 131 132 * w32/subproc/sub_proc.c (process_pipe_io): Make dwStdin, 133 dwStdout, and dwStderr unsigned int: avoids compiler warnings in 134 the calls to _beginthreadex. 135 136 * expand.c (recursively_expand_for_file): Initialize `save' to 137 prevent compiler warnings. 138 139 2006-02-18 Eli Zaretskii <[email protected]> 140 141 * job.c (construct_command_argv_internal): Don't create a temporary 142 script/batch file if we are under -n. Call _setmode to switch the 143 script file stream to text mode. 144 145 2006-02-17 Paul D. Smith <[email protected]> 146 147 * variable.c (merge_variable_set_lists): Don't try to merge the 148 global_setlist. Not only is this useless, but it can lead to 149 circularities in the linked list, if global_setlist->next in one 150 list gets set to point to another list which also ends in 151 global_setlist. 152 Fixes Savannah bug #15757. 153 154 2006-02-15 Paul D. Smith <[email protected]> 155 156 Fix for Savannah bug #106. 157 158 * expand.c (expanding_var): Keep track of which variable we're 159 expanding. If no variable is being expanded, it's the same as 160 reading_file. 161 * make.h (expanding_var): Declare it. 162 * expand.c (recursively_expand_for_file): Set expanding_var to the 163 current variable we're expanding, unless there's no file info in 164 it (could happen if it comes from the command line or a default 165 variable). Restore it before we exit. 166 * expand.c (variable_expand_string): Use the expanding_var file 167 info instead of the reading_file info. 168 * function.c (check_numeric): Ditto. 169 (func_word): Ditto. 170 (func_wordlist): Ditto. 171 (func_error): Ditto. 172 (expand_builtin_function): Ditto. 173 (handle_function): Ditto. 174 175 2006-02-14 Paul D. Smith <[email protected]> 176 177 * read.c (eval): Even if the included filenames expands to the 178 empty string we still need to free the allocated buffer. 179 180 * implicit.c (pattern_search): If we allocated a variable set for 181 an impossible file, free it. 182 * variable.c (free_variable_set): New function. 183 * variable.h: Declare it. 184 185 * read.c (read_all_makefiles): Makefile names are kept in the 186 strcache, so there's never any need to alloc/free them. 187 (eval): Ditto. 188 189 * main.c (main): Add "archives" to the .FEATURES variable if 190 archive support is enabled. 191 * doc/make.texi (Special Variables): Document it. 192 193 2006-02-13 Paul D. Smith <[email protected]> 194 195 * implicit.c (pattern_search): Add checking for DOS pathnames to 196 the pattern rule target LASTSLASH manipulation. 197 Fixes Savannah bug #11183. 198 199 2006-02-11 Paul D. Smith <[email protected]> 200 201 * (ALL FILES): Updated copyright and license notices. 202 203 2006-02-10 Paul D. Smith <[email protected]> 204 205 A new internal capability: the string cache is a read-only cache 206 of strings, with a hash table interface for fast lookup. Nothing 207 in the cache will ever be freed, so there's no need for reference 208 counting, etc. This is the beginning of a full solution for 209 Savannah bug #15182, but for now we only store makefile names here. 210 211 * strcache.c: New file. Implement a read-only string cache. 212 * make.h: Add prototypes for new functions. 213 * main.c (initialize_global_hash_tables): Initialize the string cache. 214 (print_data_base): Print string cache stats. 215 * read.c (eval_makefile): Use the string cache to store makefile 216 names. Rewrite the string allocation to be sure we free everything. 217 218 2006-02-10 Eli Zaretskii <[email protected]> 219 220 * dir.c (dir_contents_file_exists_p): Don't opendir if the 221 directory time stamp didn't change, except on FAT filesystems. 222 Suggested by J. David Bryan <[email protected]>. 223 224 2006-02-09 Paul D. Smith <[email protected]> 225 226 * function.c (func_or): Implement a short-circuiting OR function. 227 (func_and): Implement a short-circuiting AND function. 228 (function_table_init): Update the table with the new functions. 229 * doc/make.texi (Conditional Functions): Changed the "if" section 230 to one on general conditional functions. Added documentation for 231 $(and ...) and $(or ...) functions. 232 * NEWS: Note new $(and ...) and $(or ...) functions. 233 234 2006-02-08 Boris Kolpackov <[email protected]> 235 236 * job.h (struct child): Add the dontcare bitfield. 237 * job.c (new_job): Cache dontcare flag. 238 * job.c (reap_children): Use cached dontcare flag instead of the 239 one in struct file. Fixes Savannah bug #15641. 240 241 2006-02-06 Paul D. Smith <[email protected]> 242 243 * vpath.c (selective_vpath_search): If the file we find has a 244 timestamp from -o or -W, use that instead of the real time. 245 * remake.c (f_mtime): If the mtime is a special token from -o or 246 -W, don't overwrite it with the real mtime. 247 Fixes Savannah bug #15341. 248 249 Updates from Markus Mauhart <[email protected]>: 250 251 * w32/subproc/sub_proc.c (process_begin): Remove no-op tests. 252 (process_signal, process_last_err, process_exit_code): Manage 253 invalid handle values. 254 (process_{outbuf,errbuf,outcnt,errcnt,pipes}): Unused and don't 255 manage invalid handles; remove them. 256 * job.c (start_job_command) [WINDOWS32]: Jump out on error. 257 * config.h.W32.template [WINDOWS32]: Set flags for Windows builds. 258 * README.cvs: Updates for building from CVS. 259 260 2006-02-05 Paul D. Smith <[email protected]> 261 262 * file.c (enter_file): Keep track of the last double_colon entry, 263 to avoid walking the list every time we want to add a new one. 264 Fixes Savannah bug #15533. 265 * filedef.h (struct file): Add a new LAST pointer. 266 267 * dir.c (directory_contents_hash_cmp): Don't use subtraction to do 268 the comparison. For 64-bits systems the result of the subtraction 269 might not fit into an int. Use comparison instead. 270 Fixes Savannah bug #15534. 271 272 * doc/make.texi: Update the chapter on writing commands to reflect 273 the changes made in 3.81 for backslash/newline and SHELL handling. 274 275 2006-02-01 Paul D. Smith <[email protected]> 276 277 * dir.c (dir_contents_file_exists_p) [WINDOWS32]: Make sure 278 variable st is not used when it's not initialized. 279 Patch from Eli Zaretskii <[email protected]>. 280 281 2006-01-31 Paul D. Smith <[email protected]> 282 283 * README.W32.template: Applied patch #4785 from 284 Markus Mauhart <[email protected]>. 285 * README.cvs: Applied patch #4786 from 286 Markus Mauhart <[email protected]>. 287 * make_msvc_net2003.vcproj [WINDOWS32]: New version from 288 J. Grant <[email protected]>. 289 290 * main.c: Update the copyright year in the version output. 291 * prepare_w32.bat: Remove this file from the distribution. 292 293 2006-01-21 Eli Zaretskii <[email protected]> 294 295 * remake.c (update_goal_chain): Set g->changed instead of 296 incrementing it, as it is only 8-bit wide, and could overflow if 297 many commands got started in update_file. 298 299 * w32/include/sub_proc.h: Add a prototype for process_used_slots. 300 301 * w32/subproc/sub_proc.c: Change dimension of proc_array[] to 302 MAXIMUM_WAIT_OBJECTS. 303 (process_wait_for_any_private): Change dimension of handles[] 304 array to MAXIMUM_WAIT_OBJECTS. 305 (process_used_slots): New function. 306 (process_register): Don't register more processes than the 307 available number of slots. 308 (process_easy): Don't start new processes if all slots are used up. 309 310 * job.c (load_too_high, start_waiting_jobs) [WINDOWS32]: If there 311 are already more children than sub_proc.c can handle, behave as if 312 the load were too high. 313 (start_job_command): Fix a typo in error message when process_easy 314 fails. 315 316 2006-01-14 Eli Zaretskii <[email protected]> 317 318 * main.c (main) [WINDOWS32]: Don't refuse to run with -jN, even if 319 the shell is not sh.exe. 320 321 * job.c (create_batch_file): Renamed from create_batch_filename; 322 all callers changed. Don't close the temporary file; return its 323 file descriptor instead. New arg FD allows to return the file 324 descriptor. 325 (construct_command_argv_internal): Use _fdopen instead of fopen to 326 open the batch file. 327 328 2006-01-04 Paul D. Smith <[email protected]> 329 330 * readme.vms: Updates for case-insensitive VMS file systems from 331 Hartmut Becker <[email protected]>. 332 * dir.c (vms_hash): Ditto. 333 * vmsify.c (copyto): Ditto. 334 * vmsfunctions.c (readdir): Ditto. 335 336 * make.1: Add a section on the exit codes for make. 337 338 * doc/make.texi: A number of minor updates to the documentation. 339 340 2006-01-03 Paul D. Smith <[email protected]> 341 342 * remake.c (update_file_1): Mark a prerequisite changed if it 343 doesn't exist. 344 345 * read.c (eval): Be sure to strip off trailing whitespace from the 346 prerequisites list properly. Also, initialize all fields in 347 struct dep when creating a new one. 348 349 2005-12-28 Paul D. Smith <[email protected]> 350 351 * config.h.W32.template [WINDOWS32]: Add in some pragmas to 352 disable warnings for MSC. 353 Patch by Rob Tulloh <[email protected]>. 354 355 2005-12-17 Eli Zaretskii <[email protected]> 356 357 * doc/make.texi (Execution): Add a footnote about changes in 358 handling of backslash-newline sequences. Mention the differences 359 on MS-DOS and MS-Windows. 360 361 * NEWS: More details about building the MinGW port and a pointer 362 to README.W32. Fix the section name that describes the new 363 backward-incompatible processing of backslash-newline sequences. 364 The special processing of SHELL set to "cmd" is only relevant to 365 MS-Windows, not MS-DOS. 366 367 2005-12-17 Eli Zaretskii <[email protected]> 368 369 * main.c (handle_runtime_exceptions): Cast exrec->ExceptionAddress 370 to DWORD, to avoid compiler warnings. 371 * job.c (exec_command): Cast hWaitPID and hPID to DWORD, and 372 use %ld in format, to avoid compiler warnings. 373 374 * doc/make.texi (Special Targets): Fix a typo. 375 (Appending): Fix cross-reference to Setting. 376 (Special Variables, Secondary Expansion, File Name Functions) 377 (Flavor Function, Pattern Match, Quick Reference): Ensure two 378 periods after a sentence. 379 (Execution): Add @: after "e.g.". 380 (Environment): Fix punctuation. 381 (Target-specific, Call Function, Quick Reference): Add @: after "etc." 382 (Shell Function, Target-specific): Add @: after "vs." 383 384 2005-12-14 Boris Kolpackov <[email protected]> 385 386 * read.c (record_target_var): Initialize variable's export field 387 with v_default instead of leaving it "initialized" by whatever 388 garbage happened to be on the heap. 389 390 2005-12-12 Paul D. Smith <[email protected]> 391 392 * make.1: Fix some display errors and document all existing options. 393 Patch provided by Mike Frysinger <[email protected]>. 394 395 2005-12-11 Paul D. Smith <[email protected]> 396 397 * implicit.c (pattern_search): If 2nd expansion is not set for 398 this implicit rule, replace the pattern with the stem directly, 399 and don't re-expand the variable list. Along with the other 400 .SECONDEXPANSION changes below, fixes bug #13781. 401 402 2005-12-09 Boris Kolpackov <[email protected]> 403 404 * implicit.c (pattern_search): Mark other files that this rule 405 builds as targets so that they are not treated as intermediates 406 by the pattern rule search algorithm. Fixes bug #13022. 407 408 2005-12-07 Boris Kolpackov <[email protected]> 409 410 * remake.c (notice_finished_file): Propagate the change of 411 modification time to all the double-colon entries only if 412 it is the last one to be updated. Fixes bug #14334. 413 414 2005-11-17 Boris Kolpackov <[email protected]> 415 416 * function.c (func_flavor): Implement the flavor function which 417 returns the flavor of a variable. 418 * doc/make.texi (Functions for Transforming Text): Document it. 419 * NEWS: Add it to the list of new functions. 420 421 2005-11-14 Boris Kolpackov <[email protected]> 422 423 * read.c (construct_include_path): Set the .INCLUDE_DIRS special 424 variable. 425 * doc/make.texi (Special Variables): Document .INCLUDE_DIRS. 426 * NEWS: Add .INCLUDE_DIRS to the list of new special variables. 427 428 2005-10-26 Paul Smith <[email protected]> 429 430 * read.c (record_files): Don't set deps flags if there are no deps. 431 * maintMakefile: We only need to build the templates when we are 432 creating a distribution, so don't do it for "all". 433 434 2005-10-24 Paul D. Smith <[email protected]> 435 436 Make secondary expansion optional: its enabled by declaring the 437 special target .SECONDEXPANSION. 438 439 * NEWS: Update information on second expansion capabilities. 440 * doc/make.texi (Secondary Expansion): Document the 441 .SECONDEXPANSION special target and its behavior. 442 * dep.h (struct dep): Add a flag STATICPATTERN, set to true if the 443 prerequisite list was found in a static pattern rule. 444 (free_dep_chain): Declare a prototype. 445 * file.c (parse_prereqs): New function: break out some complexity 446 from expand_deps(). 447 (expand_deps): If we aren't doing second expansion, replace % with 448 the stem for static pattern rules. Call the new function. 449 * filedef.h (parse_prereqs): Declare a prototype. 450 * implicit.c (pattern_search): Initialize the new staticpattern 451 field. 452 * main.c (second_expansion): Declare a global variable to remember 453 if the special target has been seen. Initialize the new 454 staticpattern field for prerequisites. 455 * make.h: Extern for second_expansion. 456 * misc.c (free_dep_chain): New function: frees a struct dep list. 457 * read.c (read_all_makefiles): Initialize the staticpattern field. 458 (eval_makefile): Ditto. 459 (record_files): Check for the .SECONDEXPANSION target and set 460 second_expansion global if it's found. 461 Use the new free_dep_chain() instead of doing it by hand. 462 Set the staticpattern field for prereqs of static pattern targets. 463 464 2005-10-16 Paul D. Smith <[email protected]> 465 466 * main.c (main): Set CURDIR to be a file variable instead of a 467 default, so that values of CURDIR inherited from the environment 468 won't override the make value. 469 470 2005-09-26 Paul D. Smith <[email protected]> 471 472 * job.c (construct_command_argv_internal): If the line is empty 473 remember to free the temporary argv strings. 474 Fixes bug # 14527. 475 476 2005-09-16 Paul D. Smith <[email protected]> 477 478 * job.c (start_job_command): The noerror flag is a boolean (single 479 bit); set it appropriately. 480 Reported by Mark Eichin <[email protected]> 481 482 2005-08-29 Paul D. Smith <[email protected]> 483 484 * function.c (func_error): On Windows, output from $(info ...) 485 seems to come in the wrong order. Try to force it with fflush(). 486 487 2005-08-10 Boris Kolpackov <[email protected]> 488 489 * read.c (record_files): Move code that sets stem for static 490 pattern rules out of the if (!two_colon) condition so it is 491 also executed for two-colon rules. Fixes Savannah bug #13881. 492 493 2005-08-08 Paul D. Smith <[email protected]> 494 495 * make.h: Don't test that __STDC__ is non-0. Some compilers 496 (Windows for example) set it to 0 to denote "ISO C + extensions". 497 Fixes bug # 13594. 498 499 2005-08-07 Paul D. Smith <[email protected]> 500 501 * w32/pathstuff.c (getcwd_fs): Fix warning about assignment in a 502 conditional (slightly different version of a fix from Eli). 503 504 Fix a bug reported by Michael Matz <[email protected]>: patch included. 505 If make is running in parallel without -k and two jobs die in a 506 row, but not too close to each other, then make will quit without 507 waiting for the rest of the jobs to die. 508 509 * main.c (die): Don't reset err before calling reap_children() the 510 second time: we still want it to be in the error condition. 511 * job.c (reap_children): Use a static variable, rather than err, 512 to control whether or not the error message should be printed. 513 514 2005-08-06 Eli Zaretskii <[email protected]> 515 516 * w32/subproc/sub_proc.c: Include signal.h. 517 (process_pipe_io, process_file_io): Pass a pointer to a local 518 DWORD variable to GetExitCodeProcess. If the exit code is 519 CONTROL_C_EXIT, put SIGINT into pproc->signal. 520 521 * job.c [WINDOWS32]: Include windows.h. 522 (main_thread) [WINDOWS32]: New global variable. 523 (reap_children) [WINDOWS32]: Get the handle for the main thread 524 and store it in main_thread. 525 526 * commands.c [WINDOWS32]: Include windows.h and w32err.h. 527 (fatal_error_signal) [WINDOWS32]: Suspend the main thread before 528 doing anything else. When we are done, close the main thread 529 handle and exit with status 130. 530 531 2005-07-30 Eli Zaretskii <[email protected]> 532 533 * w32/subproc/sub_proc.c (process_begin): Don't pass a NULL 534 pointer to fprintf. 535 536 * main.c (find_and_set_default_shell): If found a DOSish shell, 537 set sh_found and the value of default_shell, and report the 538 findings in debug mode. 539 540 * job.c (construct_command_argv_internal): Check unixy_shell, not 541 no_default_sh_exe, to decide whether to use Unixy or DOSish 542 builtin commands. 543 544 * README.W32: Update with info about the MinGW build. 545 546 * build_w32.bat: Support MinGW. 547 548 * w32/subproc/build.bat: Likewise. 549 550 * w32/subproc/sub_proc.c (process_easy): Fix format strings for 551 printing DWORD args. 552 553 * function.c (windows32_openpipe): Fix format strings for printing 554 DWORD args. 555 556 * job.c (reap_children) [WINDOWS32]: Don't declare 'status' and 557 'reap_mode'. 558 (start_job_command): Fix format string for printing the result of 559 process_easy. 560 (start_job_command) [WINDOWS32]: Do not define. 561 (exec_command): Fix format string for printing HANDLE args. 562 563 * main.c (handle_runtime_exceptions): Fix sprintf format strings 564 to avoid compiler warnings. 565 (open_tmpfile): Declare fd only if HAVE_FDOPEN is defined. 566 (Note: some of these fixes were submitted independently by J. Grant) 567 568 2005-07-30 J. Grant <[email protected]> 569 570 * prepare_w32.bat: Copy config.h.w32 to config.h if not exist. 571 * make_msvc_net2003.vcproj, make_msvc_net2003.sln: MSVC Project files. 572 * Makefile.am (EXTRA_DIST): Add MSVC Project files. 573 574 2005-07-15 Paul Smith <[email protected]> 575 576 * job.c (construct_command_argv_internal) [DOS,WINDOWS32,OS/2]: If 577 we don't have a POSIX shell, then revert to the old 578 backslash-newline behavior (where they are stripped). 579 Fixes bug #13665. 580 581 2005-07-08 Paul D. Smith <[email protected]> 582 583 * config.h.W32.template: Reorder to match the standard config.h, 584 for easier comparisons. 585 From J. Grant <[email protected]> 586 587 * maintMakefile: Remove .dep_segment before overwriting it, in 588 case it's not writable or noclobber is set. 589 * expand.c (variable_expand_string): Cast result of pointer 590 arithmetic to avoid a warning. 591 * main.c (switches): Add full-fledged final initializer. 592 593 2005-07-06 Paul D. Smith <[email protected]> 594 595 * configure.in: IRIX has _sys_siglist. Tru64 UNIX has __sys_siglist. 596 * signame.c (strsignal): If we found _sys_siglist[] or 597 __sys_siglist[] use those instead of sys_siglist[]. 598 From Albert Chin <[email protected]> 599 600 2005-07-04 Paul D. Smith <[email protected]> 601 602 * config.h-vms.template [VMS]: Latest VMS has its own glob() and 603 globfree(); set up to use the GNU versions. 604 From Martin Zinser <[email protected]> 605 606 2005-07-03 Paul D. Smith <[email protected]> 607 608 From J. Grant <[email protected]>: 609 610 * README.W32.template: Update the Windows and tested MSVC versions. 611 * NMakefile.template (CFLAGS_any): Change warning level from W3 to W4. 612 * w32/subproc/NMakefile (CFLAGS_any): Ditto. 613 * build_w32.bat: Ditto. 614 * w32/subproc/build.bat: Ditto. 615 616 2005-06-28 Paul D. Smith <[email protected]> 617 618 * signame.c: HAVE_DECL_* macros are set to 0, not undef, if the 619 declaration was checked but not present. 620 621 2005-06-27 Paul D. Smith <[email protected]> 622 623 * dir.c (find_directory): Change type of fs_serno/fs_flags/fs_len 624 to unsigned long. Fixes Savannah bug #13550. 625 626 * w32/subproc/sub_proc.c: Remove (HANDLE) casts on lvalues. 627 (process_pipe_io): Initialize tStdin/tStdout/tStderr variables. 628 Fixes Savannah bug #13551. 629 630 2005-06-26 Paul D. Smith <[email protected]> 631 632 * make.h: Fix bug in ANSI_STRING/strerror() handling; only define 633 it if ANSI_STRING is not set. 634 635 2005-06-25 Paul D. Smith <[email protected]> 636 637 * read.c (eval): If no filenames are passed to any of the 638 "include" variants, don't print an error. 639 * doc/make.texi (Include): Document this. 640 Fixes Savannah bug #1761. 641 642 * job.c (construct_command_argv_internal): Sanitize handling of 643 backslash/newline pairs according to POSIX: that is, keep the 644 backslash-newline in the command script, but remove a following 645 TAB character, if present. In the fast path, make sure that the 646 behavior matches what the shell would do both inside and outside 647 of quotes. In the slow path, quote the backslash and put a 648 literal newline in the string. 649 Fixes Savannah bug #1332. 650 * doc/make.texi (Execution): Document the new behavior and give 651 some examples. 652 * NEWS: Make a note of the new behavior. 653 654 * make.h [WINDOWS32]: #include <direct.h>. 655 Fixes Savannah bug #13478. 656 657 * remake.c (name_mtime): If the stat() of a file fails and the -L 658 option was given and the file is a symlink, take the best mtime of 659 the symlink we can get as the mtime of the file and don't fail. 660 Fixes Savannah bug #13280. 661 662 * read.c (find_char_unquote): Accept a new argument IGNOREVARS. 663 If it's set, then don't stop on STOPCHARs or BLANKs if they're 664 inside a variable reference. Make this function static as it's 665 only used here. 666 (eval): Call find_char_unquote() with IGNOREVARS set when we're 667 parsing an unexpanded line looking for semicolons. 668 Fixes Savannah bug #1454. 669 * misc.c (remove_comments): Move this to read.c and make it static 670 as it's only used there. Call find_char_unquote() with new arg. 671 * make.h: Remove prototypes for find_char_unquote() and 672 remove_comments() since they're static now. 673 674 * main.c (main): If we see MAKE_RESTARTS in the environment, unset 675 its export flag and obtain its value. When we need to re-exec, 676 increment the value and add it into the environment. 677 * doc/make.texi (Special Variables): Document MAKE_RESTARTS. 678 * NEWS: Mention MAKE_RESTARTS. 679 * main.c (always_make_set): New variable. Change the -B option to 680 set this one instead. 681 (main): When checking makefiles, only set always_make_flag if 682 always_make_set is set AND the restarts flag is 0. When building 683 normal targets, set it IFF always_make_set is set. 684 (main): Avoid infinite recursion with -W, too: only set what-if 685 files to NEW before we check makefiles if we've never restarted 686 before. If we have restarted, set what-if files to NEW _after_ we 687 check makefiles. 688 Fixes Savannah bug #7566: 689 690 2005-06-17 Paul D. Smith <[email protected]> 691 692 * default.c: Change VMS implicit rules to use $$$$ instead of $$ 693 in the prerequisites list. 694 695 2005-06-12 Paul D. Smith <[email protected]> 696 697 Fix Savannah bug # 1328. 698 699 * configure.in: Check for atexit(). 700 * misc.c (close_stdout): Test stdout to see if writes to it have 701 failed. If so, be sure to exit with a non-0 error code. Based on 702 code found in gnulib. 703 * make.h: Prototype. 704 * main.c (main): Install close_stdout() with atexit(). 705 706 2005-06-10 Paul D. Smith <[email protected]> 707 708 VMS build updates from Hartmut Becker <[email protected]>: 709 710 * vmsjobs.c [VMS]: Updates to compile on VMS: add some missing 711 headers; make vmsWaitForChildren() static; extern vmsify(). 712 * job.c [VMS]: Move vmsWaitForChildren() prototype to be global. 713 Don't create child_execute_job() here (it's in vmsjobs.c). 714 * makefile.vms (job.obj) [VMS]: Add vmsjobs.c as a prerequisite. 715 716 2005-06-09 Paul D. Smith <[email protected]> 717 718 * variable.c (push_new_variable_scope): File variables point 719 directly to the global_setlist variable. So, inserting a new 720 scope in front of that has no effect on those variables: they 721 don't go through current_variable_set_list. If we're pushing a 722 scope and the current scope is global, push it "the other way" so 723 that the new setlist is in the global_setlist variable, and 724 next points to a new setlist with the global variable set. 725 (pop_variable_scope): Properly undo a push with the new 726 semantics. 727 Fixes Savannah bug #11913. 728 729 2005-05-31 Boris Kolpackov <[email protected]> 730 731 * job.c (reap_children): Don't die of the command failed but 732 the dontcare flag is set. Fixes Savannah bug #13216. 733 734 * implicit.c (pattern_search): When creating a target from 735 an implicit rule match, lookup pattern target and set precious 736 flag in a newly created target. Fixes Savannah bug #13218. 737 1 738 2005-05-13 Paul D. Smith <[email protected]> 2 739 … … 347 1084 348 1085 * configure.in: Add MinGW configuration options, and extra w32 code 349 1086 directory. 350 1087 * Makefile.am: Add MinGW configuration options, and extra w32 code 351 1088 directory. 352 1089 * main.c: Determine correct program string (after last \ without .exe). 353 1090 * subproc/sub_proc.c: `GetExitCodeProcess' from incompatible pointer 354 1091 type fix x2 355 1092 * w32/Makefile.am: Import to build win32 lib of sub_proc etc. 356 1093 * subproc/w32err.c: MSVC thread directive not applied to MinGW builds. 357 1094 * tests/run_make_tests.pl, tests/test_driver.pl: MSYS testing 358 1095 environment support. 359 1096 360 1097 2004-04-16 Dmitry V. Levin <[email protected]> 361 1098 362 363 364 1099 * function.c (func_shell): When initializing error_prefix, check 1100 that reading file name is not null. This fixes long-standing 1101 segfault in cases like "make 'a1=$(shell :)' 'a2:=$(a1)'". 365 1102 366 1103 2005-02-09 Paul D. Smith <[email protected]> … … 1523 2260 * read.c (read_all_makefiles, read_makefile, multi_glob): Likewise. 1524 2261 (read_makefile): Parse '|' in prerequisite list. 1525 2262 (uniquize_deps): Consider ignore_mtime when comparing deps. 1526 2263 * remake.c (update_file_1, check_dep): Don't force remake for 1527 2264 dependencies that have d->ignore_mtime. 1528 2265 * commands.c (FILE_LIST_SEPARATOR): New constant. 1529 2266 (set_file_variables): Don't include a 1530 2267 prerequisite in $+, $^ or $? if d->ignore_mtime. 1531 2268 Define $|. 1532 2269 1533 2270 2002-06-18 Paul D. Smith <[email protected]> … … 1563 2300 2002-05-18 Eli Zaretskii <[email protected]> 1564 2301 1565 1566 1567 1568 2302 * Makefile.DOS.template: Tweak according to changes in the 2303 distribution. Add back the dependencies of *.o files. 2304 2305 * configh.dos.template: Synchronize with config.h.in. 1569 2306 1570 2307 2002-05-09 Paul D. Smith <[email protected]> … … 2000 2737 2001 2738 for earlier changes. 2739 2740 2741 Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 2742 Foundation, Inc. 2743 This file is part of GNU Make. 2744 2745 GNU Make is free software; you can redistribute it and/or modify it under the 2746 terms of the GNU General Public License as published by the Free Software 2747 Foundation; either version 2, or (at your option) any later version. 2748 2749 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 2750 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 2751 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 2752 2753 You should have received a copy of the GNU General Public License along with 2754 GNU Make; see the file COPYING. If not, write to the Free Software 2755 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -
vendor/gnumake/current/Makefile.DOS
r152 r501 1 1 # -*-Makefile-*- template for DJGPP 2 2 # Makefile.in generated automatically by automake 1.2 from Makefile.am 3 4 # Copyright (C) 1994, 1995-1998, 1999, 2002 Free Software Foundation, Inc. 5 # This Makefile.DOS is free software; the Free Software Foundation 6 # gives unlimited permission to copy, distribute and modify it. 7 3 # 4 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 5 # 2004, 2005, 2006 Free Software Foundation, Inc. 6 # This file is part of GNU Make. 7 # 8 # GNU Make is free software; you can redistribute it and/or modify it under the 9 # terms of the GNU General Public License as published by the Free Software 10 # Foundation; either version 2, or (at your option) any later version. 11 # 12 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 13 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 14 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 15 # 16 # You should have received a copy of the GNU General Public License along with 17 # GNU Make; see the file COPYING. If not, write to the Free Software 18 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 8 19 9 20 SHELL = /bin/sh … … 61 72 RANLIB = ranlib 62 73 REMOTE = stub 63 VERSION = 3.81 beta174 VERSION = 3.81 64 75 65 76 AUTOMAKE_OPTIONS = 1.2 … … 67 78 bin_PROGRAMS = make$(EXEEXT) 68 79 69 make_SOURCES = ar.c arscan.c commands.c default.c dir.c expand.c file.c function.c getopt.c getopt1.c implicit.c job.c main.c misc.c read.c remake.c rule.c signame.c variable.c version.c vpath.c hash.c remote-$(REMOTE).c80 make_SOURCES = ar.c arscan.c commands.c default.c dir.c expand.c file.c function.c getopt.c getopt1.c implicit.c job.c main.c misc.c read.c remake.c rule.c signame.c strcache.c variable.c version.c vpath.c hash.c remote-$(REMOTE).c 70 81 # This should include the glob/ prefix 71 82 libglob_a_SOURCES = glob/fnmatch.c glob/glob.c glob/fnmatch.h glob/glob.h … … 94 105 LDFLAGS = 95 106 LIBS = 96 make_OBJECTS = ar.o arscan.o commands.o default.o dir.o expand.o file.o function.o getopt.o getopt1.o implicit.o job.o main.o misc.o read.o remake.o rule.o signame.o variable.o version.o vpath.o hash.o remote-$(REMOTE).o107 make_OBJECTS = ar.o arscan.o commands.o default.o dir.o expand.o file.o function.o getopt.o getopt1.o implicit.o job.o main.o misc.o read.o remake.o rule.o signame.o strcache.o variable.o version.o vpath.o hash.o remote-$(REMOTE).o 97 108 make_DEPENDENCIES = glob/libglob.a 98 109 make_LDFLAGS = … … 535 546 # --------------- DEPENDENCIES 536 547 # 548 549 # .deps/alloca.Po 537 550 # dummy 551 552 # .deps/ar.Po 553 ar.o ar.o: ar.c make.h config.h \ 554 getopt.h \ 555 gettext.h filedef.h hash.h dep.h \ 556 557 # .deps/arscan.Po 558 arscan.o arscan.o: arscan.c make.h config.h \ 559 getopt.h \ 560 gettext.h \ 561 562 # .deps/commands.Po 563 commands.o commands.o: commands.c make.h config.h \ 564 getopt.h \ 565 gettext.h dep.h filedef.h hash.h variable.h \ 566 job.h commands.h 567 568 # .deps/default.Po 569 default.o default.o: default.c make.h config.h \ 570 getopt.h \ 571 gettext.h filedef.h hash.h variable.h rule.h \ 572 dep.h job.h commands.h 573 574 # .deps/dir.Po 575 dir.o dir.o: dir.c make.h config.h \ 576 getopt.h \ 577 gettext.h hash.h \ 578 579 # .deps/expand.Po 580 expand.o expand.o: expand.c make.h config.h \ 581 getopt.h \ 582 gettext.h filedef.h hash.h \ 583 job.h commands.h \ 584 variable.h rule.h 585 586 # .deps/file.Po 587 file.o file.o: file.c make.h config.h \ 588 getopt.h \ 589 gettext.h dep.h filedef.h \ 590 hash.h job.h commands.h \ 591 variable.h debug.h 592 593 # .deps/function.Po 594 function.o function.o: function.c make.h config.h \ 595 getopt.h \ 596 gettext.h filedef.h hash.h variable.h dep.h \ 597 job.h commands.h debug.h 598 599 # .deps/getloadavg.Po 538 600 # dummy 539 ar.o : \ 540 ar.c make.h config.h \ 541 getopt.h \ 542 gettext.h filedef.h \ 543 hash.h dep.h 544 arscan.o : \ 545 arscan.c make.h config.h \ 546 getopt.h \ 547 gettext.h \ 548 549 commands.o : \ 550 commands.c make.h config.h \ 551 getopt.h \ 552 gettext.h dep.h \ 553 filedef.h hash.h variable.h job.h \ 554 commands.h 555 default.o : \ 556 default.c make.h config.h \ 557 getopt.h \ 558 gettext.h filedef.h \ 559 hash.h variable.h rule.h dep.h job.h \ 560 commands.h 561 dir.o : \ 562 dir.c make.h config.h \ 563 getopt.h \ 564 gettext.h hash.h \ 565 566 expand.o : \ 567 expand.c make.h config.h \ 568 getopt.h \ 569 gettext.h \ 570 filedef.h hash.h job.h \ 571 commands.h variable.h rule.h 572 file.o : \ 573 file.c make.h config.h \ 574 getopt.h \ 575 gettext.h \ 576 dep.h filedef.h hash.h job.h \ 577 commands.h variable.h \ 578 debug.h 579 function.o : \ 580 function.c make.h config.h \ 581 getopt.h \ 582 gettext.h filedef.h \ 583 hash.h variable.h dep.h job.h \ 584 commands.h debug.h 585 getopt.o : \ 586 getopt.c config.h \ 587 588 getopt1.o : \ 589 getopt1.c config.h getopt.h \ 590 591 hash.o : \ 592 hash.c make.h config.h \ 593 getopt.h \ 594 gettext.h hash.h 595 implicit.o : \ 596 implicit.c make.h config.h \ 597 getopt.h \ 598 gettext.h filedef.h \ 599 hash.h rule.h dep.h debug.h 600 job.o : \ 601 job.c make.h config.h \ 602 getopt.h \ 603 gettext.h \ 604 job.h \ 605 debug.h filedef.h hash.h commands.h \ 606 variable.h \ 607 608 loadavg-getloadavg.o : \ 609 getloadavg.c config.h \ 610 make.h \ 611 getopt.h \ 612 gettext.h \ 613 614 main.o : \ 615 main.c make.h config.h \ 616 getopt.h \ 617 gettext.h dep.h \ 618 filedef.h hash.h variable.h job.h \ 619 commands.h rule.h debug.h \ 620 621 misc.o : \ 622 misc.c make.h config.h \ 623 getopt.h \ 624 gettext.h dep.h \ 625 debug.h 626 read.o : \ 627 read.c make.h config.h \ 628 getopt.h \ 629 gettext.h \ 630 dep.h filedef.h hash.h \ 631 job.h commands.h \ 632 variable.h rule.h debug.h 633 remake.o : \ 634 remake.c make.h config.h \ 635 getopt.h \ 636 gettext.h filedef.h \ 637 hash.h job.h \ 638 commands.h dep.h variable.h debug.h 601 602 # .deps/getopt.Po 603 getopt.o getopt.o: getopt.c config.h \ 604 605 # .deps/getopt1.Po 606 getopt1.o getopt1.o: getopt1.c config.h getopt.h \ 607 608 # .deps/hash.Po 609 hash.o hash.o: hash.c make.h config.h \ 610 getopt.h \ 611 gettext.h hash.h 612 613 # .deps/implicit.Po 614 implicit.o implicit.o: implicit.c make.h config.h \ 615 getopt.h \ 616 gettext.h filedef.h hash.h rule.h dep.h debug.h \ 617 variable.h job.h \ 618 commands.h 619 620 # .deps/job.Po 621 job.o job.o: job.c make.h config.h \ 622 getopt.h \ 623 gettext.h job.h \ 624 debug.h filedef.h hash.h \ 625 commands.h variable.h \ 626 627 # .deps/loadavg-getloadavg.Po 628 loadavg-getloadavg.o loadavg-getloadavg.o: getloadavg.c config.h \ 629 make.h \ 630 getopt.h \ 631 gettext.h \ 632 633 # .deps/main.Po 634 main.o main.o: main.c make.h config.h \ 635 getopt.h \ 636 gettext.h dep.h filedef.h hash.h variable.h \ 637 job.h commands.h rule.h \ 638 debug.h getopt.h \ 639 640 # .deps/misc.Po 641 misc.o misc.o: misc.c make.h config.h \ 642 getopt.h \ 643 gettext.h dep.h debug.h 644 645 # .deps/read.Po 646 read.o read.o: read.c make.h config.h \ 647 getopt.h \ 648 gettext.h \ 649 dep.h filedef.h hash.h job.h \ 650 commands.h variable.h rule.h debug.h \ 651 652 # .deps/remake.Po 653 remake.o remake.o: remake.c make.h config.h \ 654 getopt.h \ 655 gettext.h filedef.h hash.h job.h \ 656 commands.h dep.h \ 657 variable.h debug.h 658 659 # .deps/remote-cstms.Po 639 660 # dummy 640 remote-stub.o : \ 641 remote-stub.c make.h config.h \ 642 getopt.h \ 643 gettext.h filedef.h \ 644 hash.h job.h \ 645 commands.h 646 rule.o : \ 647 rule.c make.h config.h \ 648 getopt.h \ 649 gettext.h dep.h \ 650 filedef.h hash.h job.h \ 651 commands.h variable.h rule.h 652 signame.o : \ 653 signame.c make.h config.h \ 654 getopt.h \ 655 gettext.h 656 variable.o : \ 657 variable.c make.h config.h \ 658 getopt.h \ 659 gettext.h dep.h \ 660 filedef.h hash.h job.h \ 661 commands.h variable.h rule.h 662 version.o : \ 663 version.c config.h 664 vpath.o : \ 665 vpath.c make.h config.h \ 666 getopt.h \ 667 gettext.h filedef.h \ 668 hash.h variable.h 661 662 # .deps/remote-stub.Po 663 remote-stub.o remote-stub.o: remote-stub.c make.h config.h \ 664 getopt.h \ 665 gettext.h filedef.h hash.h job.h \ 666 commands.h 667 668 # .deps/rule.Po 669 rule.o rule.o: rule.c make.h config.h \ 670 getopt.h \ 671 gettext.h dep.h filedef.h hash.h job.h \ 672 commands.h variable.h \ 673 rule.h 674 675 # .deps/signame.Po 676 signame.o signame.o: signame.c make.h config.h \ 677 getopt.h \ 678 gettext.h 679 680 # .deps/strcache.Po 681 strcache.o strcache.o: strcache.c make.h config.h \ 682 getopt.h \ 683 gettext.h hash.h 684 685 # .deps/variable.Po 686 variable.o variable.o: variable.c make.h config.h \ 687 getopt.h \ 688 gettext.h dep.h filedef.h \ 689 hash.h job.h commands.h \ 690 variable.h rule.h 691 692 # .deps/version.Po 693 version.o version.o: version.c config.h 694 695 # .deps/vmsjobs.Po 696 # dummy 697 698 # .deps/vpath.Po 699 vpath.o vpath.o: vpath.c make.h config.h \ 700 getopt.h \ 701 gettext.h filedef.h hash.h variable.h -
vendor/gnumake/current/Makefile.am
r280 r501 1 1 # This is a -*-Makefile-*-, or close enough 2 # 3 # Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 4 # Free Software Foundation, Inc. 5 # This file is part of GNU Make. 6 # 7 # GNU Make is free software; you can redistribute it and/or modify it under the 8 # terms of the GNU General Public License as published by the Free Software 9 # Foundation; either version 2, or (at your option) any later version. 10 # 11 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 # 15 # You should have received a copy of the GNU General Public License along with 16 # GNU Make; see the file COPYING. If not, write to the Free Software 17 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2 18 3 19 AUTOMAKE_OPTIONS = 1.8 dist-bzip2 check-news ansi2knr 4 20 ACLOCAL_AMFLAGS = -I config 21 22 MAKE_HOST = @MAKE_HOST@ 5 23 6 24 # Only process if target is MS-Windows … … 25 43 function.c getopt.c getopt1.c implicit.c job.c main.c \ 26 44 misc.c read.c remake.c $(remote) rule.c signame.c \ 27 variable.c version.c vpath.c hash.c45 strcache.c variable.c version.c vpath.c hash.c 28 46 29 47 EXTRA_make_SOURCES = vmsjobs.c remote-stub.c remote-cstms.c … … 50 68 51 69 # Extra stuff to include in the distribution. 52 # Note we need all the glob stuff here, rather than in glob/Makefile.am,53 # because often that directory isn't built on the systems used by the54 # maintainers.55 70 56 71 EXTRA_DIST = README build.sh.in $(man_MANS) \ … … 60 75 README.DOS Makefile.DOS configure.bat dosbuild.bat configh.dos\ 61 76 README.W32 NMakefile config.h.W32 build_w32.bat subproc.bat \ 77 make_msvc_net2003.sln make_msvc_net2003.vcproj \ 62 78 readme.vms makefile.vms makefile.com config.h-vms \ 63 79 vmsdir.h vmsfunctions.c vmsify.c 64 80 65 MAKE_HOST = @MAKE_HOST@ 81 # This is built during configure, but behind configure's back 66 82 83 DISTCLEANFILES = build.sh 67 84 68 85 # Forward targets … … 137 154 138 155 # The loadavg function is invoked during "make check" to test getloadavg. 139 noinst_PROGRAMS = loadavg156 check_PROGRAMS = loadavg 140 157 nodist_loadavg_SOURCES = getloadavg.c 141 158 loadavg_CPPFLAGS = -DTEST -
vendor/gnumake/current/Makefile.ami
r54 r501 1 # -*-Makefile-*- for GNU make on Amiga 2 # 1 3 # NOTE: If you have no `make' program at all to process this makefile, run 2 4 # `build.sh' instead. 3 5 # 4 # Copyright (C) 1988, 89, 91, 92, 93, 94, 1995 Free Software Foundation, Inc. 6 # Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 7 # 2005, 2006 Free Software Foundation, Inc. 5 8 # This file is part of GNU Make. 6 9 # 7 # GNU Make is free software; you can redistribute it and/or modify 8 # it under the terms of the GNU General Public License as published by 9 # the Free Software Foundation; either version 2, or (at your option) 10 # any later version. 11 # 12 # GNU Make is distributed in the hope that it will be useful, 13 # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 # GNU General Public License for more details. 16 # 17 # You should have received a copy of the GNU General Public License 18 # along with GNU Make; see the file COPYING. If not, write to 19 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 20 # Boston, MA 02111-1307, USA. 10 # GNU Make is free software; you can redistribute it and/or modify it under the 11 # terms of the GNU General Public License as published by the Free Software 12 # Foundation; either version 2, or (at your option) any later version. 13 # 14 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 15 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 16 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 17 # 18 # You should have received a copy of the GNU General Public License along with 19 # GNU Make; see the file COPYING. If not, write to the Free Software 20 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 21 21 22 22 # … … 120 120 objs = commands.o job.o dir.o file.o misc.o main.o read.o remake.o \ 121 121 rule.o implicit.o default.o variable.o expand.o function.o \ 122 vpath.o version.o ar.o arscan.o signame.o hash.o\122 vpath.o version.o ar.o arscan.o signame.o strcache.o hash.o \ 123 123 remote-$(REMOTE).o $(GETOPT) $(ALLOCA) $(extras) 124 124 srcs = $(srcdir)commands.c $(srcdir)job.c $(srcdir)dir.c \ … … 129 129 $(srcdir)vpath.c $(srcdir)version.c $(srcdir)hash.c \ 130 130 $(srcdir)remote-$(REMOTE).c \ 131 $(srcdir)ar.c $(srcdir)arscan.c 131 $(srcdir)ar.c $(srcdir)arscan.c $(srcdir)strcache.c \ 132 132 $(srcdir)signame.c $(srcdir)signame.h $(GETOPT_SRC) \ 133 133 $(srcdir)commands.h $(srcdir)dep.h $(srcdir)filedep.h \ … … 295 295 commands.h amiga.h 296 296 vpath.o: vpath.c make.h filedef.h variable.h 297 strcache.o: strcache.c make.h hash.h 297 298 version.o: version.c 298 299 ar.o: ar.c make.h filedef.h dep.h -
vendor/gnumake/current/Makefile.in
r152 r501 1 # Makefile.in generated by automake 1. 8.2from Makefile.am.1 # Makefile.in generated by automake 1.9.6 from Makefile.am. 2 2 # @configure_input@ 3 3 4 4 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 5 # 2003, 2004 Free Software Foundation, Inc.5 # 2003, 2004, 2005 Free Software Foundation, Inc. 6 6 # This Makefile.in is free software; the Free Software Foundation 7 7 # gives unlimited permission to copy and/or distribute it, … … 16 16 17 17 # This is a -*-Makefile-*-, or close enough 18 19 20 SOURCES = $(nodist_loadavg_SOURCES) $(make_SOURCES) $(EXTRA_make_SOURCES) 18 # 19 # Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 20 # Free Software Foundation, Inc. 21 # This file is part of GNU Make. 22 # 23 # GNU Make is free software; you can redistribute it and/or modify it under the 24 # terms of the GNU General Public License as published by the Free Software 25 # Foundation; either version 2, or (at your option) any later version. 26 # 27 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 28 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 29 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 30 # 31 # You should have received a copy of the GNU General Public License along with 32 # GNU Make; see the file COPYING. If not, write to the Free Software 33 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 34 21 35 22 36 srcdir = @srcdir@ … … 40 54 PRE_UNINSTALL = : 41 55 POST_UNINSTALL = : 56 build_triplet = @build@ 42 57 host_triplet = @host@ 43 58 ANSI2KNR = @ANSI2KNR@ 44 59 bin_PROGRAMS = make$(EXEEXT) 45 noinst_PROGRAMS = loadavg$(EXEEXT) 60 # Only process if target is MS-Windows 61 @WINDOWSENV_TRUE@am__append_1 = $(W32LIB) 62 # Only process if target is MS-Windows 63 @WINDOWSENV_TRUE@am__append_2 = $(W32INC) 64 check_PROGRAMS = loadavg$(EXEEXT) 46 65 subdir = . 47 DIST_COMMON = $(am__configure_deps) $(noinst_HEADERS) \66 DIST_COMMON = README $(am__configure_deps) $(noinst_HEADERS) \ 48 67 $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ 49 $(srcdir)/ build.sh.in $(srcdir)/config.h.in\50 $(top_srcdir)/configure ABOUT-NLS AUTHORS COPYING ChangeLog\51 INSTALL NEWS alloca.c ansi2knr.1ansi2knr.c getloadavg.c68 $(srcdir)/config.h.in $(top_srcdir)/configure ABOUT-NLS \ 69 AUTHORS COPYING ChangeLog INSTALL NEWS alloca.c ansi2knr.1 \ 70 ansi2knr.c getloadavg.c 52 71 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 53 72 am__aclocal_m4_deps = $(top_srcdir)/config/dospaths.m4 \ … … 64 83 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs 65 84 CONFIG_HEADER = config.h 66 CONFIG_CLEAN_FILES = build.sh67 am__installdirs = $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir)85 CONFIG_CLEAN_FILES = 86 am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" 68 87 binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) 69 PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)88 PROGRAMS = $(bin_PROGRAMS) 70 89 nodist_loadavg_OBJECTS = loadavg-getloadavg$U.$(OBJEXT) 71 90 loadavg_OBJECTS = $(nodist_loadavg_OBJECTS) … … 73 92 am__make_SOURCES_DIST = ar.c arscan.c commands.c default.c dir.c \ 74 93 expand.c file.c function.c getopt.c getopt1.c implicit.c job.c \ 75 main.c misc.c read.c remake.c remote-stub.c rule.c signame.c \ 76 variable.c version.c vpath.c hash.c 94 main.c misc.c read.c remake.c remote-stub.c remote-cstms.c \ 95 rule.c signame.c strcache.c variable.c version.c vpath.c \ 96 hash.c 77 97 @USE_CUSTOMS_FALSE@am__objects_1 = remote-stub$U.$(OBJEXT) 78 98 @USE_CUSTOMS_TRUE@am__objects_1 = remote-cstms$U.$(OBJEXT) … … 83 103 job$U.$(OBJEXT) main$U.$(OBJEXT) misc$U.$(OBJEXT) \ 84 104 read$U.$(OBJEXT) remake$U.$(OBJEXT) $(am__objects_1) \ 85 rule$U.$(OBJEXT) signame$U.$(OBJEXT) variable$U.$(OBJEXT) \ 86 version$U.$(OBJEXT) vpath$U.$(OBJEXT) hash$U.$(OBJEXT) 105 rule$U.$(OBJEXT) signame$U.$(OBJEXT) strcache$U.$(OBJEXT) \ 106 variable$U.$(OBJEXT) version$U.$(OBJEXT) vpath$U.$(OBJEXT) \ 107 hash$U.$(OBJEXT) 87 108 make_OBJECTS = $(am_make_OBJECTS) 88 109 am__DEPENDENCIES_1 = 89 make_DEPENDENCIES = @LIBOBJS@ @ALLOCA@ $(am__DEPENDENCIES_1) 110 @WINDOWSENV_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) 111 make_DEPENDENCIES = @LIBOBJS@ @ALLOCA@ $(am__DEPENDENCIES_1) \ 112 $(am__DEPENDENCIES_2) 90 113 DEFAULT_INCLUDES = -I. -I$(srcdir) -I. 91 114 depcomp = $(SHELL) $(top_srcdir)/config/depcomp 92 115 am__depfiles_maybe = depfiles 93 @AMDEP_TRUE@DEP_FILES = $(DEPDIR)/alloca.Po $(DEPDIR)/getloadavg.Po \94 @AMDEP_TRUE@ ./$(DEPDIR)/ar$U.Po ./$(DEPDIR)/arscan$U.Po \95 @AMDEP_TRUE@ ./$(DEPDIR)/commands$U.Po ./$(DEPDIR)/default$U.Po \96 @AMDEP_TRUE@ ./$(DEPDIR)/dir$U.Po ./$(DEPDIR)/expand$U.Po \97 @AMDEP_TRUE@ ./$(DEPDIR)/file$U.Po ./$(DEPDIR)/function$U.Po \98 @AMDEP_TRUE@ ./$(DEPDIR)/getopt$U.Po ./$(DEPDIR)/getopt1$U.Po \99 @AMDEP_TRUE@ ./$(DEPDIR)/hash$U.Po ./$(DEPDIR)/implicit$U.Po \100 @AMDEP_TRUE@ ./$(DEPDIR)/job$U.Po \101 @AMDEP_TRUE@ ./$(DEPDIR)/loadavg-getloadavg$U.Po \102 @AMDEP_TRUE@ ./$(DEPDIR)/main$U.Po ./$(DEPDIR)/misc$U.Po \103 @AMDEP_TRUE@ ./$(DEPDIR)/read$U.Po ./$(DEPDIR)/remake$U.Po \104 @AMDEP_TRUE@ ./$(DEPDIR)/remote-cstms$U.Po \105 @AMDEP_TRUE@ ./$(DEPDIR)/remote-stub$U.Po ./$(DEPDIR)/rule$U.Po \106 @AMDEP_TRUE@ ./$(DEPDIR)/signame$U.Po ./$(DEPDIR)/variable$U.Po \107 @AMDEP_TRUE@ ./$(DEPDIR)/version$U.Po ./$(DEPDIR)/vpath$U.Po108 116 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 109 117 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) … … 125 133 ETAGS = etags 126 134 CTAGS = ctags 127 DIST_SUBDIRS = $(SUBDIRS)135 DIST_SUBDIRS = glob config po doc w32 128 136 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 129 137 distdir = $(PACKAGE)-$(VERSION) … … 206 214 USE_NLS = @USE_NLS@ 207 215 VERSION = @VERSION@ 216 WINDOWSENV_FALSE = @WINDOWSENV_FALSE@ 217 WINDOWSENV_TRUE = @WINDOWSENV_TRUE@ 208 218 XGETTEXT = @XGETTEXT@ 209 219 ac_ct_CC = @ac_ct_CC@ … … 215 225 am__leading_dot = @am__leading_dot@ 216 226 am__quote = @am__quote@ 227 am__tar = @am__tar@ 228 am__untar = @am__untar@ 217 229 bindir = @bindir@ 218 230 build = @build@ … … 245 257 AUTOMAKE_OPTIONS = 1.8 dist-bzip2 check-news ansi2knr 246 258 ACLOCAL_AMFLAGS = -I config 247 SUBDIRS = glob config po doc 259 260 # Only process if target is MS-Windows 261 @WINDOWSENV_TRUE@MAYBE_W32 = w32 262 @WINDOWSENV_TRUE@W32INC = -I $(top_srcdir)/w32/include 263 @WINDOWSENV_TRUE@W32LIB = -Lw32 -lw32 264 SUBDIRS = glob config po doc $(MAYBE_W32) 248 265 @USE_CUSTOMS_FALSE@remote = remote-stub.c 249 266 @USE_CUSTOMS_TRUE@remote = remote-cstms.c … … 251 268 function.c getopt.c getopt1.c implicit.c job.c main.c \ 252 269 misc.c read.c remake.c $(remote) rule.c signame.c \ 253 variable.c version.c vpath.c hash.c254 255 EXTRA_make_SOURCES = remote-stub.c remote-cstms.c270 strcache.c variable.c version.c vpath.c hash.c 271 272 EXTRA_make_SOURCES = vmsjobs.c remote-stub.c remote-cstms.c 256 273 noinst_HEADERS = commands.h dep.h filedef.h job.h make.h rule.h variable.h \ 257 274 debug.h getopt.h gettext.h hash.h 258 275 259 make_LDADD = @LIBOBJS@ @ALLOCA@ $(GLOBLIB) @GETLOADAVG_LIBS@ @LIBINTL@ 276 make_LDADD = @LIBOBJS@ @ALLOCA@ $(GLOBLIB) @GETLOADAVG_LIBS@ @LIBINTL@ \ 277 $(am__append_1) 260 278 man_MANS = make.1 261 AM_CPPFLAGS = $(GLOBINC) 279 AM_CPPFLAGS = $(GLOBINC) $(am__append_2) 262 280 263 281 # Extra stuff to include in the distribution. 264 # Note we need all the glob stuff here, rather than in glob/Makefile.am,265 # because often that directory isn't built on the systems used by the266 # maintainers.267 282 EXTRA_DIST = README build.sh.in $(man_MANS) \ 268 283 README.customs README.OS2 \ … … 271 286 README.DOS Makefile.DOS configure.bat dosbuild.bat configh.dos\ 272 287 README.W32 NMakefile config.h.W32 build_w32.bat subproc.bat \ 288 make_msvc_net2003.sln make_msvc_net2003.vcproj \ 273 289 readme.vms makefile.vms makefile.com config.h-vms \ 274 290 vmsdir.h vmsfunctions.c vmsify.c 275 291 292 293 # This is built during configure, but behind configure's back 294 DISTCLEANFILES = build.sh 276 295 277 296 # --------------- Internationalization Section … … 359 378 distclean-hdr: 360 379 -rm -f config.h stamp-h1 361 build.sh: $(top_builddir)/config.status $(srcdir)/build.sh.in362 cd $(top_builddir) && $(SHELL) ./config.status $@363 380 install-binPROGRAMS: $(bin_PROGRAMS) 364 381 @$(NORMAL_INSTALL) 365 $(mkdir_p) $(DESTDIR)$(bindir)382 test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" 366 383 @list='$(bin_PROGRAMS)'; for p in $$list; do \ 367 384 p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ … … 369 386 ; then \ 370 387 f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ 371 echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \372 $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f|| exit 1; \388 echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ 389 $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ 373 390 else :; fi; \ 374 391 done … … 378 395 @list='$(bin_PROGRAMS)'; for p in $$list; do \ 379 396 f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ 380 echo " rm -f $(DESTDIR)$(bindir)/$$f"; \381 rm -f $(DESTDIR)$(bindir)/$$f; \397 echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ 398 rm -f "$(DESTDIR)$(bindir)/$$f"; \ 382 399 done 383 400 … … 385 402 -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) 386 403 387 clean- noinstPROGRAMS:388 -test -z "$( noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)404 clean-checkPROGRAMS: 405 -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS) 389 406 loadavg$(EXEEXT): $(loadavg_OBJECTS) $(loadavg_DEPENDENCIES) 390 407 @rm -f loadavg$(EXEEXT) … … 433 450 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rule$U.Po@am__quote@ 434 451 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signame$U.Po@am__quote@ 452 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strcache$U.Po@am__quote@ 435 453 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/variable$U.Po@am__quote@ 436 454 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version$U.Po@am__quote@ 455 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vmsjobs$U.Po@am__quote@ 437 456 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vpath$U.Po@am__quote@ 438 457 … … 441 460 @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi 442 461 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ 443 @AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ 444 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 462 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 445 463 @am__fastdepCC_FALSE@ $(COMPILE) -c $< 446 464 … … 449 467 @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi 450 468 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ 451 @AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ 452 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 469 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 453 470 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` 454 471 … … 457 474 @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/loadavg-getloadavg$U.Tpo" "$(DEPDIR)/loadavg-getloadavg$U.Po"; else rm -f "$(DEPDIR)/loadavg-getloadavg$U.Tpo"; exit 1; fi 458 475 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='getloadavg$U.c' object='loadavg-getloadavg$U.o' libtool=no @AMDEPBACKSLASH@ 459 @AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/loadavg-getloadavg$U.Po' tmpdepfile='$(DEPDIR)/loadavg-getloadavg$U.TPo' @AMDEPBACKSLASH@ 460 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 476 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 461 477 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(loadavg_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o loadavg-getloadavg$U.o `test -f 'getloadavg$U.c' || echo '$(srcdir)/'`getloadavg$U.c 462 478 … … 465 481 @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/loadavg-getloadavg$U.Tpo" "$(DEPDIR)/loadavg-getloadavg$U.Po"; else rm -f "$(DEPDIR)/loadavg-getloadavg$U.Tpo"; exit 1; fi 466 482 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='getloadavg$U.c' object='loadavg-getloadavg$U.obj' libtool=no @AMDEPBACKSLASH@ 467 @AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/loadavg-getloadavg$U.Po' tmpdepfile='$(DEPDIR)/loadavg-getloadavg$U.TPo' @AMDEPBACKSLASH@ 468 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 483 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 469 484 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(loadavg_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o loadavg-getloadavg$U.obj `if test -f 'getloadavg$U.c'; then $(CYGPATH_W) 'getloadavg$U.c'; else $(CYGPATH_W) '$(srcdir)/getloadavg$U.c'; fi` 470 485 alloca_.c: alloca.c $(ANSI2KNR) … … 514 529 signame_.c: signame.c $(ANSI2KNR) 515 530 $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/signame.c; then echo $(srcdir)/signame.c; else echo signame.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ 531 strcache_.c: strcache.c $(ANSI2KNR) 532 $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/strcache.c; then echo $(srcdir)/strcache.c; else echo strcache.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ 516 533 variable_.c: variable.c $(ANSI2KNR) 517 534 $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/variable.c; then echo $(srcdir)/variable.c; else echo variable.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ 518 535 version_.c: version.c $(ANSI2KNR) 519 536 $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/version.c; then echo $(srcdir)/version.c; else echo version.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ 537 vmsjobs_.c: vmsjobs.c $(ANSI2KNR) 538 $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/vmsjobs.c; then echo $(srcdir)/vmsjobs.c; else echo vmsjobs.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ 520 539 vpath_.c: vpath.c $(ANSI2KNR) 521 540 $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/vpath.c; then echo $(srcdir)/vpath.c; else echo vpath.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ … … 526 545 main_.$(OBJEXT) misc_.$(OBJEXT) read_.$(OBJEXT) remake_.$(OBJEXT) \ 527 546 remote-cstms_.$(OBJEXT) remote-stub_.$(OBJEXT) rule_.$(OBJEXT) \ 528 signame_.$(OBJEXT) variable_.$(OBJEXT) version_.$(OBJEXT) \529 v path_.$(OBJEXT) : $(ANSI2KNR)547 signame_.$(OBJEXT) strcache_.$(OBJEXT) variable_.$(OBJEXT) \ 548 version_.$(OBJEXT) vmsjobs_.$(OBJEXT) vpath_.$(OBJEXT) : $(ANSI2KNR) 530 549 uninstall-info-am: 531 550 install-man1: $(man1_MANS) $(man_MANS) 532 551 @$(NORMAL_INSTALL) 533 $(mkdir_p) $(DESTDIR)$(man1dir)552 test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)" 534 553 @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ 535 554 l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ … … 550 569 inst=`echo $$inst | sed -e 's/^.*\///'`; \ 551 570 inst=`echo $$inst | sed '$(transform)'`.$$ext; \ 552 echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \553 $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \571 echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ 572 $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \ 554 573 done 555 574 uninstall-man1: … … 571 590 inst=`echo $$inst | sed -e 's/^.*\///'`; \ 572 591 inst=`echo $$inst | sed '$(transform)'`.$$ext; \ 573 echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \574 rm -f $(DESTDIR)$(man1dir)/$$inst; \592 echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \ 593 rm -f "$(DESTDIR)$(man1dir)/$$inst"; \ 575 594 done 576 595 … … 582 601 # (2) otherwise, pass the desired values on the `make' command line. 583 602 $(RECURSIVE_TARGETS): 584 @set fnord $$MAKEFLAGS; amf=$$2; \ 603 @failcom='exit 1'; \ 604 for f in x $$MAKEFLAGS; do \ 605 case $$f in \ 606 *=* | --[!k]*);; \ 607 *k*) failcom='fail=yes';; \ 608 esac; \ 609 done; \ 585 610 dot_seen=no; \ 586 611 target=`echo $@ | sed s/-recursive//`; \ … … 594 619 fi; \ 595 620 (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ 596 || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \621 || eval $$failcom; \ 597 622 done; \ 598 623 if test "$$dot_seen" = "no"; then \ … … 602 627 mostlyclean-recursive clean-recursive distclean-recursive \ 603 628 maintainer-clean-recursive: 604 @set fnord $$MAKEFLAGS; amf=$$2; \ 629 @failcom='exit 1'; \ 630 for f in x $$MAKEFLAGS; do \ 631 case $$f in \ 632 *=* | --[!k]*);; \ 633 *k*) failcom='fail=yes';; \ 634 esac; \ 635 done; \ 605 636 dot_seen=no; \ 606 637 case "$@" in \ … … 623 654 fi; \ 624 655 (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ 625 || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \656 || eval $$failcom; \ 626 657 done && test -z "$$fail" 627 658 tags-recursive: … … 648 679 tags=; \ 649 680 here=`pwd`; \ 650 if ( etags--etags-include --version) >/dev/null 2>&1; then \681 if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ 651 682 include_option=--etags-include; \ 683 empty_fix=.; \ 652 684 else \ 653 685 include_option=--include; \ 686 empty_fix=; \ 654 687 fi; \ 655 688 list='$(SUBDIRS)'; for subdir in $$list; do \ 656 689 if test "$$subdir" = .; then :; else \ 657 test -f $$subdir/TAGS &&\690 test ! -f $$subdir/TAGS || \ 658 691 tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ 659 692 fi; \ … … 665 698 $(AWK) ' { files[$$0] = 1; } \ 666 699 END { for (i in files) print i; }'`; \ 667 test -z "$(ETAGS_ARGS)$$tags$$unique" \ 668 || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ 669 $$tags $$unique 700 if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ 701 test -n "$$unique" || unique=$$empty_fix; \ 702 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ 703 $$tags $$unique; \ 704 fi 670 705 ctags: CTAGS 671 706 CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ … … 700 735 $(am__remove_distdir) 701 736 mkdir $(distdir) 702 $(mkdir_p) $(distdir)/ . $(distdir)/config $(distdir)/po737 $(mkdir_p) $(distdir)/config $(distdir)/po 703 738 @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ 704 739 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ … … 727 762 fi; \ 728 763 done 729 list='$( SUBDIRS)'; for subdir in $$list; do \764 list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ 730 765 if test "$$subdir" = .; then :; else \ 731 766 test -d "$(distdir)/$$subdir" \ 732 || mkdir"$(distdir)/$$subdir" \767 || $(mkdir_p) "$(distdir)/$$subdir" \ 733 768 || exit 1; \ 769 distdir=`$(am__cd) $(distdir) && pwd`; \ 770 top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ 734 771 (cd $$subdir && \ 735 772 $(MAKE) $(AM_MAKEFLAGS) \ 736 top_distdir=" ../$(top_distdir)" \737 distdir=" ../$(distdir)/$$subdir" \773 top_distdir="$$top_distdir" \ 774 distdir="$$distdir/$$subdir" \ 738 775 distdir) \ 739 776 || exit 1; \ … … 749 786 || chmod -R a+r $(distdir) 750 787 dist-gzip: distdir 751 $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz788 tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz 752 789 $(am__remove_distdir) 753 790 dist-bzip2: distdir 754 $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2791 tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 755 792 $(am__remove_distdir) 756 793 757 794 dist-tarZ: distdir 758 $(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z795 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z 759 796 $(am__remove_distdir) 760 797 … … 769 806 770 807 dist dist-all: distdir 771 $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz772 $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2808 tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz 809 tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 773 810 $(am__remove_distdir) 774 811 … … 779 816 case '$(DIST_ARCHIVES)' in \ 780 817 *.tar.gz*) \ 781 GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $( AMTAR) xf -;;\818 GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ 782 819 *.tar.bz2*) \ 783 bunzip2 -c $(distdir).tar.bz2 | $( AMTAR) xf -;;\820 bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ 784 821 *.tar.Z*) \ 785 uncompress -c $(distdir).tar.Z | $( AMTAR) xf -;;\822 uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ 786 823 *.shar.gz*) \ 787 GZIP=$(GZIP_ENV) gunzip -c $(distdir). tar.gz | unshar ;;\824 GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ 788 825 *.zip*) \ 789 826 unzip $(distdir).zip ;;\ … … 808 845 && chmod -R a-w "$$dc_install_base" \ 809 846 && ({ \ 810 (cd ../.. && $(mkdir_p)"$$dc_destdir") \847 (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ 811 848 && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ 812 849 && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ … … 841 878 exit 1; } >&2 842 879 check-am: all-am 880 $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) 843 881 $(MAKE) $(AM_MAKEFLAGS) check-local 844 882 check: check-recursive … … 846 884 installdirs: installdirs-recursive 847 885 installdirs-am: 848 $(mkdir_p) $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir) 886 for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ 887 test -z "$$dir" || $(mkdir_p) "$$dir"; \ 888 done 849 889 install: install-recursive 850 890 install-exec: install-exec-recursive … … 866 906 867 907 distclean-generic: 868 -rm -f $(CONFIG_CLEAN_FILES) 908 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) 909 -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) 869 910 870 911 maintainer-clean-generic: … … 873 914 clean: clean-recursive 874 915 875 clean-am: clean-binPROGRAMS clean- generic clean-krextra\876 clean- noinstPROGRAMSmostlyclean-am916 clean-am: clean-binPROGRAMS clean-checkPROGRAMS clean-generic \ 917 clean-krextra mostlyclean-am 877 918 878 919 distclean: distclean-recursive … … 927 968 928 969 .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ 929 check-am check-local clean clean-binPROGRAMS clean-generic\930 clean- krextra clean-noinstPROGRAMS clean-recursive ctags\931 c tags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar\932 dist- tarZ dist-zip distcheck distclean distclean-compile\933 distclean -generic distclean-hdr distclean-recursive\934 distclean- tags distcleancheck distdir distuninstallcheck dvi\935 d vi-am html html-am info info-am install install-am \936 install -binPROGRAMS install-data install-data-am install-exec\937 install- exec-am install-exec-local install-info\938 install- info-am install-man install-man1 install-strip\939 install check installcheck-am installdirs installdirs-am \940 maintainer-clean maintainer-clean-generic\941 maintainer-clean- recursive mostlyclean mostlyclean-compile \942 mostlyclean -generic mostlyclean-kr mostlyclean-recursive pdf\943 pdf-am ps ps-am tags tags-recursive uninstall uninstall-am\944 uninstall-binPROGRAMS uninstall-info-am uninstall-man\945 uninstall- man1970 check-am check-local clean clean-binPROGRAMS \ 971 clean-checkPROGRAMS clean-generic clean-krextra \ 972 clean-recursive ctags ctags-recursive dist dist-all dist-bzip2 \ 973 dist-gzip dist-hook dist-shar dist-tarZ dist-zip distcheck \ 974 distclean distclean-compile distclean-generic distclean-hdr \ 975 distclean-recursive distclean-tags distcleancheck distdir \ 976 distuninstallcheck dvi dvi-am html html-am info info-am \ 977 install install-am install-binPROGRAMS install-data \ 978 install-data-am install-exec install-exec-am \ 979 install-exec-local install-info install-info-am install-man \ 980 install-man1 install-strip installcheck installcheck-am \ 981 installdirs installdirs-am maintainer-clean \ 982 maintainer-clean-generic maintainer-clean-recursive \ 983 mostlyclean mostlyclean-compile mostlyclean-generic \ 984 mostlyclean-kr mostlyclean-recursive pdf pdf-am ps ps-am tags \ 985 tags-recursive uninstall uninstall-am uninstall-binPROGRAMS \ 986 uninstall-info-am uninstall-man uninstall-man1 946 987 947 988 … … 989 1030 .PHONY: check-loadavg check-regression 990 1031 991 check-loadavg: loadavg 1032 check-loadavg: loadavg$(EXEEXT) 992 1033 @echo The system uptime program believes the load average to be: 993 1034 -uptime 994 1035 @echo The GNU load average checking code thinks: 995 -./loadavg 1036 -./loadavg$(EXEEXT) 996 1037 997 1038 check-regression: … … 1017 1058 # --------------- Maintainer's Section 1018 1059 1060 # Tell automake that I haven't forgotten about this file and it will be 1061 # created before we build a distribution (see maintMakefile in the CVS 1062 # distribution). 1063 1064 README: 1065 1019 1066 @MAINT_MAKEFILE@ 1020 1067 # Tell versions [3.59,3.63) of GNU make to not export all variables. -
vendor/gnumake/current/NEWS
r280 r501 1 1 GNU make NEWS -*-indented-text-*- 2 2 History of user-visible changes. 3 13 May 2005 4 5 Copyright (C) 2002,2003,2004,2005 Free Software Foundation, Inc. 6 See the end for copying conditions. 3 1 April 2006 4 5 See the end of this file for copyrights and conditions. 7 6 8 7 All changes mentioned here are more fully described in the GNU make … … 12 11 13 12 14 Version 3.81 beta313 Version 3.81 15 14 16 15 * GNU make is ported to OS/2. 17 16 18 * GNU make is ported to MinGW. 17 * GNU make is ported to MinGW. The MinGW build is only supported by 18 the build_w32.bat batch file; see the file README.W32 for more 19 details. 20 21 * WARNING: Future backward-incompatibility! 22 Up to and including this release, the '$?' variable does not contain 23 any prerequisite that does not exist, even though that prerequisite 24 might have caused the target to rebuild. Starting with the _next_ 25 release of GNU make, '$?' will contain all prerequisites that caused 26 the target to be considered out of date. See this Savannah bug: 27 http://savannah.gnu.org/bugs/index.php?func=detailitem&item_id=16051 19 28 20 29 * WARNING: Backward-incompatibility! 21 30 GNU make now implements a generic "second expansion" feature on the 22 prerequisites of both explicit and implicit (pattern) rules. After 23 all rules have been parsed the prerequisites are expanded again, this 24 time with all the automatic variables in scope. This means that in 25 addition to using standard SysV $$@ in prerequisites lists, you can 26 also use complex functions such as $$(notdir $$@) etc. This behavior 27 applies to implicit rules, as well, where the second expansion occurs 28 after the rule is matched. However, this means that you need to 31 prerequisites of both explicit and implicit (pattern) rules. In order 32 to enable this feature, the special target '.SECONDEXPANSION' must be 33 defined before the first target which takes advantage of it. If this 34 feature is enabled then after all rules have been parsed the 35 prerequisites are expanded again, this time with all the automatic 36 variables in scope. This means that in addition to using standard 37 SysV $$@ in prerequisites lists, you can also use complex functions 38 such as $$(notdir $$@) etc. This behavior applies to implicit rules, 39 as well, where the second expansion occurs when the rule is matched. 40 However, this means that when '.SECONDEXPANSION' is enabled you must 29 41 double-quote any "$" in your filenames; instead of "foo: boo$$bar" you 30 must write "foo: foo$$$$bar" 42 now must write "foo: foo$$$$bar". Note that the SysV $$@ etc. feature, 43 which used to be available by default, is now ONLY available when the 44 .SECONDEXPANSION target is defined. If your makefiles take advantage 45 of this SysV feature you will need to update them. 46 47 * WARNING: Backward-incompatibility! 48 In order to comply with POSIX, the way in which GNU make processes 49 backslash-newline sequences in command strings has changed. If your 50 makefiles use backslash-newline sequences inside of single-quoted 51 strings in command scripts you will be impacted by this change. See 52 the GNU make manual subsection "Splitting Command Lines" (node 53 "Splitting Lines"), in section "Command Syntax", chapter "Writing the 54 Commands in Rules", for details. 55 56 * WARNING: Backward-incompatibility! 57 Some previous versions of GNU make had a bug where "#" in a function 58 invocation such as $(shell ...) was treated as a make comment. A 59 workaround was to escape these with backslashes. This bug has been 60 fixed: if your makefile uses "\#" in a function invocation the 61 backslash is now preserved, so you'll need to remove it. 31 62 32 63 * New command-line option: -L (--check-symlink-times). On systems that … … 36 67 always has: use the modification time of the actual target file only. 37 68 38 * The "else" conditional line can now be followed by any other legal69 * The "else" conditional line can now be followed by any other valid 39 70 conditional on the same line: this does not increase the depth of the 40 conditional nesting. 71 conditional nesting, so only one "endif" is required to close the 72 conditional. 41 73 42 74 * All pattern-specific variables that match a given target are now used … … 56 88 57 89 * New special variables available in this release: 90 - .INCLUDE_DIRS: Expands to a list of directories that make searches 91 for included makefiles. 58 92 - .FEATURES: Contains a list of special features available in this 59 93 version of GNU make. 60 94 - .DEFAULT_GOAL: Set the name of the default goal make will 61 95 use if no goals are provided on the command line. 96 - MAKE_RESTARTS: If set, then this is the number of times this 97 instance of make has been restarted (see "How Makefiles Are Remade" 98 in the manual). 62 99 - New automatic variable: $| (added in 3.80, actually): contains all 63 100 the order-only prerequisites defined for the target. … … 72 109 provided. The canonical pathname is the absolute pathname, with 73 110 all symbolic links resolved as well. 74 - $(info ...) prints informative messages to stdout. No makefile 75 name or line number info, etc. is printed, just the message. 111 - $(info ...) prints its arguments to stdout. No makefile name or 112 line number info, etc. is printed. 113 - $(flavor ...) returns the flavor of a variable. 114 - $(or ...) provides a short-circuiting OR conditional: each argument 115 is expanded. The first true (non-empty) argument is returned; no 116 further arguments are expanded. Expands to empty if there are no 117 true arguments. 118 - $(and ...) provides a short-circuiting AND conditional: each 119 argument is expanded. The first false (empty) argument is 120 returned; no further arguments are expanded. Expands to the last 121 argument if all arguments are true. 76 122 77 123 * Changes made for POSIX compatibility: … … 82 128 it will be set in the environment, just as before. 83 129 84 * On DOS and MS Windows systems, explicitly setting SHELL to a pathname 85 ending in "cmd" or "cmd.exe" (case-insensitive) will force GNU make to 86 use the DOS command interpreter in batch mode even if a UNIX-like 87 shell could be found on the system. 88 89 * Updated to autoconf 2.59, automake 1.8.2, and gettext 0.14.1. Users 130 * On MS Windows systems, explicitly setting SHELL to a pathname ending 131 in "cmd" or "cmd.exe" (case-insensitive) will force GNU make to use 132 the DOS command interpreter in batch mode even if a UNIX-like shell 133 could be found on the system. 134 135 * On VMS there is now support for case-sensitive filesystems such as ODS5. 136 See the readme.vms file for information. 137 138 * Parallel builds (-jN) no longer require a working Bourne shell on 139 Windows platforms. They work even with the stock Windows shells, such 140 as cmd.exe and command.com. 141 142 * Updated to autoconf 2.59, automake 1.9.5, and gettext 0.14.1. Users 90 143 should not be impacted. 91 144 … … 93 146 Belarusian, Finnish, Kinyarwandan, and Irish. Many updated 94 147 translations. 148 149 A complete list of bugs fixed in this version is available here: 150 151 http://savannah.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=103 95 152 96 153 … … 172 229 173 230 * Updated to autoconf 2.54 and automake 1.7. Users should not be impacted. 231 232 A complete list of bugs fixed in this version is available here: 233 234 http://savannah.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=102 235 174 236 175 237 … … 980 1042 981 1043 982 ---------------------------------------------------------------------- 983 Copyright information: 984 985 Permission is granted to anyone to make or distribute verbatim copies 986 of this document as received, in any medium, provided that the 987 copyright notice and this permission notice are preserved, thus 988 giving the recipient permission to redistribute in turn. 989 990 Permission is granted to distribute modified versions of this 991 document, or of portions of it, under the above conditions, provided 992 also that they carry prominent notices stating who last changed them. 1044 ------------------------------------------------------------------------------- 1045 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1046 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 1047 Foundation, Inc. 1048 This file is part of GNU Make. 1049 1050 GNU Make is free software; you can redistribute it and/or modify it under the 1051 terms of the GNU General Public License as published by the Free Software 1052 Foundation; either version 2, or (at your option) any later version. 1053 1054 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 1055 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 1056 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 1057 1058 You should have received a copy of the GNU General Public License along with 1059 GNU Make; see the file COPYING. If not, write to the Free Software 1060 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -
vendor/gnumake/current/NMakefile
r152 r501 1 # NOTE: If you have no `make' program at all to process this makefile, run 2 # `build_w32.bat' instead. 3 # 4 # Copyright (C) 1988,89,91,92,93,94,95,96,97 Free Software Foundation, Inc. 1 # -*-Makefile-*- to build GNU make with nmake 2 # 3 # NOTE: If you have no 'make' program at all to process this makefile, 4 # run 'build_w32.bat' instead. 5 # 6 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 7 # 2006 Free Software Foundation, Inc. 5 8 # This file is part of GNU Make. 6 9 # 7 # GNU Make is free software; you can redistribute it and/or modify 8 # it under the terms of the GNU General Public License as published by 9 # the Free Software Foundation; either version 2, or (at your option) 10 # any later version. 11 # 12 # GNU Make is distributed in the hope that it will be useful, 13 # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 # GNU General Public License for more details. 16 # 17 # You should have received a copy of the GNU General Public License 18 # along with GNU Make; see the file COPYING. If not, write to 19 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 20 # Boston, MA 02111-1307, USA. 21 22 # 23 # NMakefile for GNU Make 24 # 10 # GNU Make is free software; you can redistribute it and/or modify it under the 11 # terms of the GNU General Public License as published by the Free Software 12 # Foundation; either version 2, or (at your option) any later version. 13 # 14 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 15 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 16 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 17 # 18 # You should have received a copy of the GNU General Public License along with 19 # GNU Make; see the file COPYING. If not, write to the Free Software 20 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 25 21 26 22 LINK = link 27 23 CC = cl 24 MAKE = nmake 28 25 29 26 OUTDIR=. … … 31 28 SUBPROC_MAKEFILE=NMakefile 32 29 33 CFLAGS_any = /nologo /MT /W 3/GX /Zi /YX /I . /I glob /I w32/include /D WIN32 /D WINDOWS32 /D _CONSOLE /D HAVE_CONFIG_H30 CFLAGS_any = /nologo /MT /W4 /GX /Zi /YX /I . /I glob /I w32/include /D WIN32 /D WINDOWS32 /D _CONSOLE /D HAVE_CONFIG_H 34 31 CFLAGS_debug = $(CFLAGS_any) /Od /D DEBUG /D _DEBUG /FR.\WinDebug/ /Fp.\WinDebug/make.pch /Fo.\WinDebug/ /Fd.\WinDebug/make.pdb 35 32 CFLAGS_release = $(CFLAGS_any) /O2 /D NDEBUG /FR.\WinRel/ /Fp.\WinRel/make.pch /Fo.\WinRel/ … … 99 96 $(OUTDIR)/rule.obj \ 100 97 $(OUTDIR)/signame.obj \ 98 $(OUTDIR)/strcache.obj \ 101 99 $(OUTDIR)/variable.obj \ 102 100 $(OUTDIR)/version.obj \ … … 126 124 # --------------- DEPENDENCIES 127 125 # 128 # dummy 129 # dummy 130 ar.o : \ 131 ar.c make.h config.h \ 132 getopt.h \ 133 gettext.h filedef.h \ 134 hash.h dep.h 135 arscan.o : \ 136 arscan.c make.h config.h \ 137 getopt.h \ 138 gettext.h \ 139 140 commands.o : \ 141 commands.c make.h config.h \ 142 getopt.h \ 143 gettext.h dep.h \ 144 filedef.h hash.h variable.h job.h \ 145 commands.h 146 default.o : \ 147 default.c make.h config.h \ 148 getopt.h \ 149 gettext.h filedef.h \ 150 hash.h variable.h rule.h dep.h job.h \ 151 commands.h 152 dir.o : \ 153 dir.c make.h config.h \ 154 getopt.h \ 155 gettext.h hash.h \ 156 157 expand.o : \ 158 expand.c make.h config.h \ 159 getopt.h \ 160 gettext.h \ 161 filedef.h hash.h job.h \ 162 commands.h variable.h rule.h 163 file.o : \ 164 file.c make.h config.h \ 165 getopt.h \ 166 gettext.h \ 167 dep.h filedef.h hash.h job.h \ 168 commands.h variable.h \ 169 debug.h 170 function.o : \ 171 function.c make.h config.h \ 172 getopt.h \ 173 gettext.h filedef.h \ 174 hash.h variable.h dep.h job.h \ 175 commands.h debug.h 176 getopt.o : \ 177 getopt.c config.h \ 178 179 getopt1.o : \ 180 getopt1.c config.h getopt.h \ 181 182 hash.o : \ 183 hash.c make.h config.h \ 184 getopt.h \ 185 gettext.h hash.h 186 implicit.o : \ 187 implicit.c make.h config.h \ 188 getopt.h \ 189 gettext.h filedef.h \ 190 hash.h rule.h dep.h debug.h 191 job.o : \ 192 job.c make.h config.h \ 193 getopt.h \ 194 gettext.h \ 195 job.h \ 196 debug.h filedef.h hash.h commands.h \ 197 variable.h \ 198 199 loadavg-getloadavg.o : \ 200 getloadavg.c config.h \ 201 make.h \ 202 getopt.h \ 203 gettext.h \ 204 205 main.o : \ 206 main.c make.h config.h \ 207 getopt.h \ 208 gettext.h dep.h \ 209 filedef.h hash.h variable.h job.h \ 210 commands.h rule.h debug.h \ 211 212 misc.o : \ 213 misc.c make.h config.h \ 214 getopt.h \ 215 gettext.h dep.h \ 216 debug.h 217 read.o : \ 218 read.c make.h config.h \ 219 getopt.h \ 220 gettext.h \ 221 dep.h filedef.h hash.h \ 222 job.h commands.h \ 223 variable.h rule.h debug.h 224 remake.o : \ 225 remake.c make.h config.h \ 226 getopt.h \ 227 gettext.h filedef.h \ 228 hash.h job.h \ 229 commands.h dep.h variable.h debug.h 230 # dummy 231 remote-stub.o : \ 232 remote-stub.c make.h config.h \ 233 getopt.h \ 234 gettext.h filedef.h \ 235 hash.h job.h \ 236 commands.h 237 rule.o : \ 238 rule.c make.h config.h \ 239 getopt.h \ 240 gettext.h dep.h \ 241 filedef.h hash.h job.h \ 242 commands.h variable.h rule.h 243 signame.o : \ 244 signame.c make.h config.h \ 245 getopt.h \ 246 gettext.h 247 variable.o : \ 248 variable.c make.h config.h \ 249 getopt.h \ 250 gettext.h dep.h \ 251 filedef.h hash.h job.h \ 252 commands.h variable.h rule.h 253 version.o : \ 254 version.c config.h 255 vpath.o : \ 256 vpath.c make.h config.h \ 257 getopt.h \ 258 gettext.h filedef.h \ 259 hash.h variable.h 126 127 # .deps/alloca.Po 128 # dummy 129 130 # .deps/ar.Po 131 ar.o ar.o: ar.c make.h config.h \ 132 getopt.h \ 133 gettext.h filedef.h hash.h dep.h \ 134 135 # .deps/arscan.Po 136 arscan.o arscan.o: arscan.c make.h config.h \ 137 getopt.h \ 138 gettext.h \ 139 140 # .deps/commands.Po 141 commands.o commands.o: commands.c make.h config.h \ 142 getopt.h \ 143 gettext.h dep.h filedef.h hash.h variable.h \ 144 job.h commands.h 145 146 # .deps/default.Po 147 default.o default.o: default.c make.h config.h \ 148 getopt.h \ 149 gettext.h filedef.h hash.h variable.h rule.h \ 150 dep.h job.h commands.h 151 152 # .deps/dir.Po 153 dir.o dir.o: dir.c make.h config.h \ 154 getopt.h \ 155 gettext.h hash.h \ 156 157 # .deps/expand.Po 158 expand.o expand.o: expand.c make.h config.h \ 159 getopt.h \ 160 gettext.h filedef.h hash.h \ 161 job.h commands.h \ 162 variable.h rule.h 163 164 # .deps/file.Po 165 file.o file.o: file.c make.h config.h \ 166 getopt.h \ 167 gettext.h dep.h filedef.h \ 168 hash.h job.h commands.h \ 169 variable.h debug.h 170 171 # .deps/function.Po 172 function.o function.o: function.c make.h config.h \ 173 getopt.h \ 174 gettext.h filedef.h hash.h variable.h dep.h \ 175 job.h commands.h debug.h 176 177 # .deps/getloadavg.Po 178 # dummy 179 180 # .deps/getopt.Po 181 getopt.o getopt.o: getopt.c config.h \ 182 183 # .deps/getopt1.Po 184 getopt1.o getopt1.o: getopt1.c config.h getopt.h \ 185 186 # .deps/hash.Po 187 hash.o hash.o: hash.c make.h config.h \ 188 getopt.h \ 189 gettext.h hash.h 190 191 # .deps/implicit.Po 192 implicit.o implicit.o: implicit.c make.h config.h \ 193 getopt.h \ 194 gettext.h filedef.h hash.h rule.h dep.h debug.h \ 195 variable.h job.h \ 196 commands.h 197 198 # .deps/job.Po 199 job.o job.o: job.c make.h config.h \ 200 getopt.h \ 201 gettext.h job.h \ 202 debug.h filedef.h hash.h \ 203 commands.h variable.h \ 204 205 # .deps/loadavg-getloadavg.Po 206 loadavg-getloadavg.o loadavg-getloadavg.o: getloadavg.c config.h \ 207 make.h \ 208 getopt.h \ 209 gettext.h \ 210 211 # .deps/main.Po 212 main.o main.o: main.c make.h config.h \ 213 getopt.h \ 214 gettext.h dep.h filedef.h hash.h variable.h \ 215 job.h commands.h rule.h \ 216 debug.h getopt.h \ 217 218 # .deps/misc.Po 219 misc.o misc.o: misc.c make.h config.h \ 220 getopt.h \ 221 gettext.h dep.h debug.h 222 223 # .deps/read.Po 224 read.o read.o: read.c make.h config.h \ 225 getopt.h \ 226 gettext.h \ 227 dep.h filedef.h hash.h job.h \ 228 commands.h variable.h rule.h debug.h \ 229 230 # .deps/remake.Po 231 remake.o remake.o: remake.c make.h config.h \ 232 getopt.h \ 233 gettext.h filedef.h hash.h job.h \ 234 commands.h dep.h \ 235 variable.h debug.h 236 237 # .deps/remote-cstms.Po 238 # dummy 239 240 # .deps/remote-stub.Po 241 remote-stub.o remote-stub.o: remote-stub.c make.h config.h \ 242 getopt.h \ 243 gettext.h filedef.h hash.h job.h \ 244 commands.h 245 246 # .deps/rule.Po 247 rule.o rule.o: rule.c make.h config.h \ 248 getopt.h \ 249 gettext.h dep.h filedef.h hash.h job.h \ 250 commands.h variable.h \ 251 rule.h 252 253 # .deps/signame.Po 254 signame.o signame.o: signame.c make.h config.h \ 255 getopt.h \ 256 gettext.h 257 258 # .deps/strcache.Po 259 strcache.o strcache.o: strcache.c make.h config.h \ 260 getopt.h \ 261 gettext.h hash.h 262 263 # .deps/variable.Po 264 variable.o variable.o: variable.c make.h config.h \ 265 getopt.h \ 266 gettext.h dep.h filedef.h \ 267 hash.h job.h commands.h \ 268 variable.h rule.h 269 270 # .deps/version.Po 271 version.o version.o: version.c config.h 272 273 # .deps/vmsjobs.Po 274 # dummy 275 276 # .deps/vpath.Po 277 vpath.o vpath.o: vpath.c make.h config.h \ 278 getopt.h \ 279 gettext.h filedef.h hash.h variable.h -
vendor/gnumake/current/README
r152 r501 1 This directory contains the 3.81 beta1release of GNU Make.1 This directory contains the 3.81 release of GNU Make. 2 2 3 3 See the file NEWS for the user-visible changes from previous releases. … … 169 169 and a DOS-based tool built with DJGPP. Please be sure you are looking 170 170 at the right README! 171 172 173 174 ------------------------------------------------------------------------------- 175 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 176 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, 177 Inc. 178 This file is part of GNU Make. 179 180 GNU Make is free software; you can redistribute it and/or modify it under the 181 terms of the GNU General Public License as published by the Free Software 182 Foundation; either version 2, or (at your option) any later version. 183 184 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 185 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 186 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 187 188 You should have received a copy of the GNU General Public License along with 189 GNU Make; see the file COPYING. If not, write to the Free Software 190 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -
vendor/gnumake/current/README.Amiga
r54 r501 60 60 Resident make Add 61 61 62 63 64 ------------------------------------------------------------------------------- 65 Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 66 2005, 2006 Free Software Foundation, Inc. 67 This file is part of GNU Make. 68 69 GNU Make is free software; you can redistribute it and/or modify it under the 70 terms of the GNU General Public License as published by the Free Software 71 Foundation; either version 2, or (at your option) any later version. 72 73 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 74 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 75 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 76 77 You should have received a copy of the GNU General Public License along with 78 GNU Make; see the file COPYING. If not, write to the Free Software 79 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -
vendor/gnumake/current/README.DOS
r152 r501 63 63 directory as an argument to the batch file, like this: 64 64 65 c:\djgpp\gnu\make-3.81 beta1\configure.bat c:/djgpp/gnu/make-3.81beta165 c:\djgpp\gnu\make-3.81\configure.bat c:/djgpp/gnu/make-3.81 66 66 67 67 Note the forward slashes in the source path argument: you MUST … … 85 85 need to tell Make where the sources are, like this: 86 86 87 make srcdir=c:/djgpp/gnu/make-3.81 beta187 make srcdir=c:/djgpp/gnu/make-3.81 88 88 89 89 (configure.bat will tell you this when it finishes). You MUST … … 322 322 Enjoy, 323 323 Eli Zaretskii <[email protected]> 324 325 326 327 ------------------------------------------------------------------------------- 328 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 329 2006 Free Software Foundation, Inc. 330 This file is part of GNU Make. 331 332 GNU Make is free software; you can redistribute it and/or modify it under the 333 terms of the GNU General Public License as published by the Free Software 334 Foundation; either version 2, or (at your option) any later version. 335 336 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 337 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 338 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 339 340 You should have received a copy of the GNU General Public License along with 341 GNU Make; see the file COPYING. If not, write to the Free Software 342 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -
vendor/gnumake/current/README.OS2
r152 r501 47 47 48 48 - sh compatible shell (ksh, bash, ash, but tested only with pdksh 5.2.14 49 (release 2)49 release 2) 50 50 If you use pdksh it is recommended to update to 5.2.14 release 2. Older 51 51 versions may not work! You can get this version at … … 60 60 - grep 61 61 - sed 62 - GNU make 3.79.1 (special OS/2 patched version) 62 - GNU make 3.79.1 (special OS/2 patched version) or higher 63 63 - perl 5.005 or higher 64 64 - GNU texinfo (you can use 3.1 (gnuinfo.zip), but I recommend 4.0) 65 65 66 66 If you want to recreate the configuration files (developers only!) 67 you need also: GNU m4 1.4, autoconf 2.5 7, automake 1.7.2 (or compatible)67 you need also: GNU m4 1.4, autoconf 2.59, automake 1.8.2 (or compatible) 68 68 69 69 … … 148 148 149 149 export CPPFLAGS="-D__ST_MT_ERRNO__ -DNO_CMD_DEFAULT -DNO_CHDIR2" 150 export CFLAGS="-Zomf -O2 - s -Zmt"151 export LDFLAGS="-Zcrtdll - Zmt -s -Zlinker /exepack:2 -Zlinker /pm:vio -Zstack 0x8000"150 export CFLAGS="-Zomf -O2 -Zmt" 151 export LDFLAGS="-Zcrtdll -s -Zlinker /exepack:2 -Zlinker /pm:vio -Zstack 0x8000" 152 152 export RANLIB="echo" 153 153 ./configure --prefix=x:/usr --disable-nls 154 154 make AR=emxomfar 155 make check s155 make check 156 156 157 157 All tests should work fine with the exception of "default_names" which 158 158 is because OS/2 file systems are not case sensitive ("makefile" and 159 159 "Makefile" specify the same file). 160 161 162 163 ------------------------------------------------------------------------------- 164 Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 165 This file is part of GNU Make. 166 167 GNU Make is free software; you can redistribute it and/or modify it under the 168 terms of the GNU General Public License as published by the Free Software 169 Foundation; either version 2, or (at your option) any later version. 170 171 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 172 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 173 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 174 175 You should have received a copy of the GNU General Public License along with 176 GNU Make; see the file COPYING. If not, write to the Free Software 177 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -
vendor/gnumake/current/README.W32
r152 r501 1 Port of GNU make to Windows NT and Windows 95 2 Builds natively with MSVC 2.x or MSVC 4.x compilers. 3 Should also build fine with MSVC 5.x and 6.x (though not confirmed). 4 5 This Windows 32-bit port of GNU make is maintained primarily by Rob 6 Tulloh, who is also the author of this README. 7 8 To build with nmake on Windows NT, Windows 95, or Windows 98: 9 10 1. Make sure cl.exe is in your %Path%. Example: 11 12 set Path=%Path%;c:/msdev/bin 13 14 2. Make sure %include% is set to msvc include directory. Example: 15 16 set include=c:/msdev/include 17 18 3. Make sure %lib% is set to msvc lib directory. Example: 19 20 set lib=c:/msdev/lib 21 22 4. nmake /f NMakefile 23 24 25 A short cut to steps 1, 2, and 3 is to run VCVARS32.bat before 26 invoking namke. For example: 27 28 c: 29 cd \msdev\bin 30 VCVARS32.bat 31 cd \path\to\make-3.81beta1 1 This version of GNU make has been tested on Microsoft Windows 2000/XP/2003. 2 It has also been used on Windows 95/98/NT, and on OS/2. 3 4 It builds natively with MSVC 2.x, 4.x, 5.x, 6.x, and 2003 as well as 5 .NET 7.x and .NET 2003. 6 7 It builds with the MinGW port of GCC 3.x (tested with GCC 3.4.2). 8 9 The Windows 32-bit port of GNU make is maintained jointly by various 10 people. It was originally made by Rob Tulloh. 11 12 13 Do this first, regardless of the build method you choose: 14 --------------------------------------------------------- 15 16 1. At the Windows command prompt run: 17 18 if not exist NMakefile copy NMakefile.template NMakefile 19 if not exist config.h copy config.h.W32 config.h 20 21 Then edit config.h to your liking (especially the few shell-related 22 defines near the end, or HAVE_CASE_INSENSITIVE_FS which corresponds 23 to './configure --enable-case-insensitive-file-system'). 24 25 26 Using make_msvc_net2003.vcproj 27 ------------------------------ 28 29 2. Open make_msvc_net2003.vcproj in MSVS71 or MSVC71 or any compatible IDE, 30 then build this project as usual. 31 32 33 Building with (MinGW-)GCC using build_w32.bat 34 --------------------------------------------- 35 36 2. Open a W32 command prompt for your installed (MinGW-)GCC, setup a 37 correct PATH and other environment variables for it, then execute ... 38 39 build_w32.bat gcc 40 41 This produces gnumake.exe in the current directory. 42 43 44 Building with (MSVC++-)cl using build_w32.bat or NMakefile 45 ---------------------------------------------------------- 46 47 2. Open a W32 command prompt for your installed (MSVC++-)cl, setup a 48 correct PATH and other environment variables for it (usually via 49 executing vcvars32.bat or vsvars32.bat from the cl-installation, 50 e.g. "%VS71COMNTOOLS%vsvars32.bat"; or using a corresponding start 51 menue entry from the cl-installation), then execute EITHER ... 52 53 build_w32.bat 54 55 (this produces WinDebug/gnumake.exe and WinRel/gnumake.exe) 56 57 ... OR ... 58 32 59 nmake /f NMakefile 33 60 34 There is a bat file (build_w32.bat) for folks who have fear of nmake. 35 36 Outputs: 37 38 WinDebug/make.exe 39 WinRel/make.exe 40 41 61 (this produces WinDebug/make.exe and WinRel/make.exe). 62 63 64 ------------------- 42 65 -- Notes/Caveats -- 66 ------------------- 43 67 44 68 GNU make on Windows 32-bit platforms: … … 64 88 There are very few true ports of Bourne shell for NT right now. 65 89 There is a version of GNU bash available from Cygnus "Cygwin" 66 porting effort (http:// sourceware.cygnus.com/cygwin).90 porting effort (http://www.cygwin.com/). 67 91 Other possibilities are the MKS version of sh.exe, or building 68 92 your own with a package like NutCracker (DataFocus) or Portage 69 (Consensys). 93 (Consensys). Also MinGW includes sh (http://mingw.org/). 70 94 71 95 GNU make and brain-dead shells (BATCH_MODE_ONLY_SHELL): … … 132 156 specification of paths. Make is able to figure out the intended 133 157 result and convert the paths internally to the format needed 134 when interacting with the operating system. 158 when interacting with the operating system, providing the path 159 is not within quotes, e.g. "x:/test/test.c". 135 160 136 161 You are encouraged to use colon as the separator character. … … 143 168 144 169 I verified all functionality with a slightly modified version 145 of make-test-3.81 beta1(modifications to get test suite to run170 of make-test-3.81 (modifications to get test suite to run 146 171 on Windows NT). All tests pass in an environment that includes 147 172 sh.exe. Tests were performed on both Windows NT and Windows 95. … … 168 193 169 194 Unlike Unix, Windows 95/NT systems encourage pathnames which 170 contain white space (e.g. C:\Program Files\). These sorts of pathnames 171 are legal under Unix too, but are never encouraged. There is 172 at least one place in make (VPATH/vpath handling) where paths 173 containing white space will simply not work. There may be others 174 too. I chose to not try and port make in such a way so that 175 these sorts of paths could be handled. I offer these suggestions 176 as workarounds: 177 178 1. Use 8.3 notation 195 contain white space (e.g. C:\Program Files\). These sorts of 196 pathnames are legal under Unix too, but are never encouraged. 197 There is at least one place in make (VPATH/vpath handling) where 198 paths containing white space will simply not work. There may be 199 others too. I chose to not try and port make in such a way so 200 that these sorts of paths could be handled. I offer these 201 suggestions as workarounds: 202 203 1. Use 8.3 notation. i.e. "x:/long~1/", which is actually 204 "x:\longpathtest". Type "dir /x" to view these filenames 205 within the cmd.exe shell. 179 206 2. Rename the directory so it does not contain white space. 180 207 … … 221 248 related to the way VC++ 4.0 changes the case name of the pdb 222 249 filename it is passed on the command line. It seems to change 223 the name always to to lower case. I contend that 224 the VC++ compiler should not change the casename of files that225 a re passed as arguments on the command line. I don't think this226 was aproblem in MSVC 2.x, but I know it is a problem in MSVC 4.x.250 the name always to to lower case. I contend that the VC++ 251 compiler should not change the casename of files that are passed 252 as arguments on the command line. I don't think this was a 253 problem in MSVC 2.x, but I know it is a problem in MSVC 4.x. 227 254 228 255 The package builds fine on VFAT and NTFS filesystems. … … 230 257 Most all of the development I have done to date has been using 231 258 NTFS and long file names. I have not done any considerable work 232 under VFAT. VFAT users may wish to be aware that this port 233 ofmake does respect case sensitivity.259 under VFAT. VFAT users may wish to be aware that this port of 260 make does respect case sensitivity. 234 261 235 262 FAT: 236 263 237 Version 3.76 added support for FAT filesystems. Make 238 works around some difficulties with stat'ing of239 file s and caching of filenames and directories internally.264 Version 3.76 added support for FAT filesystems. Make works 265 around some difficulties with stat'ing of files and caching of 266 filenames and directories internally. 240 267 241 268 Bug reports: … … 243 270 Please submit bugs via the normal bug reporting mechanism which 244 271 is described in the GNU make manual and the base README. 272 273 274 ------------------------------------------------------------------------------- 275 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 276 2006 Free Software Foundation, Inc. 277 This file is part of GNU Make. 278 279 GNU Make is free software; you can redistribute it and/or modify it under the 280 terms of the GNU General Public License as published by the Free Software 281 Foundation; either version 2, or (at your option) any later version. 282 283 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 284 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 285 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 286 287 You should have received a copy of the GNU General Public License along with 288 GNU Make; see the file COPYING. If not, write to the Free Software 289 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -
vendor/gnumake/current/README.customs
r54 r501 94 94 95 95 YMMV. 96 97 98 99 ------------------------------------------------------------------------------- 100 Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 101 Free Software Foundation, Inc. 102 This file is part of GNU Make. 103 104 GNU Make is free software; you can redistribute it and/or modify it under the 105 terms of the GNU General Public License as published by the Free Software 106 Foundation; either version 2, or (at your option) any later version. 107 108 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 109 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 110 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 111 112 You should have received a copy of the GNU General Public License along with 113 GNU Make; see the file COPYING. If not, write to the Free Software 114 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -
vendor/gnumake/current/SMakefile
r152 r501 1 # NOTE: If you have no `make' program at all to process this makefile, run 2 # `build.sh' instead. 3 # 4 # Copyright (C) 1988, 89, 91, 92, 93, 94, 1995 Free Software Foundation, Inc. 1 # -*-Makefile-*- for building GNU make with smake 2 # 3 # NOTE: If you have no 'make' program at all to process this makefile, 4 # run 'build.sh' instead. 5 # 6 # Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 7 # 2005, 2006 Free Software Foundation, Inc. 5 8 # This file is part of GNU Make. 6 9 # 7 # GNU Make is free software; you can redistribute it and/or modify 8 # it under the terms of the GNU General Public License as published by 9 # the Free Software Foundation; either version 2, or (at your option) 10 # any later version. 11 # 12 # GNU Make is distributed in the hope that it will be useful, 13 # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 # GNU General Public License for more details. 16 # 17 # You should have received a copy of the GNU General Public License 18 # along with GNU Make; see the file COPYING. If not, write to 19 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 20 # Boston, MA 02111-1307, USA. 10 # GNU Make is free software; you can redistribute it and/or modify it under the 11 # terms of the GNU General Public License as published by the Free Software 12 # Foundation; either version 2, or (at your option) any later version. 13 # 14 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 15 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 16 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 17 # 18 # You should have received a copy of the GNU General Public License along with 19 # GNU Make; see the file COPYING. If not, write to the Free Software 20 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 21 21 22 22 # … … 25 25 26 26 # Ultrix 2.2 make doesn't expand the value of VPATH. 27 VPATH = /make-3.81 beta1/27 VPATH = /make-3.81/ 28 28 # This must repeat the value, because configure will remove `VPATH = .'. 29 srcdir = /make-3.81 beta1/29 srcdir = /make-3.81/ 30 30 31 31 CC = sc … … 126 126 objs = commands.o job.o dir.o file.o misc.o main.o read.o remake.o \ 127 127 rule.o implicit.o default.o variable.o expand.o function.o \ 128 vpath.o version.o ar.o arscan.o signame.o hash.o\128 vpath.o version.o ar.o arscan.o signame.o strcache.o hash.o \ 129 129 remote-$(REMOTE).o $(GLOB) $(GETOPT) $(ALLOCA) $(extras) 130 130 srcs = $(srcdir)commands.c $(srcdir)job.c $(srcdir)dir.c \ … … 135 135 $(srcdir)vpath.c $(srcdir)version.c $(srcdir)hash.c \ 136 136 $(srcdir)remote-$(REMOTE).c \ 137 $(srcdir)ar.c $(srcdir)arscan.c 137 $(srcdir)ar.c $(srcdir)arscan.c $(srcdir)strcache.c \ 138 138 $(srcdir)signame.c $(srcdir)signame.h $(GETOPT_SRC) \ 139 139 $(srcdir)commands.h $(srcdir)dep.h $(srcdir)file.h \ … … 215 215 # --------------- DEPENDENCIES 216 216 # 217 218 # .deps/alloca.Po 217 219 # dummy 220 221 # .deps/ar.Po 222 ar.o ar.o: ar.c make.h config.h \ 223 getopt.h \ 224 gettext.h filedef.h hash.h dep.h \ 225 226 # .deps/arscan.Po 227 arscan.o arscan.o: arscan.c make.h config.h \ 228 getopt.h \ 229 gettext.h \ 230 231 # .deps/commands.Po 232 commands.o commands.o: commands.c make.h config.h \ 233 getopt.h \ 234 gettext.h dep.h filedef.h hash.h variable.h \ 235 job.h commands.h 236 237 # .deps/default.Po 238 default.o default.o: default.c make.h config.h \ 239 getopt.h \ 240 gettext.h filedef.h hash.h variable.h rule.h \ 241 dep.h job.h commands.h 242 243 # .deps/dir.Po 244 dir.o dir.o: dir.c make.h config.h \ 245 getopt.h \ 246 gettext.h hash.h \ 247 248 # .deps/expand.Po 249 expand.o expand.o: expand.c make.h config.h \ 250 getopt.h \ 251 gettext.h filedef.h hash.h \ 252 job.h commands.h \ 253 variable.h rule.h 254 255 # .deps/file.Po 256 file.o file.o: file.c make.h config.h \ 257 getopt.h \ 258 gettext.h dep.h filedef.h \ 259 hash.h job.h commands.h \ 260 variable.h debug.h 261 262 # .deps/function.Po 263 function.o function.o: function.c make.h config.h \ 264 getopt.h \ 265 gettext.h filedef.h hash.h variable.h dep.h \ 266 job.h commands.h debug.h 267 268 # .deps/getloadavg.Po 218 269 # dummy 219 ar.o : \ 220 ar.c make.h config.h \ 221 getopt.h \ 222 gettext.h filedef.h \ 223 hash.h dep.h 224 arscan.o : \ 225 arscan.c make.h config.h \ 226 getopt.h \ 227 gettext.h \ 228 229 commands.o : \ 230 commands.c make.h config.h \ 231 getopt.h \ 232 gettext.h dep.h \ 233 filedef.h hash.h variable.h job.h \ 234 commands.h 235 default.o : \ 236 default.c make.h config.h \ 237 getopt.h \ 238 gettext.h filedef.h \ 239 hash.h variable.h rule.h dep.h job.h \ 240 commands.h 241 dir.o : \ 242 dir.c make.h config.h \ 243 getopt.h \ 244 gettext.h hash.h \ 245 246 expand.o : \ 247 expand.c make.h config.h \ 248 getopt.h \ 249 gettext.h \ 250 filedef.h hash.h job.h \ 251 commands.h variable.h rule.h 252 file.o : \ 253 file.c make.h config.h \ 254 getopt.h \ 255 gettext.h \ 256 dep.h filedef.h hash.h job.h \ 257 commands.h variable.h \ 258 debug.h 259 function.o : \ 260 function.c make.h config.h \ 261 getopt.h \ 262 gettext.h filedef.h \ 263 hash.h variable.h dep.h job.h \ 264 commands.h debug.h 265 getopt.o : \ 266 getopt.c config.h \ 267 268 getopt1.o : \ 269 getopt1.c config.h getopt.h \ 270 271 hash.o : \ 272 hash.c make.h config.h \ 273 getopt.h \ 274 gettext.h hash.h 275 implicit.o : \ 276 implicit.c make.h config.h \ 277 getopt.h \ 278 gettext.h filedef.h \ 279 hash.h rule.h dep.h debug.h 280 job.o : \ 281 job.c make.h config.h \ 282 getopt.h \ 283 gettext.h \ 284 job.h \ 285 debug.h filedef.h hash.h commands.h \ 286 variable.h \ 287 288 loadavg-getloadavg.o : \ 289 getloadavg.c config.h \ 290 make.h \ 291 getopt.h \ 292 gettext.h \ 293 294 main.o : \ 295 main.c make.h config.h \ 296 getopt.h \ 297 gettext.h dep.h \ 298 filedef.h hash.h variable.h job.h \ 299 commands.h rule.h debug.h \ 300 301 misc.o : \ 302 misc.c make.h config.h \ 303 getopt.h \ 304 gettext.h dep.h \ 305 debug.h 306 read.o : \ 307 read.c make.h config.h \ 308 getopt.h \ 309 gettext.h \ 310 dep.h filedef.h hash.h \ 311 job.h commands.h \ 312 variable.h rule.h debug.h 313 remake.o : \ 314 remake.c make.h config.h \ 315 getopt.h \ 316 gettext.h filedef.h \ 317 hash.h job.h \ 318 commands.h dep.h variable.h debug.h 270 271 # .deps/getopt.Po 272 getopt.o getopt.o: getopt.c config.h \ 273 274 # .deps/getopt1.Po 275 getopt1.o getopt1.o: getopt1.c config.h getopt.h \ 276 277 # .deps/hash.Po 278 hash.o hash.o: hash.c make.h config.h \ 279 getopt.h \ 280 gettext.h hash.h 281 282 # .deps/implicit.Po 283 implicit.o implicit.o: implicit.c make.h config.h \ 284 getopt.h \ 285 gettext.h filedef.h hash.h rule.h dep.h debug.h \ 286 variable.h job.h \ 287 commands.h 288 289 # .deps/job.Po 290 job.o job.o: job.c make.h config.h \ 291 getopt.h \ 292 gettext.h job.h \ 293 debug.h filedef.h hash.h \ 294 commands.h variable.h \ 295 296 # .deps/loadavg-getloadavg.Po 297 loadavg-getloadavg.o loadavg-getloadavg.o: getloadavg.c config.h \ 298 make.h \ 299 getopt.h \ 300 gettext.h \ 301 302 # .deps/main.Po 303 main.o main.o: main.c make.h config.h \ 304 getopt.h \ 305 gettext.h dep.h filedef.h hash.h variable.h \ 306 job.h commands.h rule.h \ 307 debug.h getopt.h \ 308 309 # .deps/misc.Po 310 misc.o misc.o: misc.c make.h config.h \ 311 getopt.h \ 312 gettext.h dep.h debug.h 313 314 # .deps/read.Po 315 read.o read.o: read.c make.h config.h \ 316 getopt.h \ 317 gettext.h \ 318 dep.h filedef.h hash.h job.h \ 319 commands.h variable.h rule.h debug.h \ 320 321 # .deps/remake.Po 322 remake.o remake.o: remake.c make.h config.h \ 323 getopt.h \ 324 gettext.h filedef.h hash.h job.h \ 325 commands.h dep.h \ 326 variable.h debug.h 327 328 # .deps/remote-cstms.Po 319 329 # dummy 320 remote-stub.o : \ 321 remote-stub.c make.h config.h \ 322 getopt.h \ 323 gettext.h filedef.h \ 324 hash.h job.h \ 325 commands.h 326 rule.o : \ 327 rule.c make.h config.h \ 328 getopt.h \ 329 gettext.h dep.h \ 330 filedef.h hash.h job.h \ 331 commands.h variable.h rule.h 332 signame.o : \ 333 signame.c make.h config.h \ 334 getopt.h \ 335 gettext.h 336 variable.o : \ 337 variable.c make.h config.h \ 338 getopt.h \ 339 gettext.h dep.h \ 340 filedef.h hash.h job.h \ 341 commands.h variable.h rule.h 342 version.o : \ 343 version.c config.h 344 vpath.o : \ 345 vpath.c make.h config.h \ 346 getopt.h \ 347 gettext.h filedef.h \ 348 hash.h variable.h 330 331 # .deps/remote-stub.Po 332 remote-stub.o remote-stub.o: remote-stub.c make.h config.h \ 333 getopt.h \ 334 gettext.h filedef.h hash.h job.h \ 335 commands.h 336 337 # .deps/rule.Po 338 rule.o rule.o: rule.c make.h config.h \ 339 getopt.h \ 340 gettext.h dep.h filedef.h hash.h job.h \ 341 commands.h variable.h \ 342 rule.h 343 344 # .deps/signame.Po 345 signame.o signame.o: signame.c make.h config.h \ 346 getopt.h \ 347 gettext.h 348 349 # .deps/strcache.Po 350 strcache.o strcache.o: strcache.c make.h config.h \ 351 getopt.h \ 352 gettext.h hash.h 353 354 # .deps/variable.Po 355 variable.o variable.o: variable.c make.h config.h \ 356 getopt.h \ 357 gettext.h dep.h filedef.h \ 358 hash.h job.h commands.h \ 359 variable.h rule.h 360 361 # .deps/version.Po 362 version.o version.o: version.c config.h 363 364 # .deps/vmsjobs.Po 365 # dummy 366 367 # .deps/vpath.Po 368 vpath.o vpath.o: vpath.c make.h config.h \ 369 getopt.h \ 370 gettext.h filedef.h hash.h variable.h -
vendor/gnumake/current/acinclude.m4
r149 r501 2 2 dnl 3 3 dnl Automake will incorporate this into its generated aclocal.m4. 4 dnl Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 5 dnl Free Software Foundation, Inc. 6 dnl This file is part of GNU Make. 7 dnl 8 dnl GNU Make is free software; you can redistribute it and/or modify it 9 dnl under the terms of the GNU General Public License as published by 10 dnl the Free Software Foundation; either version 2, or (at your option) 11 dnl any later version. 12 dnl 13 dnl GNU Make is distributed in the hope that it will be useful, but 14 dnl WITHOUT ANY WARRANTY; without even the implied warranty of 15 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 dnl General Public License for more details. 17 dnl 18 dnl You should have received a copy of the GNU General Public License 19 dnl along with GNU Make; see the file COPYING. If not, write to the 20 dnl Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, 21 dnl MA 02110-1301 USA. 22 4 23 5 24 dnl --------------------------------------------------------------------------- -
vendor/gnumake/current/aclocal.m4
r149 r501 1 # generated automatically by aclocal 1. 8.2-*- Autoconf -*-2 3 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 4 # Free Software Foundation, Inc.1 # generated automatically by aclocal 1.9.6 -*- Autoconf -*- 2 3 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 4 # 2005 Free Software Foundation, Inc. 5 5 # This file is free software; the Free Software Foundation 6 6 # gives unlimited permission to copy and/or distribute it, … … 12 12 # PARTICULAR PURPOSE. 13 13 14 # -*- Autoconf -*- 15 # Copyright (C) 2002, 2003 Free Software Foundation, Inc. 16 # Generated from amversion.in; do not edit by hand. 17 18 # This program is free software; you can redistribute it and/or modify 19 # it under the terms of the GNU General Public License as published by 20 # the Free Software Foundation; either version 2, or (at your option) 21 # any later version. 22 23 # This program is distributed in the hope that it will be useful, 24 # but WITHOUT ANY WARRANTY; without even the implied warranty of 25 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 26 # GNU General Public License for more details. 27 28 # You should have received a copy of the GNU General Public License 29 # along with this program; if not, write to the Free Software 30 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 14 # Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. 15 # 16 # This file is free software; the Free Software Foundation 17 # gives unlimited permission to copy and/or distribute it, 18 # with or without modifications, as long as this notice is preserved. 31 19 32 20 # AM_AUTOMAKE_VERSION(VERSION) … … 34 22 # Automake X.Y traces this macro to ensure aclocal.m4 has been 35 23 # generated from the m4 files accompanying Automake X.Y. 36 AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1. 8"])24 AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) 37 25 38 26 # AM_SET_CURRENT_AUTOMAKE_VERSION … … 41 29 # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. 42 30 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], 43 [AM_AUTOMAKE_VERSION([1.8.2])]) 44 45 # AM_AUX_DIR_EXPAND 46 47 # Copyright (C) 2001, 2003 Free Software Foundation, Inc. 48 49 # This program is free software; you can redistribute it and/or modify 50 # it under the terms of the GNU General Public License as published by 51 # the Free Software Foundation; either version 2, or (at your option) 52 # any later version. 53 54 # This program is distributed in the hope that it will be useful, 55 # but WITHOUT ANY WARRANTY; without even the implied warranty of 56 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 57 # GNU General Public License for more details. 58 59 # You should have received a copy of the GNU General Public License 60 # along with this program; if not, write to the Free Software 61 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 62 # 02111-1307, USA. 31 [AM_AUTOMAKE_VERSION([1.9.6])]) 32 33 # AM_AUX_DIR_EXPAND -*- Autoconf -*- 34 35 # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. 36 # 37 # This file is free software; the Free Software Foundation 38 # gives unlimited permission to copy and/or distribute it, 39 # with or without modifications, as long as this notice is preserved. 63 40 64 41 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets … … 107 84 ]) 108 85 109 # AM_CONDITIONAL -*- Autoconf -*- 110 111 # Copyright (C) 1997, 2000, 2001, 2003 Free Software Foundation, Inc. 112 113 # This program is free software; you can redistribute it and/or modify 114 # it under the terms of the GNU General Public License as published by 115 # the Free Software Foundation; either version 2, or (at your option) 116 # any later version. 117 118 # This program is distributed in the hope that it will be useful, 119 # but WITHOUT ANY WARRANTY; without even the implied warranty of 120 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 121 # GNU General Public License for more details. 122 123 # You should have received a copy of the GNU General Public License 124 # along with this program; if not, write to the Free Software 125 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 126 # 02111-1307, USA. 127 128 # serial 6 86 # AM_CONDITIONAL -*- Autoconf -*- 87 88 # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 89 # Free Software Foundation, Inc. 90 # 91 # This file is free software; the Free Software Foundation 92 # gives unlimited permission to copy and/or distribute it, 93 # with or without modifications, as long as this notice is preserved. 94 95 # serial 7 129 96 130 97 # AM_CONDITIONAL(NAME, SHELL-CONDITION) … … 146 113 AC_CONFIG_COMMANDS_PRE( 147 114 [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then 148 AC_MSG_ERROR([ conditional "$1" was never defined.149 Usually this means the macro was only invoked conditionally.] )115 AC_MSG_ERROR([[conditional "$1" was never defined. 116 Usually this means the macro was only invoked conditionally.]]) 150 117 fi])]) 151 118 152 # serial 6 -*- Autoconf -*- 153 154 # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 119 120 # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 155 121 # Free Software Foundation, Inc. 156 157 # This program is free software; you can redistribute it and/or modify 158 # it under the terms of the GNU General Public License as published by 159 # the Free Software Foundation; either version 2, or (at your option) 160 # any later version. 161 162 # This program is distributed in the hope that it will be useful, 163 # but WITHOUT ANY WARRANTY; without even the implied warranty of 164 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 165 # GNU General Public License for more details. 166 167 # You should have received a copy of the GNU General Public License 168 # along with this program; if not, write to the Free Software 169 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 170 # 02111-1307, USA. 171 122 # 123 # This file is free software; the Free Software Foundation 124 # gives unlimited permission to copy and/or distribute it, 125 # with or without modifications, as long as this notice is preserved. 126 127 # serial 8 172 128 173 129 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be … … 176 132 # C support machinery. Also note that it means that autoscan, seeing 177 133 # CC etc. in the Makefile, will ask for an AC_PROG_CC use... 178 179 134 180 135 … … 237 192 for i in 1 2 3 4 5 6; do 238 193 echo '#include "conftst'$i'.h"' >> sub/conftest.c 239 : > sub/conftst$i.h 194 # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with 195 # Solaris 8's {/usr,}/bin/sh. 196 touch sub/conftst$i.h 240 197 done 241 198 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf … … 265 222 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then 266 223 # icc doesn't choke on unknown options, it will just issue warnings 267 # (even with -Werror). So we grep stderr for any message 268 # that says an option was ignored. 269 if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else 224 # or remarks (even with -Werror). So we grep stderr for any message 225 # that says an option was ignored or not supported. 226 # When given -MP, icc 7.0 and 7.1 complain thusly: 227 # icc: Command line warning: ignoring option '-M'; no argument required 228 # The diagnosis changed in icc 8.0: 229 # icc: Command line remark: option '-MP' not supported 230 if (grep 'ignoring option' conftest.err || 231 grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else 270 232 am_cv_$1_dependencies_compiler_type=$depmode 271 233 break … … 311 273 ]) 312 274 313 # Generate code to set up dependency tracking. -*- Autoconf -*- 314 315 # Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. 316 317 # This program is free software; you can redistribute it and/or modify 318 # it under the terms of the GNU General Public License as published by 319 # the Free Software Foundation; either version 2, or (at your option) 320 # any later version. 321 322 # This program is distributed in the hope that it will be useful, 323 # but WITHOUT ANY WARRANTY; without even the implied warranty of 324 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 325 # GNU General Public License for more details. 326 327 # You should have received a copy of the GNU General Public License 328 # along with this program; if not, write to the Free Software 329 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 330 # 02111-1307, USA. 331 332 #serial 2 275 # Generate code to set up dependency tracking. -*- Autoconf -*- 276 277 # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 278 # Free Software Foundation, Inc. 279 # 280 # This file is free software; the Free Software Foundation 281 # gives unlimited permission to copy and/or distribute it, 282 # with or without modifications, as long as this notice is preserved. 283 284 #serial 3 333 285 334 286 # _AM_OUTPUT_DEPENDENCY_COMMANDS … … 349 301 continue 350 302 fi 351 grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue 352 # Extract the definition of DEP_FILES from the Makefile without 353 # running `make'. 354 DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` 303 # Extract the definition of DEPDIR, am__include, and am__quote 304 # from the Makefile without running `make'. 305 DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` 355 306 test -z "$DEPDIR" && continue 307 am__include=`sed -n 's/^am__include = //p' < "$mf"` 308 test -z "am__include" && continue 309 am__quote=`sed -n 's/^am__quote = //p' < "$mf"` 356 310 # When using ansi2knr, U may be empty or an underscore; expand it 357 U=`sed -n -e '/^U = / s///p' < "$mf"` 358 test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" 359 # We invoke sed twice because it is the simplest approach to 360 # changing $(DEPDIR) to its actual value in the expansion. 361 for file in `sed -n -e ' 362 /^DEP_FILES = .*\\\\$/ { 363 s/^DEP_FILES = // 364 :loop 365 s/\\\\$// 366 p 367 n 368 /\\\\$/ b loop 369 p 370 } 371 /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ 311 U=`sed -n 's/^U = //p' < "$mf"` 312 # Find all dependency output files, they are included files with 313 # $(DEPDIR) in their names. We invoke sed twice because it is the 314 # simplest approach to changing $(DEPDIR) to its actual value in the 315 # expansion. 316 for file in `sed -n " 317 s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ 372 318 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do 373 319 # Make sure the directory exists. … … 396 342 397 343 398 # Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003 344 # Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2005 399 345 # Free Software Foundation, Inc. 400 401 # This program is free software; you can redistribute it and/or modify 402 # it under the terms of the GNU General Public License as published by 403 # the Free Software Foundation; either version 2, or (at your option) 404 # any later version. 405 406 # This program is distributed in the hope that it will be useful, 407 # but WITHOUT ANY WARRANTY; without even the implied warranty of 408 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 409 # GNU General Public License for more details. 410 411 # You should have received a copy of the GNU General Public License 412 # along with this program; if not, write to the Free Software 413 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 414 # 02111-1307, USA. 415 416 # serial 2 346 # 347 # This file is free software; the Free Software Foundation 348 # gives unlimited permission to copy and/or distribute it, 349 # with or without modifications, as long as this notice is preserved. 350 351 # serial 3 417 352 418 353 AC_DEFUN([AM_WITH_DMALLOC], … … 434 369 AU_DEFUN([fp_WITH_DMALLOC], [AM_WITH_DMALLOC]) 435 370 436 # Do all the work for Automake. -*- Autoconf -*- 437 438 # This macro actually does too much some checks are only needed if 371 # Do all the work for Automake. -*- Autoconf -*- 372 373 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 374 # Free Software Foundation, Inc. 375 # 376 # This file is free software; the Free Software Foundation 377 # gives unlimited permission to copy and/or distribute it, 378 # with or without modifications, as long as this notice is preserved. 379 380 # serial 12 381 382 # This macro actually does too much. Some checks are only needed if 439 383 # your package does certain things. But this isn't really a big deal. 440 441 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003442 # Free Software Foundation, Inc.443 444 # This program is free software; you can redistribute it and/or modify445 # it under the terms of the GNU General Public License as published by446 # the Free Software Foundation; either version 2, or (at your option)447 # any later version.448 449 # This program is distributed in the hope that it will be useful,450 # but WITHOUT ANY WARRANTY; without even the implied warranty of451 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the452 # GNU General Public License for more details.453 454 # You should have received a copy of the GNU General Public License455 # along with this program; if not, write to the Free Software456 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA457 # 02111-1307, USA.458 459 # serial 11460 384 461 385 # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) … … 515 439 AM_MISSING_PROG(AUTOHEADER, autoheader) 516 440 AM_MISSING_PROG(MAKEINFO, makeinfo) 517 AM_MISSING_PROG(AMTAR, tar)518 441 AM_PROG_INSTALL_SH 519 442 AM_PROG_INSTALL_STRIP … … 524 447 AC_REQUIRE([AC_PROG_MAKE_SET])dnl 525 448 AC_REQUIRE([AM_SET_LEADING_DOT])dnl 526 449 _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], 450 [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], 451 [_AM_PROG_TAR([v7])])]) 527 452 _AM_IF_OPTION([no-dependencies],, 528 453 [AC_PROVIDE_IFELSE([AC_PROG_CC], … … 558 483 echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) 559 484 485 # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. 486 # 487 # This file is free software; the Free Software Foundation 488 # gives unlimited permission to copy and/or distribute it, 489 # with or without modifications, as long as this notice is preserved. 490 560 491 # AM_PROG_INSTALL_SH 561 492 # ------------------ 562 493 # Define $install_sh. 563 564 # Copyright (C) 2001, 2003 Free Software Foundation, Inc.565 566 # This program is free software; you can redistribute it and/or modify567 # it under the terms of the GNU General Public License as published by568 # the Free Software Foundation; either version 2, or (at your option)569 # any later version.570 571 # This program is distributed in the hope that it will be useful,572 # but WITHOUT ANY WARRANTY; without even the implied warranty of573 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the574 # GNU General Public License for more details.575 576 # You should have received a copy of the GNU General Public License577 # along with this program; if not, write to the Free Software578 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA579 # 02111-1307, USA.580 581 494 AC_DEFUN([AM_PROG_INSTALL_SH], 582 495 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl … … 584 497 AC_SUBST(install_sh)]) 585 498 586 # -*- Autoconf -*- 587 # Copyright (C) 2003 Free Software Foundation, Inc. 588 589 # This program is free software; you can redistribute it and/or modify 590 # it under the terms of the GNU General Public License as published by 591 # the Free Software Foundation; either version 2, or (at your option) 592 # any later version. 593 594 # This program is distributed in the hope that it will be useful, 595 # but WITHOUT ANY WARRANTY; without even the implied warranty of 596 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 597 # GNU General Public License for more details. 598 599 # You should have received a copy of the GNU General Public License 600 # along with this program; if not, write to the Free Software 601 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 602 # 02111-1307, USA. 603 604 # serial 1 499 # Copyright (C) 2003, 2005 Free Software Foundation, Inc. 500 # 501 # This file is free software; the Free Software Foundation 502 # gives unlimited permission to copy and/or distribute it, 503 # with or without modifications, as long as this notice is preserved. 504 505 # serial 2 605 506 606 507 # Check whether the underlying file-system supports filenames … … 617 518 AC_SUBST([am__leading_dot])]) 618 519 619 # Check to see how 'make' treats includes. -*- Autoconf -*- 620 621 # Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. 622 623 # This program is free software; you can redistribute it and/or modify 624 # it under the terms of the GNU General Public License as published by 625 # the Free Software Foundation; either version 2, or (at your option) 626 # any later version. 627 628 # This program is distributed in the hope that it will be useful, 629 # but WITHOUT ANY WARRANTY; without even the implied warranty of 630 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 631 # GNU General Public License for more details. 632 633 # You should have received a copy of the GNU General Public License 634 # along with this program; if not, write to the Free Software 635 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 636 # 02111-1307, USA. 637 638 # serial 2 520 # Check to see how 'make' treats includes. -*- Autoconf -*- 521 522 # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. 523 # 524 # This file is free software; the Free Software Foundation 525 # gives unlimited permission to copy and/or distribute it, 526 # with or without modifications, as long as this notice is preserved. 527 528 # serial 3 639 529 640 530 # AM_MAKE_INCLUDE() … … 680 570 ]) 681 571 682 # serial 2 572 # Copyright (C) 1999, 2000, 2001, 2003, 2005 Free Software Foundation, Inc. 573 # 574 # This file is free software; the Free Software Foundation 575 # gives unlimited permission to copy and/or distribute it, 576 # with or without modifications, as long as this notice is preserved. 577 578 # serial 3 683 579 684 580 # AM_PROG_CC_C_O 685 581 # -------------- 686 582 # Like AC_PROG_CC_C_O, but changed for automake. 687 688 # Copyright (C) 1999, 2000, 2001, 2003 Free Software Foundation, Inc.689 690 # This program is free software; you can redistribute it and/or modify691 # it under the terms of the GNU General Public License as published by692 # the Free Software Foundation; either version 2, or (at your option)693 # any later version.694 695 # This program is distributed in the hope that it will be useful,696 # but WITHOUT ANY WARRANTY; without even the implied warranty of697 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the698 # GNU General Public License for more details.699 700 # You should have received a copy of the GNU General Public License701 # along with this program; if not, write to the Free Software702 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA703 # 02111-1307, USA.704 705 583 AC_DEFUN([AM_PROG_CC_C_O], 706 584 [AC_REQUIRE([AC_PROG_CC_C_O])dnl … … 720 598 ]) 721 599 722 # -*- Autoconf -*- 723 724 725 # Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. 726 727 # This program is free software; you can redistribute it and/or modify 728 # it under the terms of the GNU General Public License as published by 729 # the Free Software Foundation; either version 2, or (at your option) 730 # any later version. 731 732 # This program is distributed in the hope that it will be useful, 733 # but WITHOUT ANY WARRANTY; without even the implied warranty of 734 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 735 # GNU General Public License for more details. 736 737 # You should have received a copy of the GNU General Public License 738 # along with this program; if not, write to the Free Software 739 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 740 # 02111-1307, USA. 741 742 # serial 3 600 # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- 601 602 # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005 603 # Free Software Foundation, Inc. 604 # 605 # This file is free software; the Free Software Foundation 606 # gives unlimited permission to copy and/or distribute it, 607 # with or without modifications, as long as this notice is preserved. 608 609 # serial 4 743 610 744 611 # AM_MISSING_PROG(NAME, PROGRAM) … … 766 633 ]) 767 634 635 # Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. 636 # 637 # This file is free software; the Free Software Foundation 638 # gives unlimited permission to copy and/or distribute it, 639 # with or without modifications, as long as this notice is preserved. 640 768 641 # AM_PROG_MKDIR_P 769 642 # --------------- 770 643 # Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. 771 772 # Copyright (C) 2003, 2004 Free Software Foundation, Inc. 773 774 # This program is free software; you can redistribute it and/or modify 775 # it under the terms of the GNU General Public License as published by 776 # the Free Software Foundation; either version 2, or (at your option) 777 # any later version. 778 779 # This program is distributed in the hope that it will be useful, 780 # but WITHOUT ANY WARRANTY; without even the implied warranty of 781 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 782 # GNU General Public License for more details. 783 784 # You should have received a copy of the GNU General Public License 785 # along with this program; if not, write to the Free Software 786 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 787 # 02111-1307, USA. 788 644 # 789 645 # Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories 790 646 # created by `make install' are always world readable, even if the … … 797 653 # Do not use -m 0755 and let people choose whatever they expect by 798 654 # setting umask. 655 # 656 # We cannot accept any implementation of `mkdir' that recognizes `-p'. 657 # Some implementations (such as Solaris 8's) are not thread-safe: if a 658 # parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' 659 # concurrently, both version can detect that a/ is missing, but only 660 # one can create it and the other will error out. Consequently we 661 # restrict ourselves to GNU make (using the --version option ensures 662 # this.) 799 663 AC_DEFUN([AM_PROG_MKDIR_P], 800 [if mkdir -p -- . 2>/dev/null; then801 # Keeping the `.' argument allows $(mkdir_p) to be used without802 # a rgument. Indeed, we sometimes output rules like664 [if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then 665 # We used to keeping the `.' as first argument, in order to 666 # allow $(mkdir_p) to be used without argument. As in 803 667 # $(mkdir_p) $(somedir) 804 # where $(somedir) is conditionally defined. 805 # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more 806 # expensive solution, as it forces Make to start a sub-shell.) 807 mkdir_p='mkdir -p -- .' 668 # where $(somedir) is conditionally defined. However this is wrong 669 # for two reasons: 670 # 1. if the package is installed by a user who cannot write `.' 671 # make install will fail, 672 # 2. the above comment should most certainly read 673 # $(mkdir_p) $(DESTDIR)$(somedir) 674 # so it does not work when $(somedir) is undefined and 675 # $(DESTDIR) is not. 676 # To support the latter case, we have to write 677 # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), 678 # so the `.' trick is pointless. 679 mkdir_p='mkdir -p --' 808 680 else 809 681 # On NextStep and OpenStep, the `mkdir' command does not … … 811 683 # directories to create, and then abort because `.' already 812 684 # exists. 813 for d in ./-p ./-- ;685 for d in ./-p ./--version; 814 686 do 815 687 test -d $d && rmdir $d … … 824 696 AC_SUBST([mkdir_p])]) 825 697 826 # Helper functions for option handling. -*- Autoconf -*- 827 828 # Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. 829 830 # This program is free software; you can redistribute it and/or modify 831 # it under the terms of the GNU General Public License as published by 832 # the Free Software Foundation; either version 2, or (at your option) 833 # any later version. 834 835 # This program is distributed in the hope that it will be useful, 836 # but WITHOUT ANY WARRANTY; without even the implied warranty of 837 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 838 # GNU General Public License for more details. 839 840 # You should have received a copy of the GNU General Public License 841 # along with this program; if not, write to the Free Software 842 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 843 # 02111-1307, USA. 844 845 # serial 2 698 # Helper functions for option handling. -*- Autoconf -*- 699 700 # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. 701 # 702 # This file is free software; the Free Software Foundation 703 # gives unlimited permission to copy and/or distribute it, 704 # with or without modifications, as long as this notice is preserved. 705 706 # serial 3 846 707 847 708 # _AM_MANGLE_OPTION(NAME) … … 868 729 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) 869 730 870 871 # Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003 731 # Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2005 872 732 # Free Software Foundation, Inc. 873 874 # This program is free software; you can redistribute it and/or modify 875 # it under the terms of the GNU General Public License as published by 876 # the Free Software Foundation; either version 2, or (at your option) 877 # any later version. 878 879 # This program is distributed in the hope that it will be useful, 880 # but WITHOUT ANY WARRANTY; without even the implied warranty of 881 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 882 # GNU General Public License for more details. 883 884 # You should have received a copy of the GNU General Public License 885 # along with this program; if not, write to the Free Software 886 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 887 # 02111-1307, USA. 888 889 # serial 3 733 # 734 # This file is free software; the Free Software Foundation 735 # gives unlimited permission to copy and/or distribute it, 736 # with or without modifications, as long as this notice is preserved. 737 738 # serial 4 890 739 891 740 AC_DEFUN([AM_C_PROTOTYPES], … … 905 754 AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES]) 906 755 907 # 908 # Check to make sure that the build environment is sane. 909 # 910 911 # Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. 912 913 # This program is free software; you can redistribute it and/or modify 914 # it under the terms of the GNU General Public License as published by 915 # the Free Software Foundation; either version 2, or (at your option) 916 # any later version. 917 918 # This program is distributed in the hope that it will be useful, 919 # but WITHOUT ANY WARRANTY; without even the implied warranty of 920 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 921 # GNU General Public License for more details. 922 923 # You should have received a copy of the GNU General Public License 924 # along with this program; if not, write to the Free Software 925 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 926 # 02111-1307, USA. 927 928 # serial 3 756 # Check to make sure that the build environment is sane. -*- Autoconf -*- 757 758 # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 759 # Free Software Foundation, Inc. 760 # 761 # This file is free software; the Free Software Foundation 762 # gives unlimited permission to copy and/or distribute it, 763 # with or without modifications, as long as this notice is preserved. 764 765 # serial 4 929 766 930 767 # AM_SANITY_CHECK … … 969 806 AC_MSG_RESULT(yes)]) 970 807 808 # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. 809 # 810 # This file is free software; the Free Software Foundation 811 # gives unlimited permission to copy and/or distribute it, 812 # with or without modifications, as long as this notice is preserved. 813 971 814 # AM_PROG_INSTALL_STRIP 972 973 # Copyright (C) 2001, 2003 Free Software Foundation, Inc. 974 975 # This program is free software; you can redistribute it and/or modify 976 # it under the terms of the GNU General Public License as published by 977 # the Free Software Foundation; either version 2, or (at your option) 978 # any later version. 979 980 # This program is distributed in the hope that it will be useful, 981 # but WITHOUT ANY WARRANTY; without even the implied warranty of 982 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 983 # GNU General Public License for more details. 984 985 # You should have received a copy of the GNU General Public License 986 # along with this program; if not, write to the Free Software 987 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 988 # 02111-1307, USA. 989 815 # --------------------- 990 816 # One issue with vendor `install' (even GNU) is that you can't 991 817 # specify the program used to strip binaries. This is especially … … 1008 834 AC_SUBST([INSTALL_STRIP_PROGRAM])]) 1009 835 836 # Check how to create a tarball. -*- Autoconf -*- 837 838 # Copyright (C) 2004, 2005 Free Software Foundation, Inc. 839 # 840 # This file is free software; the Free Software Foundation 841 # gives unlimited permission to copy and/or distribute it, 842 # with or without modifications, as long as this notice is preserved. 843 844 # serial 2 845 846 # _AM_PROG_TAR(FORMAT) 847 # -------------------- 848 # Check how to create a tarball in format FORMAT. 849 # FORMAT should be one of `v7', `ustar', or `pax'. 850 # 851 # Substitute a variable $(am__tar) that is a command 852 # writing to stdout a FORMAT-tarball containing the directory 853 # $tardir. 854 # tardir=directory && $(am__tar) > result.tar 855 # 856 # Substitute a variable $(am__untar) that extract such 857 # a tarball read from stdin. 858 # $(am__untar) < result.tar 859 AC_DEFUN([_AM_PROG_TAR], 860 [# Always define AMTAR for backward compatibility. 861 AM_MISSING_PROG([AMTAR], [tar]) 862 m4_if([$1], [v7], 863 [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], 864 [m4_case([$1], [ustar],, [pax],, 865 [m4_fatal([Unknown tar format])]) 866 AC_MSG_CHECKING([how to create a $1 tar archive]) 867 # Loop over all known methods to create a tar archive until one works. 868 _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' 869 _am_tools=${am_cv_prog_tar_$1-$_am_tools} 870 # Do not fold the above two line into one, because Tru64 sh and 871 # Solaris sh will not grok spaces in the rhs of `-'. 872 for _am_tool in $_am_tools 873 do 874 case $_am_tool in 875 gnutar) 876 for _am_tar in tar gnutar gtar; 877 do 878 AM_RUN_LOG([$_am_tar --version]) && break 879 done 880 am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' 881 am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' 882 am__untar="$_am_tar -xf -" 883 ;; 884 plaintar) 885 # Must skip GNU tar: if it does not support --format= it doesn't create 886 # ustar tarball either. 887 (tar --version) >/dev/null 2>&1 && continue 888 am__tar='tar chf - "$$tardir"' 889 am__tar_='tar chf - "$tardir"' 890 am__untar='tar xf -' 891 ;; 892 pax) 893 am__tar='pax -L -x $1 -w "$$tardir"' 894 am__tar_='pax -L -x $1 -w "$tardir"' 895 am__untar='pax -r' 896 ;; 897 cpio) 898 am__tar='find "$$tardir" -print | cpio -o -H $1 -L' 899 am__tar_='find "$tardir" -print | cpio -o -H $1 -L' 900 am__untar='cpio -i -H $1 -d' 901 ;; 902 none) 903 am__tar=false 904 am__tar_=false 905 am__untar=false 906 ;; 907 esac 908 909 # If the value was cached, stop now. We just wanted to have am__tar 910 # and am__untar set. 911 test -n "${am_cv_prog_tar_$1}" && break 912 913 # tar/untar a dummy directory, and stop if the command works 914 rm -rf conftest.dir 915 mkdir conftest.dir 916 echo GrepMe > conftest.dir/file 917 AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) 918 rm -rf conftest.dir 919 if test -s conftest.tar; then 920 AM_RUN_LOG([$am__untar <conftest.tar]) 921 grep GrepMe conftest.dir/file >/dev/null 2>&1 && break 922 fi 923 done 924 rm -rf conftest.dir 925 926 AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) 927 AC_MSG_RESULT([$am_cv_prog_tar_$1])]) 928 AC_SUBST([am__tar]) 929 AC_SUBST([am__untar]) 930 ]) # _AM_PROG_TAR 931 1010 932 m4_include([config/dospaths.m4]) 1011 933 m4_include([config/gettext.m4]) -
vendor/gnumake/current/amiga.c
r54 r501 1 1 /* Running commands on Amiga 2 Copyright (C) 1995, 1996 Free Software Foundation, Inc. 2 Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 3 2005, 2006 Free Software Foundation, Inc. 3 4 This file is part of GNU Make. 4 5 5 GNU Make is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2, or (at your option) 8 any later version. 6 GNU Make is free software; you can redistribute it and/or modify it under the 7 terms of the GNU General Public License as published by the Free Software 8 Foundation; either version 2, or (at your option) any later version. 9 9 10 GNU Make is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 10 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 13 15 You should have received a copy of the GNU General Public License 16 along with GNU Make; see the file COPYING. If not, write to 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 18 MA 02111-1307, USA. */ 14 You should have received a copy of the GNU General Public License along with 15 GNU Make; see the file COPYING. If not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 19 17 20 18 #include "make.h" -
vendor/gnumake/current/amiga.h
r54 r501 1 1 /* Definitions for amiga specific things 2 Copyright (C) 1995, 1996 Free Software Foundation, Inc. 2 Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 3 2005, 2006 Free Software Foundation, Inc. 3 4 This file is part of GNU Make. 4 5 5 GNU Make is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2, or (at your option) 8 any later version. 6 GNU Make is free software; you can redistribute it and/or modify it under the 7 terms of the GNU General Public License as published by the Free Software 8 Foundation; either version 2, or (at your option) any later version. 9 9 10 GNU Make is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 10 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 13 15 You should have received a copy of the GNU General Public License 16 along with GNU Make; see the file COPYING. If not, write to 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 18 MA 02111-1307, USA. */ 14 You should have received a copy of the GNU General Public License along with 15 GNU Make; see the file COPYING. If not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 19 17 20 18 extern int MyExecute PARAMS ((char ** argv)); -
vendor/gnumake/current/ar.c
r153 r501 1 1 /* Interface to `ar' archives for GNU Make. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1997, 3 2002 Free Software Foundation, Inc. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 4 5 This file is part of GNU Make. 5 6 6 GNU Make is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2, or (at your option) 9 any later version. 10 11 GNU Make is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with GNU Make; see the file COPYING. If not, write to 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 Boston, MA 02111-1307, USA. */ 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 20 18 21 19 #include "make.h" -
vendor/gnumake/current/arscan.c
r153 r501 1 1 /* Library function for scanning an archive file. 2 Copyright (C) 1987, 89,91,92,93,94,95,97 Free Software Foundation, Inc.3 4 This program is free software; you can redistribute it and/or modify 5 it under the terms of the GNU General Public License as published by 6 the Free Software Foundation; either version 2, or (at your option) 7 any later version. 8 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License 15 along with this program; if not, write to the Free Software 16 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 17 USA. */2 Copyright (C) 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, 4 Inc. 5 This file is part of GNU Make. 6 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 18 18 19 19 #include "make.h" -
vendor/gnumake/current/build.sh.in
-
Property svn:executable
set to
*
r152 r501 3 3 # @configure_input@ 4 4 5 # Copyright (C) 1993, 1994, 1997, 2003 Free Software Foundation, Inc. 5 # Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 6 # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 6 7 # This file is part of GNU Make. 7 8 # 8 # GNU Make is free software; you can redistribute it and/or modify 9 # it under the terms of the GNU General Public License as published by 10 # the Free Software Foundation; either version 2, or (at your option) 11 # any later version. 9 # GNU Make is free software; you can redistribute it and/or modify it under the 10 # terms of the GNU General Public License as published by the Free Software 11 # Foundation; either version 2, or (at your option) any later version. 12 12 # 13 # GNU Make is distributed in the hope that it will be useful, 14 # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 # GNU General Public License for more details. 13 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 14 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 15 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 17 16 # 18 # You should have received a copy of the GNU General Public License 19 # along with GNU Make; see the file COPYING. If not, write to 20 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 21 # Boston, MA 02111-1307, USA. 17 # You should have received a copy of the GNU General Public License along with 18 # GNU Make; see the file COPYING. If not, write to the Free Software 19 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 22 20 23 21 # See Makefile.in for comments describing these variables. … … 29 27 LDFLAGS='@LDFLAGS@' 30 28 ALLOCA='@ALLOCA@' 31 LOADLIBES='@LIBS@ '29 LOADLIBES='@LIBS@ @LIBINTL@' 32 30 eval extras=\'@LIBOBJS@\' 33 31 REMOTE='@REMOTE@' … … 55 53 56 54 # These are all the objects we need to link together. 57 objs="ar.${OBJEXT} arscan.${OBJEXT} commands.${OBJEXT} default.${OBJEXT} dir.${OBJEXT} expand.${OBJEXT} file.${OBJEXT} function.${OBJEXT} getopt.${OBJEXT} getopt1.${OBJEXT} implicit.${OBJEXT} job.${OBJEXT} main.${OBJEXT} misc.${OBJEXT} read.${OBJEXT} remake.${OBJEXT} rule.${OBJEXT} signame.${OBJEXT} variable.${OBJEXT} version.${OBJEXT} vpath.${OBJEXT} hash.${OBJEXT} remote-${REMOTE}.${OBJEXT} ${extras} ${ALLOCA}"55 objs="ar.${OBJEXT} arscan.${OBJEXT} commands.${OBJEXT} default.${OBJEXT} dir.${OBJEXT} expand.${OBJEXT} file.${OBJEXT} function.${OBJEXT} getopt.${OBJEXT} getopt1.${OBJEXT} implicit.${OBJEXT} job.${OBJEXT} main.${OBJEXT} misc.${OBJEXT} read.${OBJEXT} remake.${OBJEXT} rule.${OBJEXT} signame.${OBJEXT} strcache.${OBJEXT} variable.${OBJEXT} version.${OBJEXT} vpath.${OBJEXT} hash.${OBJEXT} remote-${REMOTE}.${OBJEXT} ${extras} ${ALLOCA}" 58 56 59 57 if [ x"$GLOBLIB" != x ]; then 60 objs="$objs glob/fnmatch.${OBJEXT} glob/glob.${OBJEXT} )"58 objs="$objs glob/fnmatch.${OBJEXT} glob/glob.${OBJEXT}" 61 59 globinc=-I${srcdir}/glob 62 60 fi … … 79 77 # Link all the objects together. 80 78 echo linking make... 81 $CC $ LDFLAGS $objs $LOADLIBES -o makenew${EXEEXT}79 $CC $CFLAGS $LDFLAGS $objs $LOADLIBES -o makenew${EXEEXT} 82 80 echo done 83 81 mv -f makenew${EXEEXT} make${EXEEXT} -
Property svn:executable
set to
-
vendor/gnumake/current/build_w32.bat
r153 r501 1 set make=gnumake 1 @echo off 2 rem Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 3 rem 2006 Free Software Foundation, Inc. 4 rem This file is part of GNU Make. 5 6 rem GNU Make is free software; you can redistribute it and/or modify it under the 7 rem terms of the GNU General Public License as published by the Free Software 8 rem Foundation; either version 2, or (at your option) any later version. 9 10 rem GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 rem WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 rem A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 14 rem You should have received a copy of the GNU General Public License along with 15 rem GNU Make; see the file COPYING. If not, write to the Free Software 16 rem Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 17 2 18 if not exist config.h copy config.h.W32 config.h 3 19 cd w32\subproc 4 20 echo "Creating the subproc library" 5 %ComSpec% /c build.bat 21 %ComSpec% /c build.bat %1 6 22 cd ..\.. 7 del link.dbg link.rel 8 del config.h 9 copy config.h.W32 config.h 10 echo off 11 echo "Creating GNU make for Windows 95/NT" 23 24 if exist link.dbg del link.dbg 25 if exist link.rel del link.rel 26 echo "Creating GNU Make for Windows 9X/NT/2K/XP" 27 if "%1" == "gcc" GoTo GCCBuild 28 set make=gnumake 12 29 echo on 13 30 if not exist .\WinDebug\nul mkdir .\WinDebug 14 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D TIVOLI /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c variable.c31 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D TIVOLI /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c variable.c 15 32 echo WinDebug\variable.obj >>link.dbg 16 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c rule.c33 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c rule.c 17 34 echo WinDebug\rule.obj >>link.dbg 18 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c remote-stub.c35 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c remote-stub.c 19 36 echo WinDebug\remote-stub.obj >>link.dbg 20 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c commands.c37 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c commands.c 21 38 echo WinDebug\commands.obj >>link.dbg 22 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c file.c39 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c file.c 23 40 echo WinDebug\file.obj >>link.dbg 24 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c getloadavg.c41 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c getloadavg.c 25 42 echo WinDebug\getloadavg.obj >>link.dbg 26 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c default.c43 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c default.c 27 44 echo WinDebug\default.obj >>link.dbg 28 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c signame.c45 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c signame.c 29 46 echo WinDebug\signame.obj >>link.dbg 30 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c expand.c47 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c expand.c 31 48 echo WinDebug\expand.obj >>link.dbg 32 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c dir.c49 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c dir.c 33 50 echo WinDebug\dir.obj >>link.dbg 34 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c main.c51 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c main.c 35 52 echo WinDebug\main.obj >>link.dbg 36 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c getopt1.c53 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c getopt1.c 37 54 echo WinDebug\getopt1.obj >>link.dbg 38 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c job.c55 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c job.c 39 56 echo WinDebug\job.obj >>link.dbg 40 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c read.c57 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c read.c 41 58 echo WinDebug\read.obj >>link.dbg 42 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c version.c59 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c version.c 43 60 echo WinDebug\version.obj >>link.dbg 44 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c getopt.c61 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c getopt.c 45 62 echo WinDebug\getopt.obj >>link.dbg 46 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c arscan.c63 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c arscan.c 47 64 echo WinDebug\arscan.obj >>link.dbg 48 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c hash.c65 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c hash.c 49 66 echo WinDebug\hash.obj >>link.dbg 50 cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c remake.c 67 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c strcache.c 68 echo WinDebug\strcache.obj >>link.dbg 69 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c remake.c 51 70 echo WinDebug\remake.obj >>link.dbg 52 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c misc.c71 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c misc.c 53 72 echo WinDebug\misc.obj >>link.dbg 54 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c ar.c73 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c ar.c 55 74 echo WinDebug\ar.obj >>link.dbg 56 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c function.c75 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c function.c 57 76 echo WinDebug\function.obj >>link.dbg 58 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c vpath.c77 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c vpath.c 59 78 echo WinDebug\vpath.obj >>link.dbg 60 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c implicit.c79 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c implicit.c 61 80 echo WinDebug\implicit.obj >>link.dbg 62 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c .\w32\compat\dirent.c81 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c .\w32\compat\dirent.c 63 82 echo WinDebug\dirent.obj >>link.dbg 64 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c .\glob\glob.c83 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c .\glob\glob.c 65 84 echo WinDebug\glob.obj >>link.dbg 66 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c .\glob\fnmatch.c85 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c .\glob\fnmatch.c 67 86 echo WinDebug\fnmatch.obj >>link.dbg 68 cl.exe /nologo /MT /W 3/GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c .\w32\pathstuff.c87 cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c .\w32\pathstuff.c 69 88 echo WinDebug\pathstuff.obj >>link.dbg 70 89 echo off 71 90 echo "Linking WinDebug/%make%.exe" 72 rem link.exe kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib w32\subproc\windebug\subproc.lib /NOLOGO /SUBSYSTEM:console /INCREMENTAL:yes /PDB:.\WinDebug/%make%.pdb /DEBUG /MACHINE:I386 /OUT:.\WinDebug/%make%.exe .\WinDebug/variable.obj .\WinDebug/rule.obj .\WinDebug/remote-stub.obj .\WinDebug/commands.obj .\WinDebug/file.obj .\WinDebug/getloadavg.obj .\WinDebug/default.obj .\WinDebug/signame.obj .\WinDebug/expand.obj .\WinDebug/dir.obj .\WinDebug/main.obj .\WinDebug/getopt1.obj .\WinDebug/job.obj .\WinDebug/read.obj .\WinDebug/version.obj .\WinDebug/getopt.obj .\WinDebug/arscan.obj .\WinDebug/remake.obj .\WinDebug/hash.obj .\WinDebug/ misc.obj .\WinDebug/ar.obj .\WinDebug/function.obj .\WinDebug/vpath.obj .\WinDebug/implicit.obj .\WinDebug/dirent.obj .\WinDebug/glob.obj .\WinDebug/fnmatch.obj .\WinDebug/pathstuff.obj91 rem link.exe kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib w32\subproc\windebug\subproc.lib /NOLOGO /SUBSYSTEM:console /INCREMENTAL:yes /PDB:.\WinDebug/%make%.pdb /DEBUG /MACHINE:I386 /OUT:.\WinDebug/%make%.exe .\WinDebug/variable.obj .\WinDebug/rule.obj .\WinDebug/remote-stub.obj .\WinDebug/commands.obj .\WinDebug/file.obj .\WinDebug/getloadavg.obj .\WinDebug/default.obj .\WinDebug/signame.obj .\WinDebug/expand.obj .\WinDebug/dir.obj .\WinDebug/main.obj .\WinDebug/getopt1.obj .\WinDebug/job.obj .\WinDebug/read.obj .\WinDebug/version.obj .\WinDebug/getopt.obj .\WinDebug/arscan.obj .\WinDebug/remake.obj .\WinDebug/hash.obj .\WinDebug/strcache.obj .\WinDebug/misc.obj .\WinDebug/ar.obj .\WinDebug/function.obj .\WinDebug/vpath.obj .\WinDebug/implicit.obj .\WinDebug/dirent.obj .\WinDebug/glob.obj .\WinDebug/fnmatch.obj .\WinDebug/pathstuff.obj 73 92 echo kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib w32\subproc\windebug\subproc.lib >>link.dbg 74 93 link.exe /NOLOGO /SUBSYSTEM:console /INCREMENTAL:yes /PDB:.\WinDebug/%make%.pdb /DEBUG /MACHINE:I386 /OUT:.\WinDebug/%make%.exe @link.dbg … … 77 96 if not exist .\WinRel\nul mkdir .\WinRel 78 97 echo on 79 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /D TIVOLI /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c variable.c98 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /D TIVOLI /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c variable.c 80 99 echo WinRel\variable.obj >>link.rel 81 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c rule.c100 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c rule.c 82 101 echo WinRel\rule.obj >>link.rel 83 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c remote-stub.c102 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c remote-stub.c 84 103 echo WinRel\remote-stub.obj >>link.rel 85 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c commands.c104 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c commands.c 86 105 echo WinRel\commands.obj >>link.rel 87 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c file.c106 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c file.c 88 107 echo WinRel\file.obj >>link.rel 89 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c getloadavg.c108 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c getloadavg.c 90 109 echo WinRel\getloadavg.obj >>link.rel 91 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c default.c110 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c default.c 92 111 echo WinRel\default.obj >>link.rel 93 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c signame.c112 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c signame.c 94 113 echo WinRel\signame.obj >>link.rel 95 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c expand.c114 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c expand.c 96 115 echo WinRel\expand.obj >>link.rel 97 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c dir.c116 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c dir.c 98 117 echo WinRel\dir.obj >>link.rel 99 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c main.c118 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c main.c 100 119 echo WinRel\main.obj >>link.rel 101 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c getopt1.c120 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c getopt1.c 102 121 echo WinRel\getopt1.obj >>link.rel 103 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c job.c122 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c job.c 104 123 echo WinRel\job.obj >>link.rel 105 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c read.c124 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c read.c 106 125 echo WinRel\read.obj >>link.rel 107 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c version.c126 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c version.c 108 127 echo WinRel\version.obj >>link.rel 109 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c getopt.c128 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c getopt.c 110 129 echo WinRel\getopt.obj >>link.rel 111 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c arscan.c130 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c arscan.c 112 131 echo WinRel\arscan.obj >>link.rel 113 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c remake.c132 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c remake.c 114 133 echo WinRel\remake.obj >>link.rel 115 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c hash.c134 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c hash.c 116 135 echo WinRel\hash.obj >>link.rel 117 cl.exe /nologo /MT /W3 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c misc.c 136 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c strcache.c 137 echo WinRel\strcache.obj >>link.rel 138 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c misc.c 118 139 echo WinRel\misc.obj >>link.rel 119 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c ar.c140 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c ar.c 120 141 echo WinRel\ar.obj >>link.rel 121 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c function.c142 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c function.c 122 143 echo WinRel\function.obj >>link.rel 123 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c vpath.c144 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c vpath.c 124 145 echo WinRel\vpath.obj >>link.rel 125 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c implicit.c146 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c implicit.c 126 147 echo WinRel\implicit.obj >>link.rel 127 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c .\w32\compat\dirent.c148 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c .\w32\compat\dirent.c 128 149 echo WinRel\dirent.obj >>link.rel 129 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c .\glob\glob.c150 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c .\glob\glob.c 130 151 echo WinRel\glob.obj >>link.rel 131 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c .\glob\fnmatch.c152 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c .\glob\fnmatch.c 132 153 echo WinRel\fnmatch.obj >>link.rel 133 cl.exe /nologo /MT /W 3/GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c .\w32\pathstuff.c154 cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c .\w32\pathstuff.c 134 155 echo WinRel\pathstuff.obj >>link.rel 135 156 echo off 136 157 echo "Linking WinRel/%make%.exe" 137 rem link.exe kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib w32\subproc\winrel\subproc.lib /NOLOGO /SUBSYSTEM:console /INCREMENTAL:no /PDB:.\WinRel/%make%.pdb /MACHINE:I386 /OUT:.\WinRel/%make%.exe .\WinRel/variable.obj .\WinRel/rule.obj .\WinRel/remote-stub.obj .\WinRel/commands.obj .\WinRel/file.obj .\WinRel/getloadavg.obj .\WinRel/default.obj .\WinRel/signame.obj .\WinRel/expand.obj .\WinRel/dir.obj .\WinRel/main.obj .\WinRel/getopt1.obj .\WinRel/job.obj .\WinRel/read.obj .\WinRel/version.obj .\WinRel/getopt.obj .\WinRel/arscan.obj .\WinRel/remake.obj .\WinRel/misc.obj .\WinRel/hash.obj .\WinRel/ ar.obj .\WinRel/function.obj .\WinRel/vpath.obj .\WinRel/implicit.obj .\WinRel/dirent.obj .\WinRel/glob.obj .\WinRel/fnmatch.obj .\WinRel/pathstuff.obj158 rem link.exe kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib w32\subproc\winrel\subproc.lib /NOLOGO /SUBSYSTEM:console /INCREMENTAL:no /PDB:.\WinRel/%make%.pdb /MACHINE:I386 /OUT:.\WinRel/%make%.exe .\WinRel/variable.obj .\WinRel/rule.obj .\WinRel/remote-stub.obj .\WinRel/commands.obj .\WinRel/file.obj .\WinRel/getloadavg.obj .\WinRel/default.obj .\WinRel/signame.obj .\WinRel/expand.obj .\WinRel/dir.obj .\WinRel/main.obj .\WinRel/getopt1.obj .\WinRel/job.obj .\WinRel/read.obj .\WinRel/version.obj .\WinRel/getopt.obj .\WinRel/arscan.obj .\WinRel/remake.obj .\WinRel/misc.obj .\WinRel/hash.obj .\WinRel/strcache.obj .\WinRel/ar.obj .\WinRel/function.obj .\WinRel/vpath.obj .\WinRel/implicit.obj .\WinRel/dirent.obj .\WinRel/glob.obj .\WinRel/fnmatch.obj .\WinRel/pathstuff.obj 138 159 echo kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib w32\subproc\winrel\subproc.lib >>link.rel 139 160 link.exe /NOLOGO /SUBSYSTEM:console /INCREMENTAL:no /PDB:.\WinRel/%make%.pdb /MACHINE:I386 /OUT:.\WinRel/%make%.exe @link.rel 140 161 if not exist .\WinRel/%make%.exe echo "WinRel build failed" 141 162 if exist .\WinRel/%make%.exe echo "WinRel build succeeded!" 163 set make= 164 GoTo BuildEnd 165 :GCCBuild 142 166 echo on 167 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c variable.c 168 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c rule.c 169 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c remote-stub.c 170 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c commands.c 171 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c file.c 172 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c getloadavg.c 173 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c default.c 174 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c signame.c 175 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c expand.c 176 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c dir.c 177 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c main.c 178 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c getopt1.c 179 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c job.c 180 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c read.c 181 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c version.c 182 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c getopt.c 183 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c arscan.c 184 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c remake.c 185 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c hash.c 186 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c strcache.c 187 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c misc.c 188 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ar.c 189 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c function.c 190 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c vpath.c 191 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c implicit.c 192 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ./glob/glob.c -o glob.o 193 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ./glob/fnmatch.c -o fnmatch.o 194 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ./w32/pathstuff.c -o pathstuff.o 195 gcc -mthreads -gstabs+ -ggdb3 -o gnumake.exe variable.o rule.o remote-stub.o commands.o file.o getloadavg.o default.o signame.o expand.o dir.o main.o getopt1.o job.o read.o version.o getopt.o arscan.o remake.o misc.o hash.o strcache.o ar.o function.o vpath.o implicit.o glob.o fnmatch.o pathstuff.o w32_misc.o sub_proc.o w32err.o -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 196 :BuildEnd 197 echo on -
vendor/gnumake/current/commands.c
r280 r501 1 1 /* Command processing for GNU Make. 2 Copyright (C) 1988,89,91,92,93,94,95,96,97 Free Software Foundation, Inc. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 3 5 This file is part of GNU Make. 4 6 5 GNU Make is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2, or (at your option) 8 any later version. 9 10 GNU Make is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with GNU Make; see the file COPYING. If not, write to 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 Boston, MA 02111-1307, USA. */ 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 19 18 20 19 #include "make.h" … … 24 23 #include "job.h" 25 24 #include "commands.h" 25 #ifdef WINDOWS32 26 #include <windows.h> 27 #include "w32err.h" 28 #endif 26 29 27 30 #if VMS … … 156 159 157 160 if (plus_len > plus_max) 158 plus_value = (char *) xmalloc (plus_max = plus_len);161 plus_value = xrealloc (plus_value, plus_max = plus_len); 159 162 cp = plus_value; 160 163 … … 205 208 206 209 if (qmark_len > qmark_max) 207 qmark_value = (char *) xmalloc (qmark_max = qmark_len);210 qmark_value = xrealloc (qmark_value, qmark_max = qmark_len); 208 211 qp = qmark_value; 209 212 210 213 if (bar_len > bar_max) 211 bar_value = (char *) xmalloc (bar_max = bar_len);214 bar_value = xrealloc (bar_value, bar_max = bar_len); 212 215 bp = bar_value; 213 216 … … 425 428 exit (10); 426 429 #else /* not Amiga */ 430 #ifdef WINDOWS32 431 extern HANDLE main_thread; 432 433 /* Windows creates a sperate thread for handling Ctrl+C, so we need 434 to suspend the main thread, or else we will have race conditions 435 when both threads call reap_children. */ 436 if (main_thread) 437 { 438 DWORD susp_count = SuspendThread (main_thread); 439 440 if (susp_count != 0) 441 fprintf (stderr, "SuspendThread: suspend count = %ld\n", susp_count); 442 else if (susp_count == (DWORD)-1) 443 { 444 DWORD ierr = GetLastError (); 445 446 fprintf (stderr, "SuspendThread: error %ld: %s\n", 447 ierr, map_windows32_error_to_string (ierr)); 448 } 449 } 450 #endif 427 451 handling_fatal_signal = 1; 428 452 … … 487 511 488 512 #ifdef WINDOWS32 489 /* Cannot call W32_kill with a pid (it needs a handle) */ 490 exit (EXIT_FAILURE); 513 if (main_thread) 514 CloseHandle (main_thread); 515 /* Cannot call W32_kill with a pid (it needs a handle). The exit 516 status of 130 emulates what happens in Bash. */ 517 exit (130); 491 518 #else 492 519 /* Signal the same code; this time it will really be fatal. The signal -
vendor/gnumake/current/commands.h
r280 r501 1 1 /* Definition of data structures describing shell commands for GNU Make. 2 Copyright (C) 1988, 1989, 1991, 1993 Free Software Foundation, Inc. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 3 5 This file is part of GNU Make. 4 6 5 GNU Make is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2, or (at your option) 8 any later version. 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 9 10 10 GNU Make is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 14 15 You should have received a copy of the GNU General Public License 16 along with GNU Make; see the file COPYING. If not, write to 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 Boston, MA 02111-1307, USA. */ 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 19 18 20 19 /* Structure that gives the commands to make a file -
vendor/gnumake/current/config.ami
r152 r501 1 /* config.h.in. Generated automatically from configure.in by autoheader. */ 1 /* config.h -- hand-massaged for Amiga -*-C-*- 2 Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 3 2005, 2006 Free Software Foundation, Inc. 4 This file is part of GNU Make. 5 6 GNU Make is free software; you can redistribute it and/or modify it under the 7 terms of the GNU General Public License as published by the Free Software 8 Foundation; either version 2, or (at your option) any later version. 9 10 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License along with 15 GNU Make; see the file COPYING. If not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 2 17 3 18 /* Define if on AIX 3. … … 176 191 177 192 /* Version of this package (needed by automake) */ 178 #define VERSION "3.81 beta1"193 #define VERSION "3.81" 179 194 180 195 /* Define to the name of the SCCS `get' command. */ -
vendor/gnumake/current/config.h-vms
r152 r501 1 /* config.h-vms. Generated by hand by Klaus Kämpf <[email protected]> */ 1 /* config.h-vms. Generated by hand by Klaus Kämpf <[email protected]> -*-C-*- 2 3 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 4 2006 Free Software Foundation, Inc. 5 This file is part of GNU Make. 6 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 18 2 19 /* config.h. Generated automatically by configure. */ 3 20 /* config.h.in. Generated automatically from configure.in by autoheader. */ … … 197 214 198 215 /* Version of this package (needed by automake) */ 199 #define VERSION "3.81 beta1"216 #define VERSION "3.81" 200 217 201 218 /* Define to the name of the SCCS `get' command. */ … … 351 368 #define HAVE_CASE_INSENSITIVE_FS 1 352 369 353 /* VMS specific, define it if you want to use case sensit ve targets */370 /* VMS specific, define it if you want to use case sensitive targets */ 354 371 /* #undef WANT_CASE_SENSITIVE_TARGETS */ 355 372 … … 384 401 #include <stdio.h> 385 402 #include <unistd.h> 386 #define getopt gnu_getopt 387 #define optarg gnu_optarg 388 #define optopt gnu_optopt 389 #define optind gnu_optind 390 #define opterr gnu_opterr 403 #define getopt gnu_getopt 404 #define optarg gnu_optarg 405 #define optopt gnu_optopt 406 #define optind gnu_optind 407 #define opterr gnu_opterr 408 #define globfree gnu_globfree 409 #define glob gnu_glob 391 410 #endif 392 411 -
vendor/gnumake/current/config.h.W32
r152 r501 1 /* config.h.in. Generated automatically from configure.in by autoheader. */ 2 3 /* Define if on AIX 3. 4 System headers sometimes define this. 5 We just want to avoid a redefinition error message. */ 6 #ifndef _ALL_SOURCE 7 /* #undef _ALL_SOURCE */ 1 /* config.h.W32 -- hand-massaged config.h file for Windows builds -*-C-*- 2 3 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 4 2006 Free Software Foundation, Inc. 5 This file is part of GNU Make. 6 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 18 19 /* Suppress some Visual C++ warnings. 20 Maybe after the code cleanup for ISO C we can remove some/all of these. */ 21 #if _MSC_VER > 1000 22 # pragma warning(disable:4100) /* unreferenced formal parameter */ 23 # pragma warning(disable:4102) /* unreferenced label */ 24 # pragma warning(disable:4127) /* conditional expression is constant */ 25 # pragma warning(disable:4131) /* uses old-style declarator */ 26 # pragma warning(disable:4702) /* unreachable code */ 8 27 #endif 9 28 10 /* Define if using alloca.c. */ 29 /* Define to 1 if the `closedir' function returns void instead of `int'. */ 30 /* #undef CLOSEDIR_VOID */ 31 32 /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP 33 systems. This function is required for `alloca.c' support on those systems. 34 */ 35 /* #undef CRAY_STACKSEG_END */ 36 37 /* Define to 1 if using `alloca.c'. */ 11 38 /* #undef C_ALLOCA */ 12 39 13 /* Define if the closedir function returns void instead of int. */ 14 /* #undef CLOSEDIR_VOID */ 15 16 /* Define to empty if the keyword does not work. */ 17 /* #undef const */ 18 19 /* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. 20 This function is required for alloca.c support on those systems. */ 21 /* #undef CRAY_STACKSEG_END */ 22 23 /* Define for DGUX with <sys/dg_sys_info.h>. */ 40 /* Define to 1 if using `getloadavg.c'. */ 41 /*#define C_GETLOADAVG 1*/ 42 43 /* Define to 1 for DGUX with <sys/dg_sys_info.h>. */ 24 44 /* #undef DGUX */ 25 45 26 /* Define if the `getloadavg' function needs to be run setuid or setgid. */ 46 /* Define to 1 if translation of program messages to the user's native 47 language is requested. */ 48 /* #undef ENABLE_NLS */ 49 50 /* Use high resolution file timestamps if nonzero. */ 51 #define FILE_TIMESTAMP_HI_RES 0 52 53 /* Define to 1 if the `getloadavg' function needs to be run setuid or setgid. 54 */ 27 55 /* #undef GETLOADAVG_PRIVILEGED */ 28 56 29 /* Define to `unsigned long' or `unsigned long long' 30 if <inttypes.h> doesn't define. */ 31 #define uintmax_t unsigned long 32 33 /* Define to `int' if <sys/types.h> doesn't define. */ 34 #undef gid_t 35 #define gid_t int 36 37 /* Define if you have alloca, as a function or macro. */ 38 #undef HAVE_ALLOCA 57 /* Define to 1 if you have `alloca', as a function or macro. */ 39 58 #define HAVE_ALLOCA 1 40 59 41 /* Define if you have <alloca.h> and it should be used (not on Ultrix). */ 60 /* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). 61 */ 42 62 /* #undef HAVE_ALLOCA_H */ 43 63 44 /* Define if you don't have vprintf but do have _doprnt. */ 64 /* Define if your compiler conforms to the ANSI C standard. */ 65 #define HAVE_ANSI_COMPILER 1 66 67 /* Define to 1 if you have the `bsd_signal' function. */ 68 /* #undef HAVE_BSD_SIGNAL */ 69 70 /* Use case insensitive file names */ 71 /* #undef HAVE_CASE_INSENSITIVE_FS */ 72 73 /* Define if you have the clock_gettime function. */ 74 /* #undef HAVE_CLOCK_GETTIME */ 75 76 /* Define if the GNU dcgettext() function is already present or preinstalled. 77 */ 78 /* #undef HAVE_DCGETTEXT */ 79 80 /* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'. 81 */ 82 #define HAVE_DIRENT_H 1 83 84 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ 45 85 /* #undef HAVE_DOPRNT */ 46 86 47 /* Define if your system has a working fnmatch function. */ 48 /* #undef HAVE_FNMATCH */ 49 50 /* Define if your system has its own `getloadavg' function. */ 87 /* Use platform specific coding */ 88 #define HAVE_DOS_PATHS 1 89 90 /* Define to 1 if you have the `dup2' function. */ 91 #define HAVE_DUP2 1 92 93 /* Define to 1 if you have the <fcntl.h> header file. */ 94 #define HAVE_FCNTL_H 1 95 96 /* Define to 1 if you have the `fdopen' function. */ 97 /*#define HAVE_FDOPEN 1*/ 98 99 /* Define to 1 if you have the `fork' function. */ 100 /* #undef HAVE_FORK */ 101 102 /* Define to 1 if you have the `getcwd' function. */ 103 #define HAVE_GETCWD 1 104 105 /* Define to 1 if you have the `getgroups' function. */ 106 /* #undef HAVE_GETGROUPS */ 107 108 /* Define to 1 if you have the `gethostbyname' function. */ 109 /* #undef HAVE_GETHOSTBYNAME */ 110 111 /* Define to 1 if you have the `gethostname' function. */ 112 /* #undef HAVE_GETHOSTNAME */ 113 114 /* Define to 1 if you have the `getloadavg' function. */ 51 115 /* #undef HAVE_GETLOADAVG */ 52 116 53 /* Define if you have the getmntent function. */ 54 /* #undef HAVE_GETMNTENT */ 55 56 /* Define if the `long double' type works. */ 57 /* #undef HAVE_LONG_DOUBLE */ 58 59 /* Define if you support file names longer than 14 characters. */ 60 #undef HAVE_LONG_FILE_NAMES 61 #define HAVE_LONG_FILE_NAMES 1 62 63 /* Define if you have a working `mmap' system call. */ 64 /* #undef HAVE_MMAP */ 65 66 /* Define if system calls automatically restart after interruption 67 by a signal. */ 68 /* #undef HAVE_RESTARTABLE_SYSCALLS */ 69 70 /* Define if your struct stat has st_blksize. */ 71 /* #undef HAVE_ST_BLKSIZE */ 72 73 /* Define if your struct stat has st_blocks. */ 74 /* #undef HAVE_ST_BLOCKS */ 75 76 /* Define if you have the strcoll function and it is properly defined. */ 77 #undef HAVE_STRCOLL 117 /* Define to 1 if you have the `getrlimit' function. */ 118 /* #undef HAVE_GETRLIMIT */ 119 120 /* Define if the GNU gettext() function is already present or preinstalled. */ 121 /* #undef HAVE_GETTEXT */ 122 123 /* Define if you have a standard gettimeofday function */ 124 /* #undef HAVE_GETTIMEOFDAY */ 125 126 /* Define if you have the iconv() function. */ 127 /* #undef HAVE_ICONV */ 128 129 /* Define to 1 if you have the <inttypes.h> header file. */ 130 /*#define HAVE_INTTYPES_H 1*/ 131 132 /* Define to 1 if you have the `dgc' library (-ldgc). */ 133 /* #undef HAVE_LIBDGC */ 134 135 /* Define to 1 if you have the `kstat' library (-lkstat). */ 136 /* #undef HAVE_LIBKSTAT */ 137 138 /* Define to 1 if you have the <limits.h> header file. */ 139 #define HAVE_LIMITS_H 1 140 141 /* Define to 1 if you have the <locale.h> header file. */ 142 /*#define HAVE_LOCALE_H 1*/ 143 144 /* Define to 1 if you have the <mach/mach.h> header file. */ 145 /* #undef HAVE_MACH_MACH_H */ 146 147 /* Define to 1 if you have the `memmove' function. */ 148 #define HAVE_MEMMOVE 1 149 150 /* Define to 1 if you have the <memory.h> header file. */ 151 #define HAVE_MEMORY_H 1 152 153 /* Define to 1 if you have the `mkstemp' function. */ 154 /* #undef HAVE_MKSTEMP */ 155 156 /* Define to 1 if you have the `mktemp' function. */ 157 #define HAVE_MKTEMP 1 158 159 /* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */ 160 /* #undef HAVE_NDIR_H */ 161 162 /* Define to 1 if you have the <nlist.h> header file. */ 163 /* #undef HAVE_NLIST_H */ 164 165 /* Define to 1 if you have the `pipe' function. */ 166 /* #undef HAVE_PIPE */ 167 168 /* Define to 1 if you have the `pstat_getdynamic' function. */ 169 /* #undef HAVE_PSTAT_GETDYNAMIC */ 170 171 /* Define to 1 if you have the `realpath' function. */ 172 /* #undef HAVE_REALPATH */ 173 174 /* Define if <signal.h> defines the SA_RESTART constant. */ 175 /* #undef HAVE_SA_RESTART */ 176 177 /* Define to 1 if you have the `setegid' function. */ 178 /* #undef HAVE_SETEGID */ 179 180 /* Define to 1 if you have the `seteuid' function. */ 181 /* #undef HAVE_SETEUID */ 182 183 /* Define to 1 if you have the `setlinebuf' function. */ 184 /* #undef HAVE_SETLINEBUF */ 185 186 /* Define to 1 if you have the `setlocale' function. */ 187 /*#define HAVE_SETLOCALE 1*/ 188 189 /* Define to 1 if you have the `setregid' function. */ 190 /* #undef HAVE_SETREGID */ 191 192 /* Define to 1 if you have the `setreuid' function. */ 193 /* #undef HAVE_SETREUID */ 194 195 /* Define to 1 if you have the `setrlimit' function. */ 196 /* #undef HAVE_SETRLIMIT */ 197 198 /* Define to 1 if you have the `setvbuf' function. */ 199 /*#define HAVE_SETVBUF 1 */ 200 201 /* Define to 1 if you have the `sigaction' function. */ 202 /* #undef HAVE_SIGACTION */ 203 204 /* Define to 1 if you have the `sigsetmask' function. */ 205 /* #undef HAVE_SIGSETMASK */ 206 207 /* Define to 1 if you have the `socket' function. */ 208 /* #undef HAVE_SOCKET */ 209 210 /* Define to 1 if you have the <stdarg.h> header file. */ 211 #define HAVE_STDARG_H 1 212 213 /* Define to 1 if you have the <stdint.h> header file. */ 214 /*#define HAVE_STDINT_H 1*/ 215 216 /* Define to 1 if you have the <stdlib.h> header file. */ 217 #define HAVE_STDLIB_H 1 218 219 /* Define to 1 if you have the `strcasecmp' function. */ 220 /* #undef HAVE_STRCASECMP */ 221 222 /* Define to 1 if you have the `strchr' function. */ 223 #define HAVE_STRCHR 1 224 225 /* Define to 1 if you have the `strcoll' function and it is properly defined. 226 */ 78 227 #define HAVE_STRCOLL 1 79 228 80 /* Define if your struct stat has st_rdev. */ 81 #undef HAVE_ST_RDEV 82 #define HAVE_ST_RDEV 1 83 84 /* Define if you have the strftime function. */ 85 #undef HAVE_STRFTIME 86 #define HAVE_STRFTIME 1 87 88 /* Define if you have <sys/wait.h> that is POSIX.1 compatible. */ 229 /* Define to 1 if you have the `strdup' function. */ 230 /* #define HAVE_STRDUP 1*/ 231 232 /* Define to 1 if you have the `strerror' function. */ 233 #define HAVE_STRERROR 1 234 235 /* Define to 1 if you have the <strings.h> header file. */ 236 /* #define HAVE_STRINGS_H 1 */ 237 238 /* Define to 1 if you have the <string.h> header file. */ 239 #define HAVE_STRING_H 1 240 241 /* Define to 1 if you have the `strsignal' function. */ 242 /* #undef HAVE_STRSIGNAL */ 243 244 /* Define to 1 if `n_un.n_name' is member of `struct nlist'. */ 245 /* #undef HAVE_STRUCT_NLIST_N_UN_N_NAME */ 246 247 /* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'. 248 */ 249 /* #undef HAVE_SYS_DIR_H */ 250 251 /* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'. 252 */ 253 /* #undef HAVE_SYS_NDIR_H */ 254 255 /* Define to 1 if you have the <sys/param.h> header file. */ 256 /* #define HAVE_SYS_PARAM_H 1 */ 257 258 /* Define to 1 if you have the <sys/resource.h> header file. */ 259 /* #undef HAVE_SYS_RESOURCE_H */ 260 261 /* Define to 1 if you have the <sys/stat.h> header file. */ 262 /* #define HAVE_SYS_STAT_H 1 */ 263 264 /* Define to 1 if you have the <sys/timeb.h> header file. */ 265 /*#define HAVE_SYS_TIMEB_H 1*/ 266 267 /* Define to 1 if you have the <sys/time.h> header file. */ 268 /*#define HAVE_SYS_TIME_H 1*/ 269 270 /* Define to 1 if you have the <sys/types.h> header file. */ 271 /*#define HAVE_SYS_TYPES_H 1*/ 272 273 /* Define to 1 if you have the <sys/wait.h> header file. */ 89 274 /* #undef HAVE_SYS_WAIT_H */ 90 275 91 /* Define if your struct tm has tm_zone. */ 92 /* #undef HAVE_TM_ZONE */ 93 94 /* Define if you don't have tm_zone but do have the external array 95 tzname. */ 96 #undef HAVE_TZNAME 97 #define HAVE_TZNAME 1 98 99 /* Define if you have <unistd.h>. */ 100 /* #undef HAVE_UNISTD_H */ 101 102 /* Define if utime(file, NULL) sets file's timestamp to the present. */ 103 #undef HAVE_UTIME_NULL 104 #define HAVE_UTIME_NULL 1 105 106 /* Define if you have <vfork.h>. */ 276 /* Define this if you have the \`union wait' type in <sys/wait.h>. */ 277 /* #undef HAVE_UNION_WAIT */ 278 279 /* Define to 1 if you have the <unistd.h> header file. */ 280 /* #define HAVE_UNISTD_H 1*/ 281 282 /* Define to 1 if you have the <varargs.h> header file. */ 283 /* #undef HAVE_VARARGS_H */ 284 285 /* Define to 1 if you have the `vfork' function. */ 286 /* #undef HAVE_VFORK */ 287 288 /* Define to 1 if you have the <vfork.h> header file. */ 107 289 /* #undef HAVE_VFORK_H */ 108 290 109 /* Define if you have the vprintf function. */ 110 #undef HAVE_VPRINTF 291 /* Define to 1 if you have the `vprintf' function. */ 111 292 #define HAVE_VPRINTF 1 112 293 113 /* Define if you have the wait3 system call. */ 294 295 /* Define to 1 if you have the `wait3' function. */ 114 296 /* #undef HAVE_WAIT3 */ 115 297 116 /* Define if on MINIX. */ 117 /* #undef _MINIX */ 118 119 /* Define if your struct nlist has an n_un member. */ 298 /* Define to 1 if you have the `waitpid' function. */ 299 /* #undef HAVE_WAITPID */ 300 301 /* Define to 1 if `fork' works. */ 302 /* #undef HAVE_WORKING_FORK */ 303 304 /* Define to 1 if `vfork' works. */ 305 /* #undef HAVE_WORKING_VFORK */ 306 307 /* Build host information. */ 308 #define MAKE_HOST "Windows32" 309 310 /* Define this to enable job server support in GNU make. */ 311 /* #undef MAKE_JOBSERVER */ 312 313 /* Define to 1 if your `struct nlist' has an `n_un' member. Obsolete, depend 314 on `HAVE_STRUCT_NLIST_N_UN_N_NAME */ 120 315 /* #undef NLIST_NAME_UNION */ 121 316 122 /* Define if you have <nlist.h>.*/317 /* Define if struct nlist.n_name is a pointer rather than an array. */ 123 318 /* #undef NLIST_STRUCT */ 124 319 125 /* Define if your C compiler doesn't accept -c and -o together.*/320 /* Define to 1 if your C compiler doesn't accept -c and -o together. */ 126 321 /* #undef NO_MINUS_C_MINUS_O */ 127 322 128 /* Define to `int' if <sys/types.h> doesn't define. */ 129 #undef pid_t 130 #define pid_t int 131 132 /* Define if the system does not provide POSIX.1 features except 133 with this defined. */ 134 /* #undef _POSIX_1_SOURCE */ 135 136 /* Define if you need to in order for stat and other things to work. */ 137 #undef _POSIX_SOURCE 138 #define _POSIX_SOURCE 1 139 140 /* Define as the return type of signal handlers (int or void). */ 141 #undef RETSIGTYPE 323 /* Name of this package (needed by automake) */ 324 #define PACKAGE "make" 325 326 /* Define to 1 if the C compiler supports function prototypes. */ 327 #define PROTOTYPES 1 328 329 /* Define as the return type of signal handlers (`int' or `void'). */ 142 330 #define RETSIGTYPE void 143 331 144 /* Define if the setvbuf function takes the buffering type as its second 145 argument and the buffer pointer as the third, as on System V 146 before release 3. */ 332 /* Define to the name of the SCCS 'get' command. */ 333 #define SCCS_GET "echo no sccs get" 334 335 /* Define this if the SCCS 'get' command understands the '-G<file>' option. */ 336 /* #undef SCCS_GET_MINUS_G */ 337 338 /* Define to 1 if the `setvbuf' function takes the buffering type as its 339 second argument and the buffer pointer as the third, as on System V before 340 release 3. */ 147 341 /* #undef SETVBUF_REVERSED */ 148 342 … … 152 346 STACK_DIRECTION > 0 => grows toward higher addresses 153 347 STACK_DIRECTION < 0 => grows toward lower addresses 154 STACK_DIRECTION = 0 => direction of growth unknown 155 */ 348 STACK_DIRECTION = 0 => direction of growth unknown */ 156 349 /* #undef STACK_DIRECTION */ 157 350 158 /* Define if the `S_IS*' macros in <sys/stat.h> do not work properly.*/351 /* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */ 159 352 /* #undef STAT_MACROS_BROKEN */ 160 353 161 /* Define if your compiler conforms to the ANSI C standard. */ 162 #define HAVE_ANSI_COMPILER 1 163 164 /* Define to 1 if you have the <stdarg.h> header file. */ 165 #define HAVE_STDARG_H 1 166 167 /* Define if you have the ANSI C header files. */ 168 #undef STDC_HEADERS 354 /* Define to 1 if you have the ANSI C header files. */ 169 355 #define STDC_HEADERS 1 170 356 171 /* Define on System V Release 4. */ 357 /* Define if struct stat contains a nanoseconds field */ 358 /* #undef ST_MTIM_NSEC */ 359 360 /* Define to 1 on System V Release 4. */ 172 361 /* #undef SVR4 */ 173 362 174 /* Define if `sys_siglist' is declared by <signal.h>. */ 175 /* #undef SYS_SIGLIST_DECLARED */ 176 177 /* Define to `int' if <sys/types.h> doesn't define. */ 178 #undef uid_t 363 /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ 364 /* #define TIME_WITH_SYS_TIME 1 */ 365 366 /* Define to 1 for Encore UMAX. */ 367 /* #undef UMAX */ 368 369 /* Define to 1 for Encore UMAX 4.3 that has <inq_status/cpustats.h> instead of 370 <sys/cpustats.h>. */ 371 /* #undef UMAX4_3 */ 372 373 /* Version number of package */ 374 #define VERSION "3.81" 375 376 /* Define if using the dmalloc debugging malloc package */ 377 /* #undef WITH_DMALLOC */ 378 379 /* Define to 1 if on AIX 3. 380 System headers sometimes define this. 381 We just want to avoid a redefinition error message. */ 382 #ifndef _ALL_SOURCE 383 /* # undef _ALL_SOURCE */ 384 #endif 385 386 /* Number of bits in a file offset, on hosts where this is settable. */ 387 /* #undef _FILE_OFFSET_BITS */ 388 389 /* Define for large files, on AIX-style hosts. */ 390 /* #undef _LARGE_FILES */ 391 392 /* Define to 1 if on MINIX. */ 393 /* #undef _MINIX */ 394 395 /* Define to 2 if the system does not provide POSIX.1 features except with 396 this defined. */ 397 /* #undef _POSIX_1_SOURCE */ 398 399 /* Define to 1 if you need to in order for `stat' and other things to work. */ 400 #define _POSIX_SOURCE 1 401 402 /* Define like PROTOTYPES; this can be used by system headers. */ 403 /*#define __PROTOTYPES 1*/ 404 405 /* Define to empty if `const' does not conform to ANSI C. */ 406 /* #undef const */ 407 408 /* Define to `int' if <sys/types.h> doesn't define. */ 409 #define gid_t int 410 411 /* Define to `int' if <sys/types.h> does not define. */ 412 #define pid_t int 413 414 /* Define to `int' if <sys/types.h> doesn't define. */ 179 415 #define uid_t int 180 416 181 /* Define for Encore UMAX. */ 182 /* #undef UMAX */ 183 184 /* Define for Encore UMAX 4.3 that has <inq_status/cpustats.h> 185 instead of <sys/cpustats.h>. */ 186 /* #undef UMAX4_3 */ 187 188 /* Define vfork as fork if vfork does not work. */ 189 /* #undef vfork */ 190 191 /* Name of this package (needed by automake) */ 192 #define PACKAGE "make" 193 194 /* Version of this package (needed by automake) */ 195 #define VERSION "3.81beta1" 196 197 /* Define to the name of the SCCS `get' command. */ 198 #undef SCCS_GET 199 #define SCCS_GET "echo no sccs get" 200 201 /* Define to 1 if NLS is requested. */ 202 /* #undef ENABLE_NLS */ 203 204 /* Define as 1 if you have dcgettext. */ 205 /* #undef HAVE_DCGETTEXT */ 206 207 /* Define as 1 if you have gettext and don't want to use GNU gettext. */ 208 /* #undef HAVE_GETTEXT */ 209 210 /* Define if your locale.h file contains LC_MESSAGES. */ 211 /* #undef HAVE_LC_MESSAGES */ 417 /* Define uintmax_t if not defined in <stdint.h> or <inttypes.h>. */ 418 #define uintmax_t unsigned long 419 420 /* Define as `fork' if `vfork' does not work. */ 421 /*#define vfork fork*/ 422 423 /* Define to `unsigned long' or `unsigned long long' 424 if <inttypes.h> doesn't define. */ 425 #define uintmax_t unsigned long 426 427 /* Define if you support file names longer than 14 characters. */ 428 #define HAVE_LONG_FILE_NAMES 1 429 430 /* Define if your struct stat has st_rdev. */ 431 #undef HAVE_ST_RDEV 432 #define HAVE_ST_RDEV 1 433 434 /* Define if you have the strftime function. */ 435 #undef HAVE_STRFTIME 436 #define HAVE_STRFTIME 1 437 438 /* Define if you have <sys/wait.h> that is POSIX.1 compatible. */ 439 /* #undef HAVE_SYS_WAIT_H */ 440 441 /* Define if your struct tm has tm_zone. */ 442 /* #undef HAVE_TM_ZONE */ 443 444 /* Define if you don't have tm_zone but do have the external array 445 tzname. */ 446 #undef HAVE_TZNAME 447 #define HAVE_TZNAME 1 448 449 /* Define if utime(file, NULL) sets file's timestamp to the present. */ 450 #undef HAVE_UTIME_NULL 451 #define HAVE_UTIME_NULL 1 212 452 213 453 /* Define to the installation directory for locales. */ 214 454 #define LOCALEDIR "" 215 216 /* Define this if the SCCS `get' command understands the `-G<file>' option. */217 /* #undef SCCS_GET_MINUS_G */218 219 /* Define this to enable job server support in GNU make. */220 /* #undef MAKE_JOBSERVER */221 222 /* Define to be the nanoseconds member of struct stat's st_mtim,223 if it exists. */224 /* #undef ST_MTIM_NSEC */225 226 /* Define this if the C library defines the variable `sys_siglist'. */227 /* #undef HAVE_SYS_SIGLIST */228 229 /* Define this if the C library defines the variable `_sys_siglist'. */230 /* #undef HAVE__SYS_SIGLIST */231 232 /* Define this if you have the `union wait' type in <sys/wait.h>. */233 /* #undef HAVE_UNION_WAIT */234 235 /* Define if you have the dup2 function. */236 #undef HAVE_DUP2237 #define HAVE_DUP2 1238 239 /* Define if you have the getcwd function. */240 #undef HAVE_GETCWD241 #define HAVE_GETCWD 1242 243 /* Define if you have the getgroups function. */244 /* #undef HAVE_GETGROUPS */245 246 /* Define if you have the gethostbyname function. */247 /* #undef HAVE_GETHOSTBYNAME */248 249 /* Define if you have the gethostname function. */250 /* #undef HAVE_GETHOSTNAME */251 252 /* Define if you have the getloadavg function. */253 /* #undef HAVE_GETLOADAVG */254 255 /* Define if you have the memmove function. */256 #undef HAVE_MEMMOVE257 #define HAVE_MEMMOVE 1258 259 /* Define if you have the mktemp function. */260 #undef HAVE_MKTEMP261 #define HAVE_MKTEMP 1262 263 /* Define if you have the psignal function. */264 /* #undef HAVE_PSIGNAL */265 266 /* Define if you have the pstat_getdynamic function. */267 /* #undef HAVE_PSTAT_GETDYNAMIC */268 269 /* Define if you have the setegid function. */270 /* #undef HAVE_SETEGID */271 272 /* Define if you have the seteuid function. */273 /* #undef HAVE_SETEUID */274 275 /* Define if you have the setlinebuf function. */276 /* #undef HAVE_SETLINEBUF */277 278 /* Define if you have the setregid function. */279 /* #undef HAVE_SETREGID */280 281 /* Define if you have the setreuid function. */282 /* #undef HAVE_SETREUID */283 284 /* Define if you have the sigsetmask function. */285 /* #undef HAVE_SIGSETMASK */286 287 /* Define if you have the socket function. */288 /* #undef HAVE_SOCKET */289 290 /* Define if you have the strcasecmp function. */291 /* #undef HAVE_STRCASECMP */292 293 /* Define if you have the strerror function. */294 #undef HAVE_STRERROR295 #define HAVE_STRERROR 1296 297 /* Define if you have the strsignal function. */298 /* #undef HAVE_STRSIGNAL */299 300 /* Define if you have the wait3 function. */301 /* #undef HAVE_WAIT3 */302 303 /* Define if you have the waitpid function. */304 /* #undef HAVE_WAITPID */305 306 /* Define if you have the <dirent.h> header file. */307 #undef HAVE_DIRENT_H308 #define HAVE_DIRENT_H 1309 310 /* Define if you have the <fcntl.h> header file. */311 #undef HAVE_FCNTL_H312 #define HAVE_FCNTL_H 1313 314 /* Define if you have the <limits.h> header file. */315 #undef HAVE_LIMITS_H316 #define HAVE_LIMITS_H 1317 318 /* Define if you have the <mach/mach.h> header file. */319 /* #undef HAVE_MACH_MACH_H */320 321 /* Define if you have the <memory.h> header file. */322 #undef HAVE_MEMORY_H323 #define HAVE_MEMORY_H 1324 325 /* Define if you have the <ndir.h> header file. */326 /* #undef HAVE_NDIR_H */327 328 /* Define if you have the <string.h> header file. */329 #undef HAVE_STRING_H330 #define HAVE_STRING_H 1331 332 /* Define if you have the <sys/dir.h> header file. */333 /* #undef HAVE_SYS_DIR_H */334 335 /* Define if you have the <sys/ndir.h> header file. */336 /* #undef HAVE_SYS_NDIR_H */337 338 /* Define if you have the <sys/param.h> header file. */339 /* #undef HAVE_SYS_PARAM_H */340 341 /* Define if you have the <sys/timeb.h> header file. */342 #undef HAVE_SYS_TIMEB_H343 #define HAVE_SYS_TIMEB_H 1344 345 /* Define if you have the <sys/wait.h> header file. */346 /* #undef HAVE_SYS_WAIT_H */347 348 /* Define if you have the <unistd.h> header file. */349 /* #undef HAVE_UNISTD_H */350 351 /* Define if you have the dgc library (-ldgc). */352 /* #undef HAVE_LIBDGC */353 354 /* Define if you have the kstat library (-lkstat). */355 /* #undef HAVE_LIBKSTAT */356 357 /* Define if you have the sun library (-lsun). */358 /* #undef HAVE_LIBSUN */359 360 /* Use high resolution file timestamps if nonzero. */361 #define FILE_TIMESTAMP_HI_RES 0362 363 /* Build host information. */364 #define MAKE_HOST "Windows32"365 366 /* Grok DOS paths (drive specs and backslash path element separators) */367 #define HAVE_DOS_PATHS368 455 369 456 /* 370 457 * Refer to README.W32 for info on the following settings 371 458 */ 459 372 460 373 461 /* … … 376 464 * shell support. 377 465 */ 378 #undef BATCH_MODE_ONLY_SHELL 379 #define BATCH_MODE_ONLY_SHELL 1 466 /*#define BATCH_MODE_ONLY_SHELL 1 */ 380 467 381 468 /* … … 383 470 * Do NOT define BATCH_MODE_ONLY_SHELL if you define HAVE_CYGWIN_SHELL 384 471 */ 385 #undef HAVE_CYGWIN_SHELL 472 /*#define HAVE_CYGWIN_SHELL 1 */ 386 473 387 474 /* … … 389 476 * BATCH_MODE_ONLY_SHELL if you define HAVE_MKS_SHELL 390 477 */ 391 #undef HAVE_MKS_SHELL 478 /*#define HAVE_MKS_SHELL 1 */ 392 479 393 480 /* … … 401 488 #undef BATCH_MODE_ONLY_SHELL 402 489 #endif 403 404 /* Define if you prefer Case Insensitive behavior */405 #undef HAVE_CASE_INSENSITIVE_FS -
vendor/gnumake/current/config.h.in
r152 r501 39 39 #undef HAVE_ANSI_COMPILER 40 40 41 /* Define to 1 if you have the `atexit' function. */ 42 #undef HAVE_ATEXIT 43 41 44 /* Define to 1 if you have the `bsd_signal' function. */ 42 45 #undef HAVE_BSD_SIGNAL 46 47 /* Use case insensitive file names */ 48 #undef HAVE_CASE_INSENSITIVE_FS 43 49 44 50 /* Define if you have the clock_gettime function. */ … … 53 59 #undef HAVE_DECL_SYS_SIGLIST 54 60 61 /* Define to 1 if you have the declaration of `_sys_siglist', and to 0 if you 62 don't. */ 63 #undef HAVE_DECL__SYS_SIGLIST 64 65 /* Define to 1 if you have the declaration of `__sys_siglist', and to 0 if you 66 don't. */ 67 #undef HAVE_DECL___SYS_SIGLIST 68 55 69 /* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'. 56 70 */ … … 60 74 #undef HAVE_DOPRNT 61 75 62 /* Define this if your system requires backslashes or drive specs in 63 pathnames. */ 76 /* Use platform specific coding */ 64 77 #undef HAVE_DOS_PATHS 65 78 … … 91 104 #undef HAVE_GETLOADAVG 92 105 106 /* Define to 1 if you have the `getrlimit' function. */ 107 #undef HAVE_GETRLIMIT 108 93 109 /* Define if the GNU gettext() function is already present or preinstalled. */ 94 110 #undef HAVE_GETTEXT … … 115 131 #undef HAVE_LOCALE_H 116 132 133 /* Define to 1 if you have the `lstat' function. */ 134 #undef HAVE_LSTAT 135 117 136 /* Define to 1 if you have the <mach/mach.h> header file. */ 118 137 #undef HAVE_MACH_MACH_H … … 145 164 #undef HAVE_PSTAT_GETDYNAMIC 146 165 166 /* Define to 1 if you have the `readlink' function. */ 167 #undef HAVE_READLINK 168 169 /* Define to 1 if you have the `realpath' function. */ 170 #undef HAVE_REALPATH 171 147 172 /* Define if <signal.h> defines the SA_RESTART constant. */ 148 173 #undef HAVE_SA_RESTART … … 166 191 #undef HAVE_SETREUID 167 192 193 /* Define to 1 if you have the `setrlimit' function. */ 194 #undef HAVE_SETRLIMIT 195 168 196 /* Define to 1 if you have the `setvbuf' function. */ 169 197 #undef HAVE_SETVBUF … … 226 254 #undef HAVE_SYS_PARAM_H 227 255 256 /* Define to 1 if you have the <sys/resource.h> header file. */ 257 #undef HAVE_SYS_RESOURCE_H 258 228 259 /* Define to 1 if you have the <sys/stat.h> header file. */ 229 260 #undef HAVE_SYS_STAT_H … … 276 307 /* Define this to enable job server support in GNU make. */ 277 308 #undef MAKE_JOBSERVER 309 310 /* Define this to enable symbolic link timestamp checking. */ 311 #undef MAKE_SYMLINKS 278 312 279 313 /* Define to 1 if your `struct nlist' has an `n_un' member. Obsolete, depend … … 355 389 #undef VERSION 356 390 391 /* Use platform specific coding */ 392 #undef WINDOWS32 393 357 394 /* Define if using the dmalloc debugging malloc package */ 358 395 #undef WITH_DMALLOC -
vendor/gnumake/current/config/ChangeLog
r53 r501 1 2006-03-09 Paul Smith <[email protected]> 2 3 * dospaths.m4: Add MSYS to the list of targets allowing DOS-style 4 pathnames. Reported by David Ergo <[email protected]>. 5 6 2005-07-01 Paul D. Smith <[email protected]> 7 8 * Makefile.am (EXTRA_DIST): Added more M4 files to EXTRA_DIST, so 9 users can re-run aclocal. 10 1 11 2003-04-30 Paul D. Smith <[email protected]> 2 12 … … 18 28 * Makefile.am: New file. 19 29 30 31 32 Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 33 This file is part of GNU Make. 34 35 GNU Make is free software; you can redistribute it and/or modify it under the 36 terms of the GNU General Public License as published by the Free Software 37 Foundation; either version 2, or (at your option) any later version. 38 39 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 40 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 41 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 42 43 You should have received a copy of the GNU General Public License along with 44 GNU Make; see the file COPYING. If not, write to the Free Software 45 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -
vendor/gnumake/current/config/Makefile.am
r53 r501 1 1 # -*-Makefile-*-, or close enough 2 # Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 3 # This file is part of GNU Make. 4 # 5 # GNU Make is free software; you can redistribute it and/or modify it under the 6 # terms of the GNU General Public License as published by the Free Software 7 # Foundation; either version 2, or (at your option) any later version. 8 # 9 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 10 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 11 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 12 # 13 # You should have received a copy of the GNU General Public License along with 14 # GNU Make; see the file COPYING. If not, write to the Free Software 15 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2 16 3 17 EXTRA_DIST = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 nls.m4 \ 4 18 intdiv0.m4 inttypes-pri.m4 inttypes.m4 inttypes_h.m4 \ 5 19 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 \ 6 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 \ 7 dospaths.m4 po.m4 20 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 longlong.m4 \ 21 dospaths.m4 po.m4 signed.m4 longdouble.m4 wchar_t.m4 \ 22 wint_t.m4 intmax.m4 printf-posix.m4 xsize.m4 size_max.m4 -
vendor/gnumake/current/config/Makefile.in
r152 r501 1 # Makefile.in generated by automake 1. 8.2from Makefile.am.1 # Makefile.in generated by automake 1.9.6 from Makefile.am. 2 2 # @configure_input@ 3 3 4 4 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 5 # 2003, 2004 Free Software Foundation, Inc.5 # 2003, 2004, 2005 Free Software Foundation, Inc. 6 6 # This Makefile.in is free software; the Free Software Foundation 7 7 # gives unlimited permission to copy and/or distribute it, … … 16 16 17 17 # -*-Makefile-*-, or close enough 18 # Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 19 # This file is part of GNU Make. 20 # 21 # GNU Make is free software; you can redistribute it and/or modify it under the 22 # terms of the GNU General Public License as published by the Free Software 23 # Foundation; either version 2, or (at your option) any later version. 24 # 25 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 26 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 27 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 28 # 29 # You should have received a copy of the GNU General Public License along with 30 # GNU Make; see the file COPYING. If not, write to the Free Software 31 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 32 srcdir = @srcdir@ 19 33 top_srcdir = @top_srcdir@ … … 36 50 PRE_UNINSTALL = : 37 51 POST_UNINSTALL = : 52 build_triplet = @build@ 38 53 host_triplet = @host@ 39 54 subdir = config 40 55 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ChangeLog \ 41 56 compile config.guess config.rpath config.sub depcomp \ 42 install-sh m issing mkinstalldirs texinfo.tex57 install-sh mdate-sh missing mkinstalldirs texinfo.tex 43 58 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 44 59 am__aclocal_m4_deps = $(top_srcdir)/config/dospaths.m4 \ … … 126 141 USE_NLS = @USE_NLS@ 127 142 VERSION = @VERSION@ 143 WINDOWSENV_FALSE = @WINDOWSENV_FALSE@ 144 WINDOWSENV_TRUE = @WINDOWSENV_TRUE@ 128 145 XGETTEXT = @XGETTEXT@ 129 146 ac_ct_CC = @ac_ct_CC@ … … 135 152 am__leading_dot = @am__leading_dot@ 136 153 am__quote = @am__quote@ 154 am__tar = @am__tar@ 155 am__untar = @am__untar@ 137 156 bindir = @bindir@ 138 157 build = @build@ … … 166 185 intdiv0.m4 inttypes-pri.m4 inttypes.m4 inttypes_h.m4 \ 167 186 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 \ 168 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 \ 169 dospaths.m4 po.m4 187 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 longlong.m4 \ 188 dospaths.m4 po.m4 signed.m4 longdouble.m4 wchar_t.m4 \ 189 wint_t.m4 intmax.m4 printf-posix.m4 xsize.m4 size_max.m4 170 190 171 191 all: all-am … … 259 279 260 280 distclean-generic: 261 - rm -f $(CONFIG_CLEAN_FILES)281 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) 262 282 263 283 maintainer-clean-generic: -
vendor/gnumake/current/config/compile
-
Property svn:executable
set to
*
r152 r501 2 2 # Wrapper for compilers which do not understand `-c -o'. 3 3 4 scriptversion=200 3-11-09.004 scriptversion=2005-05-14.22 5 5 6 # Copyright (C) 1999, 2000, 2003 Free Software Foundation, Inc.6 # Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. 7 7 # Written by Tom Tromey <[email protected]>. 8 8 # … … 19 19 # You should have received a copy of the GNU General Public License 20 20 # along with this program; if not, write to the Free Software 21 # Foundation, Inc., 5 9 Temple Place - Suite 330, Boston, MA 02111-1307, USA.21 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 22 23 23 # As a special exception to the GNU General Public License, if you … … 48 48 Report bugs to <[email protected]>. 49 49 EOF 50 exit 050 exit $? 51 51 ;; 52 52 -v | --v*) 53 53 echo "compile $scriptversion" 54 exit 054 exit $? 55 55 ;; 56 56 esac 57 57 58 59 prog=$160 shift61 62 58 ofile= 63 59 cfile= 64 args= 65 while test $# -gt 0; do 66 case "$1" in 67 -o) 68 # configure might choose to run compile as `compile cc -o foo foo.c'. 69 # So we do something ugly here. 70 ofile=$2 71 shift 72 case "$ofile" in 73 *.o | *.obj) 74 ;; 75 *) 76 args="$args -o $ofile" 77 ofile= 78 ;; 79 esac 80 ;; 81 *.c) 82 cfile=$1 83 args="$args $1" 84 ;; 85 *) 86 args="$args $1" 87 ;; 88 esac 60 eat= 61 62 for arg 63 do 64 if test -n "$eat"; then 65 eat= 66 else 67 case $1 in 68 -o) 69 # configure might choose to run compile as `compile cc -o foo foo.c'. 70 # So we strip `-o arg' only if arg is an object. 71 eat=1 72 case $2 in 73 *.o | *.obj) 74 ofile=$2 75 ;; 76 *) 77 set x "$@" -o "$2" 78 shift 79 ;; 80 esac 81 ;; 82 *.c) 83 cfile=$1 84 set x "$@" "$1" 85 shift 86 ;; 87 *) 88 set x "$@" "$1" 89 shift 90 ;; 91 esac 92 fi 89 93 shift 90 94 done … … 96 100 # `.c' file was seen then we are probably linking. That is also 97 101 # ok. 98 exec "$ prog" $args102 exec "$@" 99 103 fi 100 104 101 105 # Name of file we expect compiler to create. 102 cofile=`echo $cfile| sed -e 's|^.*/||' -e 's/\.c$/.o/'`106 cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'` 103 107 104 108 # Create the lock directory. … … 106 110 # that we are using for the .o file. Also, base the name on the expected 107 111 # object file name, since that is what matters with a parallel build. 108 lockdir=`echo $cofile| sed -e 's|[/.-]|_|g'`.d112 lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d 109 113 while true; do 110 if mkdir $lockdir >/dev/null 2>&1; then114 if mkdir "$lockdir" >/dev/null 2>&1; then 111 115 break 112 116 fi … … 114 118 done 115 119 # FIXME: race condition here if user kills between mkdir and trap. 116 trap "rmdir $lockdir; exit 1" 1 2 15120 trap "rmdir '$lockdir'; exit 1" 1 2 15 117 121 118 122 # Run the compile. 119 "$ prog" $args120 status=$?123 "$@" 124 ret=$? 121 125 122 126 if test -f "$cofile"; then 123 127 mv "$cofile" "$ofile" 128 elif test -f "${cofile}bj"; then 129 mv "${cofile}bj" "$ofile" 124 130 fi 125 131 126 rmdir $lockdir127 exit $ status132 rmdir "$lockdir" 133 exit $ret 128 134 129 135 # Local Variables: -
Property svn:executable
set to
-
vendor/gnumake/current/config/config.guess
r152 r501 2 2 # Attempt to guess a canonical system name. 3 3 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 4 # 2000, 2001, 2002, 2003 Free Software Foundation, Inc. 5 6 timestamp='2004-03-03' 4 # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, 5 # Inc. 6 7 timestamp='2006-03-13' 7 8 8 9 # This file is free software; you can redistribute it and/or modify it … … 18 19 # You should have received a copy of the GNU General Public License 19 20 # along with this program; if not, write to the Free Software 20 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 21 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 22 # 02110-1301, USA. 21 23 # 22 24 # As a special exception to the GNU General Public License, if you … … 24 26 # configuration script generated by Autoconf, you may include it under 25 27 # the same distribution terms that you use for the rest of that program. 28 26 29 27 30 # Originally written by Per Bothner <[email protected]>. … … 54 57 55 58 Originally written by Per Bothner. 56 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 59 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 57 60 Free Software Foundation, Inc. 58 61 … … 67 70 case $1 in 68 71 --time-stamp | --time* | -t ) 69 echo "$timestamp" ; exit 0;;72 echo "$timestamp" ; exit ;; 70 73 --version | -v ) 71 echo "$version" ; exit 0;;74 echo "$version" ; exit ;; 72 75 --help | --h* | -h ) 73 echo "$usage"; exit 0;;76 echo "$usage"; exit ;; 74 77 -- ) # Stop option processing 75 78 shift; break ;; … … 105 108 trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; 106 109 : ${TMPDIR=/tmp} ; 107 { tmp=`(umask 077 && mktemp -d -q"$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||110 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 108 111 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || 109 112 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || … … 124 127 ,,*) CC_FOR_BUILD=$CC ;; 125 128 ,*,*) CC_FOR_BUILD=$HOST_CC ;; 126 esac ; '129 esac ; set_cc_for_build= ;' 127 130 128 131 # This is needed to find uname on a Pyramid OSx when run in the BSD universe. … … 197 200 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 198 201 echo "${machine}-${os}${release}" 199 exit 0 ;; 200 amd64:OpenBSD:*:*) 201 echo x86_64-unknown-openbsd${UNAME_RELEASE} 202 exit 0 ;; 203 amiga:OpenBSD:*:*) 204 echo m68k-unknown-openbsd${UNAME_RELEASE} 205 exit 0 ;; 206 arc:OpenBSD:*:*) 207 echo mipsel-unknown-openbsd${UNAME_RELEASE} 208 exit 0 ;; 209 cats:OpenBSD:*:*) 210 echo arm-unknown-openbsd${UNAME_RELEASE} 211 exit 0 ;; 212 hp300:OpenBSD:*:*) 213 echo m68k-unknown-openbsd${UNAME_RELEASE} 214 exit 0 ;; 215 mac68k:OpenBSD:*:*) 216 echo m68k-unknown-openbsd${UNAME_RELEASE} 217 exit 0 ;; 218 macppc:OpenBSD:*:*) 219 echo powerpc-unknown-openbsd${UNAME_RELEASE} 220 exit 0 ;; 221 mvme68k:OpenBSD:*:*) 222 echo m68k-unknown-openbsd${UNAME_RELEASE} 223 exit 0 ;; 224 mvme88k:OpenBSD:*:*) 225 echo m88k-unknown-openbsd${UNAME_RELEASE} 226 exit 0 ;; 227 mvmeppc:OpenBSD:*:*) 228 echo powerpc-unknown-openbsd${UNAME_RELEASE} 229 exit 0 ;; 230 pegasos:OpenBSD:*:*) 231 echo powerpc-unknown-openbsd${UNAME_RELEASE} 232 exit 0 ;; 233 pmax:OpenBSD:*:*) 234 echo mipsel-unknown-openbsd${UNAME_RELEASE} 235 exit 0 ;; 236 sgi:OpenBSD:*:*) 237 echo mipseb-unknown-openbsd${UNAME_RELEASE} 238 exit 0 ;; 239 sun3:OpenBSD:*:*) 240 echo m68k-unknown-openbsd${UNAME_RELEASE} 241 exit 0 ;; 242 wgrisc:OpenBSD:*:*) 243 echo mipsel-unknown-openbsd${UNAME_RELEASE} 244 exit 0 ;; 202 exit ;; 245 203 *:OpenBSD:*:*) 246 echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} 247 exit 0 ;; 204 UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 205 echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} 206 exit ;; 248 207 *:ekkoBSD:*:*) 249 208 echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} 250 exit 0 ;; 209 exit ;; 210 *:SolidBSD:*:*) 211 echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} 212 exit ;; 251 213 macppc:MirBSD:*:*) 252 214 echo powerppc-unknown-mirbsd${UNAME_RELEASE} 253 exit 0;;215 exit ;; 254 216 *:MirBSD:*:*) 255 217 echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} 256 exit 0;;218 exit ;; 257 219 alpha:OSF1:*:*) 258 220 case $UNAME_RELEASE in … … 307 269 # 1.2 uses "1.2" for uname -r. 308 270 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 309 exit 0 ;; 310 Alpha*:OpenVMS:*:*) 311 echo alpha-hp-vms 312 exit 0 ;; 271 exit ;; 313 272 Alpha\ *:Windows_NT*:*) 314 273 # How do we know it's Interix rather than the generic POSIX subsystem? … … 316 275 # of the specific Alpha model? 317 276 echo alpha-pc-interix 318 exit 0;;277 exit ;; 319 278 21064:Windows_NT:50:3) 320 279 echo alpha-dec-winnt3.5 321 exit 0;;280 exit ;; 322 281 Amiga*:UNIX_System_V:4.0:*) 323 282 echo m68k-unknown-sysv4 324 exit 0;;283 exit ;; 325 284 *:[Aa]miga[Oo][Ss]:*:*) 326 285 echo ${UNAME_MACHINE}-unknown-amigaos 327 exit 0;;286 exit ;; 328 287 *:[Mm]orph[Oo][Ss]:*:*) 329 288 echo ${UNAME_MACHINE}-unknown-morphos 330 exit 0;;289 exit ;; 331 290 *:OS/390:*:*) 332 291 echo i370-ibm-openedition 333 exit 0 ;; 292 exit ;; 293 *:z/VM:*:*) 294 echo s390-ibm-zvmoe 295 exit ;; 334 296 *:OS400:*:*) 335 297 echo powerpc-ibm-os400 336 exit 0;;298 exit ;; 337 299 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 338 300 echo arm-acorn-riscix${UNAME_RELEASE} 339 exit 0;; 301 exit ;; 302 arm:riscos:*:*|arm:RISCOS:*:*) 303 echo arm-unknown-riscos 304 exit ;; 340 305 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 341 306 echo hppa1.1-hitachi-hiuxmpp 342 exit 0;;307 exit ;; 343 308 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 344 309 # [email protected] (Earle F. Ake) contributed MIS and NILE. … … 348 313 echo pyramid-pyramid-bsd 349 314 fi 350 exit 0;;315 exit ;; 351 316 NILE*:*:*:dcosx) 352 317 echo pyramid-pyramid-svr4 353 exit 0;;318 exit ;; 354 319 DRS?6000:unix:4.0:6*) 355 320 echo sparc-icl-nx6 356 exit 0;;357 DRS?6000:UNIX_SV:4.2*:7* )321 exit ;; 322 DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 358 323 case `/usr/bin/uname -p` in 359 sparc) echo sparc-icl-nx7 && exit 0;;324 sparc) echo sparc-icl-nx7; exit ;; 360 325 esac ;; 361 326 sun4H:SunOS:5.*:*) 362 327 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 363 exit 0;;328 exit ;; 364 329 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 365 330 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 366 exit 0;;331 exit ;; 367 332 i86pc:SunOS:5.*:*) 368 333 echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 369 exit 0;;334 exit ;; 370 335 sun4*:SunOS:6*:*) 371 336 # According to config.sub, this is the proper way to canonicalize … … 373 338 # it's likely to be more like Solaris than SunOS4. 374 339 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 375 exit 0;;340 exit ;; 376 341 sun4*:SunOS:*:*) 377 342 case "`/usr/bin/arch -k`" in … … 382 347 # Japanese Language versions have a version number like `4.1.3-JL'. 383 348 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` 384 exit 0;;349 exit ;; 385 350 sun3*:SunOS:*:*) 386 351 echo m68k-sun-sunos${UNAME_RELEASE} 387 exit 0;;352 exit ;; 388 353 sun*:*:4.2BSD:*) 389 354 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` … … 397 362 ;; 398 363 esac 399 exit 0;;364 exit ;; 400 365 aushp:SunOS:*:*) 401 366 echo sparc-auspex-sunos${UNAME_RELEASE} 402 exit 0;;367 exit ;; 403 368 # The situation for MiNT is a little confusing. The machine name 404 369 # can be virtually everything (everything which is not … … 411 376 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 412 377 echo m68k-atari-mint${UNAME_RELEASE} 413 exit 0;;378 exit ;; 414 379 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 415 380 echo m68k-atari-mint${UNAME_RELEASE} 416 exit 0;;381 exit ;; 417 382 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 418 383 echo m68k-atari-mint${UNAME_RELEASE} 419 exit 0;;384 exit ;; 420 385 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 421 386 echo m68k-milan-mint${UNAME_RELEASE} 422 exit 0;;387 exit ;; 423 388 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 424 389 echo m68k-hades-mint${UNAME_RELEASE} 425 exit 0;;390 exit ;; 426 391 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 427 392 echo m68k-unknown-mint${UNAME_RELEASE} 428 exit 0;;393 exit ;; 429 394 m68k:machten:*:*) 430 395 echo m68k-apple-machten${UNAME_RELEASE} 431 exit 0;;396 exit ;; 432 397 powerpc:machten:*:*) 433 398 echo powerpc-apple-machten${UNAME_RELEASE} 434 exit 0;;399 exit ;; 435 400 RISC*:Mach:*:*) 436 401 echo mips-dec-mach_bsd4.3 437 exit 0;;402 exit ;; 438 403 RISC*:ULTRIX:*:*) 439 404 echo mips-dec-ultrix${UNAME_RELEASE} 440 exit 0;;405 exit ;; 441 406 VAX*:ULTRIX*:*:*) 442 407 echo vax-dec-ultrix${UNAME_RELEASE} 443 exit 0;;408 exit ;; 444 409 2020:CLIX:*:* | 2430:CLIX:*:*) 445 410 echo clipper-intergraph-clix${UNAME_RELEASE} 446 exit 0;;411 exit ;; 447 412 mips:*:*:UMIPS | mips:*:*:RISCos) 448 413 eval $set_cc_for_build … … 468 433 } 469 434 EOF 470 $CC_FOR_BUILD -o $dummy $dummy.c \ 471 && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ 472 && exit 0 435 $CC_FOR_BUILD -o $dummy $dummy.c && 436 dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && 437 SYSTEM_NAME=`$dummy $dummyarg` && 438 { echo "$SYSTEM_NAME"; exit; } 473 439 echo mips-mips-riscos${UNAME_RELEASE} 474 exit 0;;440 exit ;; 475 441 Motorola:PowerMAX_OS:*:*) 476 442 echo powerpc-motorola-powermax 477 exit 0;;443 exit ;; 478 444 Motorola:*:4.3:PL8-*) 479 445 echo powerpc-harris-powermax 480 exit 0;;446 exit ;; 481 447 Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 482 448 echo powerpc-harris-powermax 483 exit 0;;449 exit ;; 484 450 Night_Hawk:Power_UNIX:*:*) 485 451 echo powerpc-harris-powerunix 486 exit 0;;452 exit ;; 487 453 m88k:CX/UX:7*:*) 488 454 echo m88k-harris-cxux7 489 exit 0;;455 exit ;; 490 456 m88k:*:4*:R4*) 491 457 echo m88k-motorola-sysv4 492 exit 0;;458 exit ;; 493 459 m88k:*:3*:R3*) 494 460 echo m88k-motorola-sysv3 495 exit 0;;461 exit ;; 496 462 AViiON:dgux:*:*) 497 463 # DG/UX returns AViiON for all architectures … … 509 475 echo i586-dg-dgux${UNAME_RELEASE} 510 476 fi 511 exit 0;;477 exit ;; 512 478 M88*:DolphinOS:*:*) # DolphinOS (SVR3) 513 479 echo m88k-dolphin-sysv3 514 exit 0;;480 exit ;; 515 481 M88*:*:R3*:*) 516 482 # Delta 88k system running SVR3 517 483 echo m88k-motorola-sysv3 518 exit 0;;484 exit ;; 519 485 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 520 486 echo m88k-tektronix-sysv3 521 exit 0;;487 exit ;; 522 488 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 523 489 echo m68k-tektronix-bsd 524 exit 0;;490 exit ;; 525 491 *:IRIX*:*:*) 526 492 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` 527 exit 0;;493 exit ;; 528 494 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 529 echo romp-ibm-aix 530 exit 0 ;;# Note that: echo "'`uname -s`'" gives 'AIX '495 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 496 exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 531 497 i*86:AIX:*:*) 532 498 echo i386-ibm-aix 533 exit 0;;499 exit ;; 534 500 ia64:AIX:*:*) 535 501 if [ -x /usr/bin/oslevel ] ; then … … 539 505 fi 540 506 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} 541 exit 0;;507 exit ;; 542 508 *:AIX:2:3) 543 509 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then … … 554 520 } 555 521 EOF 556 $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 557 echo rs6000-ibm-aix3.2.5 522 if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` 523 then 524 echo "$SYSTEM_NAME" 525 else 526 echo rs6000-ibm-aix3.2.5 527 fi 558 528 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 559 529 echo rs6000-ibm-aix3.2.4 … … 561 531 echo rs6000-ibm-aix3.2 562 532 fi 563 exit 0;;533 exit ;; 564 534 *:AIX:*:[45]) 565 535 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` … … 575 545 fi 576 546 echo ${IBM_ARCH}-ibm-aix${IBM_REV} 577 exit 0;;547 exit ;; 578 548 *:AIX:*:*) 579 549 echo rs6000-ibm-aix 580 exit 0;;550 exit ;; 581 551 ibmrt:4.4BSD:*|romp-ibm:BSD:*) 582 552 echo romp-ibm-bsd4.4 583 exit 0;;553 exit ;; 584 554 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 585 555 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to 586 exit 0 ;;# report: romp-ibm BSD 4.3556 exit ;; # report: romp-ibm BSD 4.3 587 557 *:BOSX:*:*) 588 558 echo rs6000-bull-bosx 589 exit 0;;559 exit ;; 590 560 DPX/2?00:B.O.S.:*:*) 591 561 echo m68k-bull-sysv3 592 exit 0;;562 exit ;; 593 563 9000/[34]??:4.3bsd:1.*:*) 594 564 echo m68k-hp-bsd 595 exit 0;;565 exit ;; 596 566 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 597 567 echo m68k-hp-bsd4.4 598 exit 0;;568 exit ;; 599 569 9000/[34678]??:HP-UX:*:*) 600 570 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` … … 658 628 if [ ${HP_ARCH} = "hppa2.0w" ] 659 629 then 660 # avoid double evaluation of $set_cc_for_build 661 test -n "$CC_FOR_BUILD" || eval $set_cc_for_build 662 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null 630 eval $set_cc_for_build 631 632 # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 633 # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 634 # generating 64-bit code. GNU and HP use different nomenclature: 635 # 636 # $ CC_FOR_BUILD=cc ./config.guess 637 # => hppa2.0w-hp-hpux11.23 638 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 639 # => hppa64-hp-hpux11.23 640 641 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | 642 grep __LP64__ >/dev/null 663 643 then 664 644 HP_ARCH="hppa2.0w" … … 668 648 fi 669 649 echo ${HP_ARCH}-hp-hpux${HPUX_REV} 670 exit 0;;650 exit ;; 671 651 ia64:HP-UX:*:*) 672 652 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 673 653 echo ia64-hp-hpux${HPUX_REV} 674 exit 0;;654 exit ;; 675 655 3050*:HI-UX:*:*) 676 656 eval $set_cc_for_build … … 700 680 } 701 681 EOF 702 $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 682 $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && 683 { echo "$SYSTEM_NAME"; exit; } 703 684 echo unknown-hitachi-hiuxwe2 704 exit 0;;685 exit ;; 705 686 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) 706 687 echo hppa1.1-hp-bsd 707 exit 0;;688 exit ;; 708 689 9000/8??:4.3bsd:*:*) 709 690 echo hppa1.0-hp-bsd 710 exit 0;;691 exit ;; 711 692 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 712 693 echo hppa1.0-hp-mpeix 713 exit 0;;694 exit ;; 714 695 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) 715 696 echo hppa1.1-hp-osf 716 exit 0;;697 exit ;; 717 698 hp8??:OSF1:*:*) 718 699 echo hppa1.0-hp-osf 719 exit 0;;700 exit ;; 720 701 i*86:OSF1:*:*) 721 702 if [ -x /usr/sbin/sysversion ] ; then … … 724 705 echo ${UNAME_MACHINE}-unknown-osf1 725 706 fi 726 exit 0;;707 exit ;; 727 708 parisc*:Lites*:*:*) 728 709 echo hppa1.1-hp-lites 729 exit 0;;710 exit ;; 730 711 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 731 712 echo c1-convex-bsd 732 exit 0;;713 exit ;; 733 714 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 734 715 if getsysinfo -f scalar_acc … … 736 717 else echo c2-convex-bsd 737 718 fi 738 exit 0;;719 exit ;; 739 720 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 740 721 echo c34-convex-bsd 741 exit 0;;722 exit ;; 742 723 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 743 724 echo c38-convex-bsd 744 exit 0;;725 exit ;; 745 726 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 746 727 echo c4-convex-bsd 747 exit 0;;728 exit ;; 748 729 CRAY*Y-MP:*:*:*) 749 730 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 750 exit 0;;731 exit ;; 751 732 CRAY*[A-Z]90:*:*:*) 752 733 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ … … 754 735 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 755 736 -e 's/\.[^.]*$/.X/' 756 exit 0;;737 exit ;; 757 738 CRAY*TS:*:*:*) 758 739 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 759 exit 0;;740 exit ;; 760 741 CRAY*T3E:*:*:*) 761 742 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 762 exit 0;;743 exit ;; 763 744 CRAY*SV1:*:*:*) 764 745 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 765 exit 0;;746 exit ;; 766 747 *:UNICOS/mp:*:*) 767 echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'768 exit 0;;748 echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 749 exit ;; 769 750 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 770 751 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` … … 772 753 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` 773 754 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 774 exit 0;;755 exit ;; 775 756 5000:UNIX_System_V:4.*:*) 776 757 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 777 758 FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` 778 759 echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 779 exit 0;;760 exit ;; 780 761 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 781 762 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} 782 exit 0;;763 exit ;; 783 764 sparc*:BSD/OS:*:*) 784 765 echo sparc-unknown-bsdi${UNAME_RELEASE} 785 exit 0;;766 exit ;; 786 767 *:BSD/OS:*:*) 787 768 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} 788 exit 0;;769 exit ;; 789 770 *:FreeBSD:*:*) 790 # Determine whether the default compiler uses glibc. 791 eval $set_cc_for_build 792 sed 's/^ //' << EOF >$dummy.c 793 #include <features.h> 794 #if __GLIBC__ >= 2 795 LIBC=gnu 796 #else 797 LIBC= 798 #endif 799 EOF 800 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` 801 # GNU/KFreeBSD systems have a "k" prefix to indicate we are using 802 # FreeBSD's kernel, but not the complete OS. 803 case ${LIBC} in gnu) kernel_only='k' ;; esac 804 echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} 805 exit 0 ;; 771 case ${UNAME_MACHINE} in 772 pc98) 773 echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 774 *) 775 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; 776 esac 777 exit ;; 806 778 i*:CYGWIN*:*) 807 779 echo ${UNAME_MACHINE}-pc-cygwin 808 exit 0;;780 exit ;; 809 781 i*:MINGW*:*) 810 782 echo ${UNAME_MACHINE}-pc-mingw32 811 exit 0 ;; 783 exit ;; 784 i*:windows32*:*) 785 # uname -m includes "-pc" on this system. 786 echo ${UNAME_MACHINE}-mingw32 787 exit ;; 812 788 i*:PW*:*) 813 789 echo ${UNAME_MACHINE}-pc-pw32 814 exit 0 ;; 815 x86:Interix*:[34]*) 816 echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' 817 exit 0 ;; 790 exit ;; 791 x86:Interix*:[345]*) 792 echo i586-pc-interix${UNAME_RELEASE} 793 exit ;; 794 EM64T:Interix*:[345]*) 795 echo x86_64-unknown-interix${UNAME_RELEASE} 796 exit ;; 818 797 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) 819 798 echo i${UNAME_MACHINE}-pc-mks 820 exit 0;;799 exit ;; 821 800 i*:Windows_NT*:* | Pentium*:Windows_NT*:*) 822 801 # How do we know it's Interix rather than the generic POSIX subsystem? … … 824 803 # UNAME_MACHINE based on the output of uname instead of i386? 825 804 echo i586-pc-interix 826 exit 0;;805 exit ;; 827 806 i*:UWIN*:*) 828 807 echo ${UNAME_MACHINE}-pc-uwin 829 exit 0 ;; 808 exit ;; 809 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 810 echo x86_64-unknown-cygwin 811 exit ;; 830 812 p*:CYGWIN*:*) 831 813 echo powerpcle-unknown-cygwin 832 exit 0;;814 exit ;; 833 815 prep*:SunOS:5.*:*) 834 816 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 835 exit 0;;817 exit ;; 836 818 *:GNU:*:*) 837 819 # the GNU system 838 820 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` 839 exit 0;;821 exit ;; 840 822 *:GNU/*:*:*) 841 823 # other systems with GNU libc and userland 842 824 echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu 843 exit 0;;825 exit ;; 844 826 i*86:Minix:*:*) 845 827 echo ${UNAME_MACHINE}-pc-minix 846 exit 0;;828 exit ;; 847 829 arm*:Linux:*:*) 848 830 echo ${UNAME_MACHINE}-unknown-linux-gnu 849 exit 0;;831 exit ;; 850 832 cris:Linux:*:*) 851 833 echo cris-axis-linux-gnu 852 exit 0 ;; 834 exit ;; 835 crisv32:Linux:*:*) 836 echo crisv32-axis-linux-gnu 837 exit ;; 838 frv:Linux:*:*) 839 echo frv-unknown-linux-gnu 840 exit ;; 853 841 ia64:Linux:*:*) 854 842 echo ${UNAME_MACHINE}-unknown-linux-gnu 855 exit 0 ;; 843 exit ;; 844 m32r*:Linux:*:*) 845 echo ${UNAME_MACHINE}-unknown-linux-gnu 846 exit ;; 856 847 m68*:Linux:*:*) 857 848 echo ${UNAME_MACHINE}-unknown-linux-gnu 858 exit 0;;849 exit ;; 859 850 mips:Linux:*:*) 860 851 eval $set_cc_for_build … … 873 864 #endif 874 865 EOF 875 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` 876 test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 866 eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' 867 /^CPU/{ 868 s: ::g 869 p 870 }'`" 871 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } 877 872 ;; 878 873 mips64:Linux:*:*) … … 892 887 #endif 893 888 EOF 894 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` 895 test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 889 eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' 890 /^CPU/{ 891 s: ::g 892 p 893 }'`" 894 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } 896 895 ;; 896 or32:Linux:*:*) 897 echo or32-unknown-linux-gnu 898 exit ;; 897 899 ppc:Linux:*:*) 898 900 echo powerpc-unknown-linux-gnu 899 exit 0;;901 exit ;; 900 902 ppc64:Linux:*:*) 901 903 echo powerpc64-unknown-linux-gnu 902 exit 0;;904 exit ;; 903 905 alpha:Linux:*:*) 904 906 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in … … 914 916 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi 915 917 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} 916 exit 0;;918 exit ;; 917 919 parisc:Linux:*:* | hppa:Linux:*:*) 918 920 # Look for CPU level … … 922 924 *) echo hppa-unknown-linux-gnu ;; 923 925 esac 924 exit 0;;926 exit ;; 925 927 parisc64:Linux:*:* | hppa64:Linux:*:*) 926 928 echo hppa64-unknown-linux-gnu 927 exit 0;;929 exit ;; 928 930 s390:Linux:*:* | s390x:Linux:*:*) 929 931 echo ${UNAME_MACHINE}-ibm-linux 930 exit 0;;932 exit ;; 931 933 sh64*:Linux:*:*) 932 934 echo ${UNAME_MACHINE}-unknown-linux-gnu 933 exit 0;;935 exit ;; 934 936 sh*:Linux:*:*) 935 937 echo ${UNAME_MACHINE}-unknown-linux-gnu 936 exit 0;;938 exit ;; 937 939 sparc:Linux:*:* | sparc64:Linux:*:*) 938 940 echo ${UNAME_MACHINE}-unknown-linux-gnu 939 exit 0 ;; 941 exit ;; 942 vax:Linux:*:*) 943 echo ${UNAME_MACHINE}-dec-linux-gnu 944 exit ;; 940 945 x86_64:Linux:*:*) 941 946 echo x86_64-unknown-linux-gnu 942 exit 0;;947 exit ;; 943 948 i*86:Linux:*:*) 944 949 # The BFD linker knows what the default object file format is, so … … 958 963 a.out-i386-linux) 959 964 echo "${UNAME_MACHINE}-pc-linux-gnuaout" 960 exit 0;;965 exit ;; 961 966 coff-i386) 962 967 echo "${UNAME_MACHINE}-pc-linux-gnucoff" 963 exit 0;;968 exit ;; 964 969 "") 965 970 # Either a pre-BFD a.out linker (linux-gnuoldld) or 966 971 # one that does not give us useful --help. 967 972 echo "${UNAME_MACHINE}-pc-linux-gnuoldld" 968 exit 0;;973 exit ;; 969 974 esac 970 975 # Determine whether the default compiler is a.out or elf … … 983 988 # endif 984 989 #else 985 #if def __INTEL_COMPILER990 #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__sun) 986 991 LIBC=gnu 987 992 #else … … 993 998 #endif 994 999 EOF 995 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` 996 test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 997 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 1000 eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' 1001 /^LIBC/{ 1002 s: ::g 1003 p 1004 }'`" 1005 test x"${LIBC}" != x && { 1006 echo "${UNAME_MACHINE}-pc-linux-${LIBC}" 1007 exit 1008 } 1009 test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } 998 1010 ;; 999 1011 i*86:DYNIX/ptx:4*:*) … … 1002 1014 # sysname and nodename. 1003 1015 echo i386-sequent-sysv4 1004 exit 0;;1016 exit ;; 1005 1017 i*86:UNIX_SV:4.2MP:2.*) 1006 1018 # Unixware is an offshoot of SVR4, but it has its own version … … 1010 1022 # Use sysv4.2uw... so that sysv4* matches it. 1011 1023 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} 1012 exit 0;;1024 exit ;; 1013 1025 i*86:OS/2:*:*) 1014 1026 # If we were able to find `uname', then EMX Unix compatibility 1015 1027 # is probably installed. 1016 1028 echo ${UNAME_MACHINE}-pc-os2-emx 1017 exit 0;;1029 exit ;; 1018 1030 i*86:XTS-300:*:STOP) 1019 1031 echo ${UNAME_MACHINE}-unknown-stop 1020 exit 0;;1032 exit ;; 1021 1033 i*86:atheos:*:*) 1022 1034 echo ${UNAME_MACHINE}-unknown-atheos 1023 exit 0;;1024 1035 exit ;; 1036 i*86:syllable:*:*) 1025 1037 echo ${UNAME_MACHINE}-pc-syllable 1026 exit 0;;1038 exit ;; 1027 1039 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) 1028 1040 echo i386-unknown-lynxos${UNAME_RELEASE} 1029 exit 0;;1041 exit ;; 1030 1042 i*86:*DOS:*:*) 1031 1043 echo ${UNAME_MACHINE}-pc-msdosdjgpp 1032 exit 0;;1044 exit ;; 1033 1045 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) 1034 1046 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` … … 1038 1050 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} 1039 1051 fi 1040 exit 0 ;; 1041 i*86:*:5:[78]*) 1052 exit ;; 1053 i*86:*:5:[678]*) 1054 # UnixWare 7.x, OpenUNIX and OpenServer 6. 1042 1055 case `/bin/uname -X | grep "^Machine"` in 1043 1056 *486*) UNAME_MACHINE=i486 ;; … … 1046 1059 esac 1047 1060 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 1048 exit 0;;1061 exit ;; 1049 1062 i*86:*:3.2:*) 1050 1063 if test -f /usr/options/cb.name; then … … 1064 1077 echo ${UNAME_MACHINE}-pc-sysv32 1065 1078 fi 1066 exit 0;;1079 exit ;; 1067 1080 pc:*:*:*) 1068 1081 # Left here for compatibility: … … 1070 1083 # the processor, so we play safe by assuming i386. 1071 1084 echo i386-pc-msdosdjgpp 1072 exit 0;;1085 exit ;; 1073 1086 Intel:Mach:3*:*) 1074 1087 echo i386-pc-mach3 1075 exit 0;;1088 exit ;; 1076 1089 paragon:*:*:*) 1077 1090 echo i860-intel-osf1 1078 exit 0;;1091 exit ;; 1079 1092 i860:*:4.*:*) # i860-SVR4 1080 1093 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then … … 1083 1096 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 1084 1097 fi 1085 exit 0;;1098 exit ;; 1086 1099 mini*:CTIX:SYS*5:*) 1087 1100 # "miniframe" 1088 1101 echo m68010-convergent-sysv 1089 exit 0;;1102 exit ;; 1090 1103 mc68k:UNIX:SYSTEM5:3.51m) 1091 1104 echo m68k-convergent-sysv 1092 exit 0;;1105 exit ;; 1093 1106 M680?0:D-NIX:5.3:*) 1094 1107 echo m68k-diab-dnix 1095 exit 0;;1096 M68*:*:R3V[567 ]*:*)1097 test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0;;1098 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 )1108 exit ;; 1109 M68*:*:R3V[5678]*:*) 1110 test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 1111 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) 1099 1112 OS_REL='' 1100 1113 test -r /etc/.relid \ 1101 1114 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1102 1115 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1103 && echo i486-ncr-sysv4.3${OS_REL} && exit 01116 && { echo i486-ncr-sysv4.3${OS_REL}; exit; } 1104 1117 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1105 && echo i586-ncr-sysv4.3${OS_REL} && exit 0;;1118 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 1106 1119 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 1107 1120 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1108 && echo i486-ncr-sysv4 && exit 0;;1121 && { echo i486-ncr-sysv4; exit; } ;; 1109 1122 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 1110 1123 echo m68k-unknown-lynxos${UNAME_RELEASE} 1111 exit 0;;1124 exit ;; 1112 1125 mc68030:UNIX_System_V:4.*:*) 1113 1126 echo m68k-atari-sysv4 1114 exit 0;;1127 exit ;; 1115 1128 TSUNAMI:LynxOS:2.*:*) 1116 1129 echo sparc-unknown-lynxos${UNAME_RELEASE} 1117 exit 0;;1130 exit ;; 1118 1131 rs6000:LynxOS:2.*:*) 1119 1132 echo rs6000-unknown-lynxos${UNAME_RELEASE} 1120 exit 0;;1133 exit ;; 1121 1134 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) 1122 1135 echo powerpc-unknown-lynxos${UNAME_RELEASE} 1123 exit 0;;1136 exit ;; 1124 1137 SM[BE]S:UNIX_SV:*:*) 1125 1138 echo mips-dde-sysv${UNAME_RELEASE} 1126 exit 0;;1139 exit ;; 1127 1140 RM*:ReliantUNIX-*:*:*) 1128 1141 echo mips-sni-sysv4 1129 exit 0;;1142 exit ;; 1130 1143 RM*:SINIX-*:*:*) 1131 1144 echo mips-sni-sysv4 1132 exit 0;;1145 exit ;; 1133 1146 *:SINIX-*:*:*) 1134 1147 if uname -p 2>/dev/null >/dev/null ; then … … 1138 1151 echo ns32k-sni-sysv 1139 1152 fi 1140 exit 0;;1153 exit ;; 1141 1154 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 1142 1155 # says <[email protected]> 1143 1156 echo i586-unisys-sysv4 1144 exit 0;;1157 exit ;; 1145 1158 *:UNIX_System_V:4*:FTX*) 1146 1159 # From Gerald Hewes <[email protected]>. 1147 1160 # How about differentiating between stratus architectures? -djm 1148 1161 echo hppa1.1-stratus-sysv4 1149 exit 0;;1162 exit ;; 1150 1163 *:*:*:FTX*) 1151 1164 # From [email protected]. 1152 1165 echo i860-stratus-sysv4 1153 exit 0 ;; 1166 exit ;; 1167 i*86:VOS:*:*) 1168 # From [email protected]. 1169 echo ${UNAME_MACHINE}-stratus-vos 1170 exit ;; 1154 1171 *:VOS:*:*) 1155 1172 # From [email protected]. 1156 1173 echo hppa1.1-stratus-vos 1157 exit 0;;1174 exit ;; 1158 1175 mc68*:A/UX:*:*) 1159 1176 echo m68k-apple-aux${UNAME_RELEASE} 1160 exit 0;;1177 exit ;; 1161 1178 news*:NEWS-OS:6*:*) 1162 1179 echo mips-sony-newsos6 1163 exit 0;;1180 exit ;; 1164 1181 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 1165 1182 if [ -d /usr/nec ]; then … … 1168 1185 echo mips-unknown-sysv${UNAME_RELEASE} 1169 1186 fi 1170 exit 0;;1187 exit ;; 1171 1188 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 1172 1189 echo powerpc-be-beos 1173 exit 0;;1190 exit ;; 1174 1191 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 1175 1192 echo powerpc-apple-beos 1176 exit 0;;1193 exit ;; 1177 1194 BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 1178 1195 echo i586-pc-beos 1179 exit 0;;1196 exit ;; 1180 1197 SX-4:SUPER-UX:*:*) 1181 1198 echo sx4-nec-superux${UNAME_RELEASE} 1182 exit 0;;1199 exit ;; 1183 1200 SX-5:SUPER-UX:*:*) 1184 1201 echo sx5-nec-superux${UNAME_RELEASE} 1185 exit 0;;1202 exit ;; 1186 1203 SX-6:SUPER-UX:*:*) 1187 1204 echo sx6-nec-superux${UNAME_RELEASE} 1188 exit 0;;1205 exit ;; 1189 1206 Power*:Rhapsody:*:*) 1190 1207 echo powerpc-apple-rhapsody${UNAME_RELEASE} 1191 exit 0;;1208 exit ;; 1192 1209 *:Rhapsody:*:*) 1193 1210 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} 1194 exit 0;;1211 exit ;; 1195 1212 *:Darwin:*:*) 1196 case `uname -p` in1197 *86) UNAME_PROCESSOR=i686 ;;1198 powerpc) UNAME_PROCESSOR=powerpc ;;1213 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown 1214 case $UNAME_PROCESSOR in 1215 unknown) UNAME_PROCESSOR=powerpc ;; 1199 1216 esac 1200 1217 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} 1201 exit 0;;1218 exit ;; 1202 1219 *:procnto*:*:* | *:QNX:[0123456789]*:*) 1203 1220 UNAME_PROCESSOR=`uname -p` … … 1207 1224 fi 1208 1225 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} 1209 exit 0;;1226 exit ;; 1210 1227 *:QNX:*:4*) 1211 1228 echo i386-pc-qnx 1212 exit 0 ;; 1229 exit ;; 1230 NSE-?:NONSTOP_KERNEL:*:*) 1231 echo nse-tandem-nsk${UNAME_RELEASE} 1232 exit ;; 1213 1233 NSR-?:NONSTOP_KERNEL:*:*) 1214 1234 echo nsr-tandem-nsk${UNAME_RELEASE} 1215 exit 0;;1235 exit ;; 1216 1236 *:NonStop-UX:*:*) 1217 1237 echo mips-compaq-nonstopux 1218 exit 0;;1238 exit ;; 1219 1239 BS2000:POSIX*:*:*) 1220 1240 echo bs2000-siemens-sysv 1221 exit 0;;1241 exit ;; 1222 1242 DS/*:UNIX_System_V:*:*) 1223 1243 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} 1224 exit 0;;1244 exit ;; 1225 1245 *:Plan9:*:*) 1226 1246 # "uname -m" is not consistent, so use $cputype instead. 386 … … 1233 1253 fi 1234 1254 echo ${UNAME_MACHINE}-unknown-plan9 1235 exit 0;;1255 exit ;; 1236 1256 *:TOPS-10:*:*) 1237 1257 echo pdp10-unknown-tops10 1238 exit 0;;1258 exit ;; 1239 1259 *:TENEX:*:*) 1240 1260 echo pdp10-unknown-tenex 1241 exit 0;;1261 exit ;; 1242 1262 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 1243 1263 echo pdp10-dec-tops20 1244 exit 0;;1264 exit ;; 1245 1265 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 1246 1266 echo pdp10-xkl-tops20 1247 exit 0;;1267 exit ;; 1248 1268 *:TOPS-20:*:*) 1249 1269 echo pdp10-unknown-tops20 1250 exit 0;;1270 exit ;; 1251 1271 *:ITS:*:*) 1252 1272 echo pdp10-unknown-its 1253 exit 0;;1273 exit ;; 1254 1274 SEI:*:*:SEIUX) 1255 1275 echo mips-sei-seiux${UNAME_RELEASE} 1256 exit 0;;1276 exit ;; 1257 1277 *:DragonFly:*:*) 1258 1278 echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` 1259 exit 0 ;; 1279 exit ;; 1280 *:*VMS:*:*) 1281 UNAME_MACHINE=`(uname -p) 2>/dev/null` 1282 case "${UNAME_MACHINE}" in 1283 A*) echo alpha-dec-vms ; exit ;; 1284 I*) echo ia64-dec-vms ; exit ;; 1285 V*) echo vax-dec-vms ; exit ;; 1286 esac ;; 1287 *:XENIX:*:SysV) 1288 echo i386-pc-xenix 1289 exit ;; 1290 i*86:skyos:*:*) 1291 echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' 1292 exit ;; 1293 i*86:rdos:*:*) 1294 echo ${UNAME_MACHINE}-pc-rdos 1295 exit ;; 1260 1296 esac 1261 1297 … … 1289 1325 1290 1326 #if defined (__arm) && defined (__acorn) && defined (__unix) 1291 printf ("arm-acorn-riscix "); exit (0);1327 printf ("arm-acorn-riscix\n"); exit (0); 1292 1328 #endif 1293 1329 … … 1378 1414 EOF 1379 1415 1380 $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 1416 $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && 1417 { echo "$SYSTEM_NAME"; exit; } 1381 1418 1382 1419 # Apollos put the system type in the environment. 1383 1420 1384 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }1421 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } 1385 1422 1386 1423 # Convex versions that predate uname can use getsysinfo(1) … … 1391 1428 c1*) 1392 1429 echo c1-convex-bsd 1393 exit 0;;1430 exit ;; 1394 1431 c2*) 1395 1432 if getsysinfo -f scalar_acc … … 1397 1434 else echo c2-convex-bsd 1398 1435 fi 1399 exit 0;;1436 exit ;; 1400 1437 c34*) 1401 1438 echo c34-convex-bsd 1402 exit 0;;1439 exit ;; 1403 1440 c38*) 1404 1441 echo c38-convex-bsd 1405 exit 0;;1442 exit ;; 1406 1443 c4*) 1407 1444 echo c4-convex-bsd 1408 exit 0;;1445 exit ;; 1409 1446 esac 1410 1447 fi … … 1417 1454 download the most up to date version of the config scripts from 1418 1455 1419 ftp://ftp.gnu.org/pub/gnu/config/ 1456 http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess 1457 and 1458 http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub 1420 1459 1421 1460 If the version you run ($0) is already up to date, please -
vendor/gnumake/current/config/config.rpath
-
Property svn:executable
set to
*
-
Property svn:executable
set to
-
vendor/gnumake/current/config/config.sub
r152 r501 2 2 # Configuration validation subroutine script. 3 3 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 4 # 2000, 2001, 2002, 2003 Free Software Foundation, Inc. 5 6 timestamp='2004-02-23' 4 # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, 5 # Inc. 6 7 timestamp='2006-03-07' 7 8 8 9 # This file is (in principle) common to ALL GNU software. … … 22 23 # You should have received a copy of the GNU General Public License 23 24 # along with this program; if not, write to the Free Software 24 # Foundation, Inc., 5 9 Temple Place - Suite 330,25 # Boston, MA 02111-1307, USA.26 25 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 26 # 02110-1301, USA. 27 # 27 28 # As a special exception to the GNU General Public License, if you 28 29 # distribute this file as part of a program that contains a 29 30 # configuration script generated by Autoconf, you may include it under 30 31 # the same distribution terms that you use for the rest of that program. 32 31 33 32 34 # Please send patches to <[email protected]>. Submit a context … … 71 73 GNU config.sub ($timestamp) 72 74 73 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 75 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 74 76 Free Software Foundation, Inc. 75 77 … … 84 86 case $1 in 85 87 --time-stamp | --time* | -t ) 86 echo "$timestamp" ; exit 0;;88 echo "$timestamp" ; exit ;; 87 89 --version | -v ) 88 echo "$version" ; exit 0;;90 echo "$version" ; exit ;; 89 91 --help | --h* | -h ) 90 echo "$usage"; exit 0;;92 echo "$usage"; exit ;; 91 93 -- ) # Stop option processing 92 94 shift; break ;; … … 100 102 # First pass through any local machine types. 101 103 echo $1 102 exit 0;;104 exit ;; 103 105 104 106 * ) … … 119 121 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 120 122 case $maybe_os in 121 nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ 122 kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) 123 nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ 124 uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ 125 storm-chaos* | os2-emx* | rtmk-nova*) 123 126 os=-$maybe_os 124 127 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` … … 146 149 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 147 150 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 148 -apple | -axis )151 -apple | -axis | -knuth | -cray) 149 152 os= 150 153 basic_machine=$1 … … 171 174 os=-hiuxwe2 172 175 ;; 176 -sco6) 177 os=-sco5v6 178 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 179 ;; 173 180 -sco5) 174 181 os=-sco3.2v5 … … 184 191 ;; 185 192 -sco3.2v[4-9]*) 193 # Don't forget version if it is 3.2v4 or newer. 194 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 195 ;; 196 -sco5v6*) 186 197 # Don't forget version if it is 3.2v4 or newer. 187 198 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` … … 232 243 | am33_2.0 \ 233 244 | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ 245 | bfin \ 234 246 | c4x | clipper \ 235 247 | d10v | d30v | dlx | dsp16xx \ … … 238 250 | i370 | i860 | i960 | ia64 \ 239 251 | ip2k | iq2000 \ 240 | m32r | m 68000 | m68k | m88k| mcore \252 | m32r | m32rle | m68000 | m68k | m88k | maxq | mb | microblaze | mcore \ 241 253 | mips | mipsbe | mipseb | mipsel | mipsle \ 242 254 | mips16 \ … … 247 259 | mips64vr4300 | mips64vr4300el \ 248 260 | mips64vr5000 | mips64vr5000el \ 261 | mips64vr5900 | mips64vr5900el \ 249 262 | mipsisa32 | mipsisa32el \ 250 263 | mipsisa32r2 | mipsisa32r2el \ … … 255 268 | mipstx39 | mipstx39el \ 256 269 | mn10200 | mn10300 \ 270 | mt \ 257 271 | msp430 \ 272 | nios | nios2 \ 258 273 | ns16k | ns32k \ 259 | o penrisc | or32 \274 | or32 \ 260 275 | pdp10 | pdp11 | pj | pjl \ 261 276 | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ 262 277 | pyramid \ 263 | sh | sh[1234] | sh[2 3]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \278 | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 264 279 | sh64 | sh64le \ 265 | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ 280 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 281 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 266 282 | strongarm \ 267 283 | tahoe | thumb | tic4x | tic80 | tron \ 268 284 | v850 | v850e \ 269 285 | we32k \ 270 | x86 | xscale | xs tormy16 | xtensa \286 | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \ 271 287 | z8k) 288 basic_machine=$basic_machine-unknown 289 ;; 290 m32c) 272 291 basic_machine=$basic_machine-unknown 273 292 ;; … … 278 297 ;; 279 298 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 299 ;; 300 ms1) 301 basic_machine=mt-unknown 280 302 ;; 281 303 … … 299 321 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 300 322 | avr-* \ 301 | b s2000-* \323 | bfin-* | bs2000-* \ 302 324 | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ 303 | clipper-* | c ydra-* \325 | clipper-* | craynv-* | cydra-* \ 304 326 | d10v-* | d30v-* | dlx-* \ 305 327 | elxsi-* \ … … 309 331 | i*86-* | i860-* | i960-* | ia64-* \ 310 332 | ip2k-* | iq2000-* \ 311 | m32r-* \333 | m32r-* | m32rle-* \ 312 334 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 313 | m88110-* | m88k-* | m core-* \335 | m88110-* | m88k-* | maxq-* | mcore-* \ 314 336 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 315 337 | mips16-* \ … … 320 342 | mips64vr4300-* | mips64vr4300el-* \ 321 343 | mips64vr5000-* | mips64vr5000el-* \ 344 | mips64vr5900-* | mips64vr5900el-* \ 322 345 | mipsisa32-* | mipsisa32el-* \ 323 346 | mipsisa32r2-* | mipsisa32r2el-* \ … … 327 350 | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 328 351 | mipstx39-* | mipstx39el-* \ 352 | mmix-* \ 353 | mt-* \ 329 354 | msp430-* \ 330 | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \ 355 | nios-* | nios2-* \ 356 | none-* | np1-* | ns16k-* | ns32k-* \ 331 357 | orion-* \ 332 358 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ … … 334 360 | pyramid-* \ 335 361 | romp-* | rs6000-* \ 336 | sh-* | sh[1234]-* | sh[2 3]e-* | sh[34]eb-* | shbe-* \362 | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 337 363 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 338 | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ 339 | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ 364 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 365 | sparclite-* \ 366 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ 340 367 | tahoe-* | thumb-* \ 341 368 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ … … 343 370 | v850-* | v850e-* | vax-* \ 344 371 | we32k-* \ 345 | x86-* | x86_64-* | xps100-* | xscale-* | xs tormy16-* \346 | x tensa-* \372 | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \ 373 | xstormy16-* | xtensa-* \ 347 374 | ymp-* \ 348 375 | z8k-*) 376 ;; 377 m32c-*) 349 378 ;; 350 379 # Recognize the various machine names and aliases which stand … … 446 475 os=-unicos 447 476 ;; 477 craynv) 478 basic_machine=craynv-cray 479 os=-unicosmp 480 ;; 448 481 cr16c) 449 482 basic_machine=cr16c-unknown … … 453 486 basic_machine=m68k-crds 454 487 ;; 488 crisv32 | crisv32-* | etraxfs*) 489 basic_machine=crisv32-axis 490 ;; 455 491 cris | cris-* | etrax*) 456 492 basic_machine=cris-axis … … 481 517 basic_machine=m88k-motorola 482 518 os=-sysv3 519 ;; 520 djgpp) 521 basic_machine=i586-pc 522 os=-msdosdjgpp 483 523 ;; 484 524 dpx20 | dpx20-*) … … 660 700 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 661 701 ;; 662 mmix*)663 basic_machine=mmix-knuth664 os=-mmixware665 ;;666 702 monitor) 667 703 basic_machine=m68k-rom68k … … 675 711 basic_machine=i386-pc 676 712 os=-msdos 713 ;; 714 ms1-*) 715 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 677 716 ;; 678 717 mvs) … … 744 783 basic_machine=np1-gould 745 784 ;; 746 nv1)747 basic_machine=nv1-cray748 os=-unicosmp749 ;;750 785 nsr-tandem) 751 786 basic_machine=nsr-tandem … … 755 790 os=-proelf 756 791 ;; 757 o r32 | or32-*)792 openrisc | openrisc-*) 758 793 basic_machine=or32-unknown 759 os=-coff760 794 ;; 761 795 os400) … … 788 822 basic_machine=ns32k-pc532 789 823 ;; 824 pc98) 825 basic_machine=i386-pc 826 ;; 827 pc98-*) 828 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 829 ;; 790 830 pentium | p5 | k5 | k6 | nexgen | viac3) 791 831 basic_machine=i586-pc … … 844 884 os=-pw32 845 885 ;; 886 rdos) 887 basic_machine=i386-pc 888 os=-rdos 889 ;; 846 890 rom68k) 847 891 basic_machine=m68k-rom68k … … 1029 1073 basic_machine=hppa1.1-winbond 1030 1074 os=-proelf 1075 ;; 1076 xbox) 1077 basic_machine=i686-pc 1078 os=-mingw32 1031 1079 ;; 1032 1080 xps | xps100) … … 1060 1108 basic_machine=romp-ibm 1061 1109 ;; 1110 mmix) 1111 basic_machine=mmix-knuth 1112 ;; 1062 1113 rs6000) 1063 1114 basic_machine=rs6000-ibm … … 1076 1127 basic_machine=we32k-att 1077 1128 ;; 1078 sh 3 | sh4| sh[34]eb | sh[1234]le | sh[23]ele)1129 sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) 1079 1130 basic_machine=sh-unknown 1080 1131 ;; 1081 sh64) 1082 basic_machine=sh64-unknown 1083 ;; 1084 sparc | sparcv9 | sparcv9b) 1132 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1085 1133 basic_machine=sparc-sun 1086 1134 ;; … … 1155 1203 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1156 1204 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 1157 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ 1205 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 1206 | -openbsd* | -solidbsd* \ 1158 1207 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 1159 1208 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ … … 1162 1211 | -chorusos* | -chorusrdb* \ 1163 1212 | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 1164 | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ 1213 | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ 1214 | -uxpv* | -beos* | -mpeix* | -udk* \ 1165 1215 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1166 1216 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ … … 1168 1218 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1169 1219 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 1170 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*) 1220 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 1221 | -skyos* | -haiku* | -rdos*) 1171 1222 # Remember, each alternative MUST END IN *, to match a version number. 1172 1223 ;; … … 1186 1237 ;; 1187 1238 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 1188 | -windows* | -osx | -abug | -netware* | -os9* | -beos* \1239 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1189 1240 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1190 1241 ;; … … 1294 1345 -kaos*) 1295 1346 os=-kaos 1347 ;; 1348 -zvmoe) 1349 os=-zvmoe 1296 1350 ;; 1297 1351 -none) … … 1372 1426 os=-beos 1373 1427 ;; 1428 *-haiku) 1429 os=-haiku 1430 ;; 1374 1431 *-ibm) 1375 1432 os=-aix 1433 ;; 1434 *-knuth) 1435 os=-mmixware 1376 1436 ;; 1377 1437 *-wec) … … 1540 1600 1541 1601 echo $basic_machine$os 1542 exit 01602 exit 1543 1603 1544 1604 # Local variables: -
vendor/gnumake/current/config/depcomp
-
Property svn:executable
set to
*
r152 r501 2 2 # depcomp - compile a program generating dependencies as side-effects 3 3 4 scriptversion=200 3-11-08.235 6 # Copyright (C) 1999, 2000, 2003 Free Software Foundation, Inc.4 scriptversion=2005-07-09.11 5 6 # Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. 7 7 8 8 # This program is free software; you can redistribute it and/or modify … … 18 18 # You should have received a copy of the GNU General Public License 19 19 # along with this program; if not, write to the Free Software 20 # Foundation, Inc., 5 9 Temple Place - Suite 330, Boston, MA21 # 0211 1-1307, USA.20 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 21 # 02110-1301, USA. 22 22 23 23 # As a special exception to the GNU General Public License, if you … … 44 44 source Source file read by `PROGRAMS ARGS'. 45 45 object Object file output by `PROGRAMS ARGS'. 46 DEPDIR directory where to store dependencies. 46 47 depfile Dependency file to output. 47 48 tmpdepfile Temporary file to use when outputing dependencies. … … 50 51 Report bugs to <[email protected]>. 51 52 EOF 52 exit 053 exit $? 53 54 ;; 54 55 -v | --v*) 55 56 echo "depcomp $scriptversion" 56 exit 057 exit $? 57 58 ;; 58 59 esac … … 62 63 exit 1 63 64 fi 64 # `libtool' can also be set to `yes' or `no'. 65 66 if test -z "$depfile"; then 67 base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` 68 dir=`echo "$object" | sed 's,/.*$,/,'` 69 if test "$dir" = "$object"; then 70 dir= 71 fi 72 # FIXME: should be _deps on DOS. 73 depfile="$dir.deps/$base" 74 fi 75 65 66 # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. 67 depfile=${depfile-`echo "$object" | 68 sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} 76 69 tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} 77 70 … … 295 288 296 289 if test "$libtool" = yes; then 297 tmpdepfile1="$dir.libs/$base.lo.d" 298 tmpdepfile2="$dir.libs/$base.d" 290 # With Tru64 cc, shared objects can also be used to make a 291 # static library. This mecanism is used in libtool 1.4 series to 292 # handle both shared and static libraries in a single compilation. 293 # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. 294 # 295 # With libtool 1.5 this exception was removed, and libtool now 296 # generates 2 separate objects for the 2 libraries. These two 297 # compilations output dependencies in in $dir.libs/$base.o.d and 298 # in $dir$base.o.d. We have to check for both files, because 299 # one of the two compilations can be disabled. We should prefer 300 # $dir$base.o.d over $dir.libs/$base.o.d because the latter is 301 # automatically cleaned when .libs/ is deleted, while ignoring 302 # the former would cause a distcleancheck panic. 303 tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 304 tmpdepfile2=$dir$base.o.d # libtool 1.5 305 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 306 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 299 307 "$@" -Wc,-MD 300 308 else 301 tmpdepfile1="$dir$base.o.d" 302 tmpdepfile2="$dir$base.d" 309 tmpdepfile1=$dir$base.o.d 310 tmpdepfile2=$dir$base.d 311 tmpdepfile3=$dir$base.d 312 tmpdepfile4=$dir$base.d 303 313 "$@" -MD 304 314 fi … … 307 317 if test $stat -eq 0; then : 308 318 else 309 rm -f "$tmpdepfile1" "$tmpdepfile2" 319 rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" 310 320 exit $stat 311 321 fi 312 322 313 if test -f "$tmpdepfile1"; then 314 tmpdepfile="$tmpdepfile1" 315 else 316 tmpdepfile="$tmpdepfile2" 317 fi 323 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" 324 do 325 test -f "$tmpdepfile" && break 326 done 318 327 if test -f "$tmpdepfile"; then 319 328 sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" … … 459 468 460 469 "$@" -E | 461 sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | 470 sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ 471 -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | 462 472 sed '$ s: \\$::' > "$tmpdepfile" 463 473 rm -f "$depfile" -
Property svn:executable
set to
-
vendor/gnumake/current/config/dospaths.m4
r152 r501 1 1 # Test if the system uses DOS-style pathnames (drive specs and backslashes) 2 2 # By Paul Smith <[email protected]>. Based on dos.m4 by Jim Meyering. 3 4 # Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 5 # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 6 # This file is part of GNU Make. 7 # 8 # GNU Make is free software; you can redistribute it and/or modify it under the 9 # terms of the GNU General Public License as published by the Free Software 10 # Foundation; either version 2, or (at your option) any later version. 11 # 12 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 13 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 14 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 15 # 16 # You should have received a copy of the GNU General Public License along with 17 # GNU Make; see the file COPYING. If not, write to the Free Software 18 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 3 19 4 20 AC_DEFUN([pds_AC_DOS_PATHS], … … 7 23 [ 8 24 AC_COMPILE_IFELSE([ 9 #if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __EMX__ 25 #if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __EMX__ && !defined __MSYS__ 10 26 neither MSDOS nor Windows nor OS2 11 27 #endif -
vendor/gnumake/current/config/install-sh
-
Property svn:executable
set to
*
r152 r501 2 2 # install - install a program, script, or datafile 3 3 4 scriptversion=200 4-01-12.104 scriptversion=2005-05-14.22 5 5 6 6 # This originates from X11R5 (mit/util/scripts/install.sh), which was … … 59 59 mkdirprog="${MKDIRPROG-mkdir}" 60 60 61 transformbasename=62 transform_arg=63 instcmd="$mvprog"64 61 chmodcmd="$chmodprog 0755" 65 62 chowncmd= … … 71 68 dst= 72 69 dir_arg= 73 74 usage="Usage: $0 [OPTION]... SRCFILE DSTFILE 70 dstarg= 71 no_target_directory= 72 73 usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE 75 74 or: $0 [OPTION]... SRCFILES... DIRECTORY 76 or: $0 -d DIRECTORIES... 77 78 In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default. 79 In the second, create the directory path DIR. 75 or: $0 [OPTION]... -t DIRECTORY SRCFILES... 76 or: $0 [OPTION]... -d DIRECTORIES... 77 78 In the 1st form, copy SRCFILE to DSTFILE. 79 In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. 80 In the 4th, create DIRECTORIES. 80 81 81 82 Options: 82 -b=TRANSFORMBASENAME 83 -c copy source (using $cpprog) instead of moving (using $mvprog). 83 -c (ignored) 84 84 -d create directories instead of installing files. 85 -g GROUP $chgrp installed files to GROUP. 86 -m MODE $chmod installed files to MODE. 87 -o USER $chown installed files to USER. 88 -s strip installed files (using $stripprog). 89 -t=TRANSFORM 85 -g GROUP $chgrpprog installed files to GROUP. 86 -m MODE $chmodprog installed files to MODE. 87 -o USER $chownprog installed files to USER. 88 -s $stripprog installed files. 89 -t DIRECTORY install into DIRECTORY. 90 -T report an error if DSTFILE is a directory. 90 91 --help display this help and exit. 91 92 --version display version info and exit. … … 97 98 while test -n "$1"; do 98 99 case $1 in 99 -b=*) transformbasename=`echo $1 | sed 's/-b=//'` 100 shift 101 continue;; 102 103 -c) instcmd=$cpprog 104 shift 100 -c) shift 105 101 continue;; 106 102 … … 114 110 continue;; 115 111 116 --help) echo "$usage"; exit 0;;112 --help) echo "$usage"; exit $?;; 117 113 118 114 -m) chmodcmd="$chmodprog $2" … … 130 126 continue;; 131 127 132 -t=*) transformarg=`echo $1 | sed 's/-t=//'` 133 shift 134 continue;; 135 136 --version) echo "$0 $scriptversion"; exit 0;; 128 -t) dstarg=$2 129 shift 130 shift 131 continue;; 132 133 -T) no_target_directory=true 134 shift 135 continue;; 136 137 --version) echo "$0 $scriptversion"; exit $?;; 137 138 138 139 *) # When -d is used, all remaining arguments are directories to create. 139 test -n "$dir_arg" && break 140 # When -t is used, the destination is already specified. 141 test -n "$dir_arg$dstarg" && break 140 142 # Otherwise, the last argument is the destination. Remove it from $@. 141 143 for arg … … 175 177 176 178 if test -d "$dst"; then 177 instcmd=:179 mkdircmd=: 178 180 chmodcmd= 179 181 else 180 instcmd=$mkdirprog182 mkdircmd=$mkdirprog 181 183 fi 182 184 else 183 # Waiting for this to be detected by the "$ instcmd$src $dsttmp" command185 # Waiting for this to be detected by the "$cpprog $src $dsttmp" command 184 186 # might cause directories to be created, which would be especially bad 185 187 # if $src (and thus $dsttmp) contains '*'. … … 203 205 # if double slashes aren't ignored. 204 206 if test -d "$dst"; then 207 if test -n "$no_target_directory"; then 208 echo "$0: $dstarg: Is a directory" >&2 209 exit 1 210 fi 205 211 dst=$dst/`basename "$src"` 206 212 fi … … 208 214 209 215 # This sed command emulates the dirname command. 210 dstdir=`echo "$dst" | sed -e 's, [^/]*$,,;s,/$,,;s,^$,.,'`216 dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'` 211 217 212 218 # Make sure that the destination directory exists. … … 215 221 if test ! -d "$dstdir"; then 216 222 defaultIFS=' 217 223 ' 218 224 IFS="${IFS-$defaultIFS}" 219 225 … … 221 227 # Some sh's can't handle IFS=/ for some reason. 222 228 IFS='%' 223 set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` 229 set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` 230 shift 224 231 IFS=$oIFS 225 232 … … 229 236 pathcomp=$pathcomp$1 230 237 shift 231 test -d "$pathcomp" || $mkdirprog "$pathcomp" 238 if test ! -d "$pathcomp"; then 239 $mkdirprog "$pathcomp" 240 # mkdir can fail with a `File exist' error in case several 241 # install-sh are creating the directory concurrently. This 242 # is OK. 243 test -d "$pathcomp" || exit 244 fi 232 245 pathcomp=$pathcomp/ 233 246 done … … 235 248 236 249 if test -n "$dir_arg"; then 237 $doit $ instcmd "$dst" \250 $doit $mkdircmd "$dst" \ 238 251 && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ 239 252 && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ … … 242 255 243 256 else 244 # If we're going to rename the final executable, determine the name now. 245 if test -z "$transformarg"; then 246 dstfile=`basename "$dst"` 247 else 248 dstfile=`basename "$dst" $transformbasename \ 249 | sed $transformarg`$transformbasename 250 fi 251 252 # don't allow the sed command to completely eliminate the filename. 253 test -z "$dstfile" && dstfile=`basename "$dst"` 257 dstfile=`basename "$dst"` 254 258 255 259 # Make a couple of temp file names in the proper directory. … … 258 262 259 263 # Trap to clean up those temp files at exit. 260 trap ' status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0264 trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 261 265 trap '(exit $?); exit' 1 2 13 15 262 266 263 # Move or copy the file name to the temp name264 $doit $ instcmd"$src" "$dsttmp" &&267 # Copy the file name to the temp name. 268 $doit $cpprog "$src" "$dsttmp" && 265 269 266 270 # and set any options; do chmod last to preserve setuid bits. … … 268 272 # If any of these fail, we abort the whole thing. If we want to 269 273 # ignore errors from any of these, just make sure not to ignore 270 # errors from the above "$doit $ instcmd$src $dsttmp" command.274 # errors from the above "$doit $cpprog $src $dsttmp" command. 271 275 # 272 276 { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ … … 275 279 && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && 276 280 277 # Now remove or move aside any old file at destination location. We278 # try this two ways since rm can't unlink itself on some systems and279 # the destination file might be busy for other reasons. In this case,280 # the final cleanup might fail but the new file should still install281 # successfully.282 {283 if test -f "$dstdir/$dstfile"; then284 $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \285 || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \286 || {287 echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2288 (exit 1); exit289 }290 else291 :292 fi293 } &&294 295 281 # Now rename the file to the real destination. 296 $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" 297 fi || { (exit 1); exit; } 282 { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ 283 || { 284 # The rename failed, perhaps because mv can't rename something else 285 # to itself, or perhaps because mv is so ancient that it does not 286 # support -f. 287 288 # Now remove or move aside any old file at destination location. 289 # We try this two ways since rm can't unlink itself on some 290 # systems and the destination file might be busy for other 291 # reasons. In this case, the final cleanup might fail but the new 292 # file should still install successfully. 293 { 294 if test -f "$dstdir/$dstfile"; then 295 $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ 296 || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ 297 || { 298 echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 299 (exit 1); exit 1 300 } 301 else 302 : 303 fi 304 } && 305 306 # Now rename the file to the real destination. 307 $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" 308 } 309 } 310 fi || { (exit 1); exit 1; } 298 311 done 299 312 300 313 # The final little trick to "correctly" pass the exit status to the exit trap. 301 314 { 302 (exit 0); exit 315 (exit 0); exit 0 303 316 } 304 317 -
Property svn:executable
set to
-
vendor/gnumake/current/config/missing
-
Property svn:executable
set to
*
r152 r501 2 2 # Common stub for a few missing GNU programs while installing. 3 3 4 scriptversion=200 3-09-02.235 6 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 4 scriptversion=2005-06-08.21 5 6 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005 7 7 # Free Software Foundation, Inc. 8 8 # Originally by Fran,cois Pinard <[email protected]>, 1996. … … 20 20 # You should have received a copy of the GNU General Public License 21 21 # along with this program; if not, write to the Free Software 22 # Foundation, Inc., 5 9 Temple Place - Suite 330, Boston, MA23 # 0211 1-1307, USA.22 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 23 # 02110-1301, USA. 24 24 25 25 # As a special exception to the GNU General Public License, if you … … 61 61 fi 62 62 ;; 63 esac64 65 # If it does not exist, or fails to run (possibly an outdated version),66 # try to emulate it.67 case "$1" in68 63 69 64 -h|--h|--he|--hel|--help) … … 93 88 94 89 Send bug reports to <[email protected]>." 90 exit $? 95 91 ;; 96 92 97 93 -v|--v|--ve|--ver|--vers|--versi|--versio|--version) 98 94 echo "missing $scriptversion (GNU Automake)" 95 exit $? 99 96 ;; 100 97 … … 105 102 ;; 106 103 107 aclocal*) 104 esac 105 106 # Now exit if we have it, but it failed. Also exit now if we 107 # don't have it and --version was passed (most likely to detect 108 # the program). 109 case "$1" in 110 lex|yacc) 111 # Not GNU programs, they don't have --version. 112 ;; 113 114 tar) 115 if test -n "$run"; then 116 echo 1>&2 "ERROR: \`tar' requires --run" 117 exit 1 118 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then 119 exit 1 120 fi 121 ;; 122 123 *) 108 124 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then 109 125 # We have it, but it failed. 110 126 exit 1 111 fi 112 127 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then 128 # Could not run --version or --help. This is probably someone 129 # running `$TOOL --version' or `$TOOL --help' to check whether 130 # $TOOL exists and not knowing $TOOL uses missing. 131 exit 1 132 fi 133 ;; 134 esac 135 136 # If it does not exist, or fails to run (possibly an outdated version), 137 # try to emulate it. 138 case "$1" in 139 aclocal*) 113 140 echo 1>&2 "\ 114 141 WARNING: \`$1' is $msg. You should only need it if … … 120 147 121 148 autoconf) 122 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then123 # We have it, but it failed.124 exit 1125 fi126 127 149 echo 1>&2 "\ 128 150 WARNING: \`$1' is $msg. You should only need it if … … 134 156 135 157 autoheader) 136 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then137 # We have it, but it failed.138 exit 1139 fi140 141 158 echo 1>&2 "\ 142 159 WARNING: \`$1' is $msg. You should only need it if … … 158 175 159 176 automake*) 160 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then161 # We have it, but it failed.162 exit 1163 fi164 165 177 echo 1>&2 "\ 166 178 WARNING: \`$1' is $msg. You should only need it if … … 174 186 175 187 autom4te) 176 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then177 # We have it, but it failed.178 exit 1179 fi180 181 188 echo 1>&2 "\ 182 189 WARNING: \`$1' is needed, but is $msg. … … 255 262 256 263 help2man) 257 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then258 # We have it, but it failed.259 exit 1260 fi261 262 264 echo 1>&2 "\ 263 265 WARNING: \`$1' is $msg. You should only need it if … … 280 282 281 283 makeinfo) 282 if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then283 # We have makeinfo, but it failed.284 exit 1285 fi286 287 284 echo 1>&2 "\ 288 285 WARNING: \`$1' is $msg. You should only need it if … … 292 289 DU, IRIX). You might want to install the \`Texinfo' package or 293 290 the \`GNU make' package. Grab either from any GNU archive site." 291 # The file to touch is that specified with -o ... 294 292 file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` 295 293 if test -z "$file"; then 296 file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` 297 file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` 298 fi 294 # ... or it is the one specified with @setfilename ... 295 infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` 296 file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile` 297 # ... or it is derived from the source name (dir/f.texi becomes f.info) 298 test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info 299 fi 300 # If the file does not exist, the user really needs makeinfo; 301 # let's fail without touching anything. 302 test -f $file || exit 1 299 303 touch $file 300 304 ;; … … 302 306 tar) 303 307 shift 304 if test -n "$run"; then305 echo 1>&2 "ERROR: \`tar' requires --run"306 exit 1307 fi308 308 309 309 # We have already tried tar in the generic part. -
Property svn:executable
set to
-
vendor/gnumake/current/config/mkinstalldirs
-
Property svn:executable
set to
*
-
Property svn:executable
set to
-
vendor/gnumake/current/config/texinfo.tex
r152 r501 4 4 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi 5 5 % 6 \def\texinfoversion{200 4-02-25.17}6 \def\texinfoversion{2006-03-21.13} 7 7 % 8 8 % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 9 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software10 % Foundation, Inc.9 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free 10 % Software Foundation, Inc. 11 11 % 12 12 % This texinfo.tex file is free software; you can redistribute it and/or … … 22 22 % You should have received a copy of the GNU General Public License 23 23 % along with this texinfo.tex file; see the file COPYING. If not, write 24 % to the Free Software Foundation, Inc., 5 9 Temple Place - Suite 330,25 % Boston, MA 0211 1-1307, USA.24 % to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 25 % Boston, MA 02110-1301, USA. 26 26 % 27 27 % As a special exception, when this file is read by TeX when processing 28 28 % a Texinfo source document, you may use the result without 29 29 % restriction. (This has been our intent since Texinfo was invented.) 30 % 30 % 31 31 % Please try the latest version of texinfo.tex before submitting bug 32 32 % reports; you can get the latest version from: … … 56 56 % extent. You can get the existing language-specific files from the 57 57 % full Texinfo distribution. 58 % 58 % 59 59 % The GNU Texinfo home page is http://www.gnu.org/software/texinfo. 60 60 … … 90 90 \let\ptexi=\i 91 91 \let\ptexindent=\indent 92 \let\ptexnoindent=\noindent93 92 \let\ptexinsert=\insert 94 93 \let\ptexlbrace=\{ 95 94 \let\ptexless=< 95 \let\ptexnewwrite\newwrite 96 \let\ptexnoindent=\noindent 96 97 \let\ptexplus=+ 97 98 \let\ptexrbrace=\} … … 153 154 \ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi 154 155 155 % In some macros, we cannot use the `\? notation---the left quote is 156 % in some cases the escape char. 157 \chardef\colonChar = `\: 158 \chardef\commaChar = `\, 159 \chardef\dotChar = `\. 160 \chardef\exclamChar= `\! 161 \chardef\questChar = `\? 162 \chardef\semiChar = `\; 163 \chardef\underChar = `\_ 164 165 \chardef\spaceChar = `\ % 156 % Since the category of space is not known, we have to be careful. 166 157 \chardef\spacecat = 10 167 \def\spaceisspace{\catcode \spaceChar=\spacecat}158 \def\spaceisspace{\catcode`\ =\spacecat} 168 159 169 160 % Ignore a token. … … 176 167 % Hyphenation fixes. 177 168 \hyphenation{ 178 Flor-i-da Ghost-script Ghost-view Mac-OS ap-pen-dix bit-map bit-maps 169 Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script 170 ap-pen-dix bit-map bit-maps 179 171 data-base data-bases eshell fall-ing half-way long-est man-u-script 180 172 man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm 181 par-a-digms rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces 173 par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces 174 spell-ing spell-ings 182 175 stand-alone strong-est time-stamp time-stamps which-ever white-space 183 176 wide-spread wrap-around … … 300 293 % before the \shipout runs. 301 294 % 302 \escapechar = `\\ % use backslash in output files.303 295 \indexdummies % don't expand commands in the output. 304 296 \normalturnoffactive % \ in index entries must not stay \, e.g., if 305 % the page break happens to be in the middle of an example. 297 % the page break happens to be in the middle of an example. 298 % We don't want .vr (or whatever) entries like this: 299 % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}} 300 % "\acronym" won't work when it's read back in; 301 % it needs to be 302 % {\code {{\tt \backslashcurfont }acronym} 306 303 \shipout\vbox{% 307 304 % Do this early so pdf references go to the beginning of the page. … … 354 351 \fi 355 352 }% end of \shipout\vbox 356 }% end of group with \ normalturnoffactive353 }% end of group with \indexdummies 357 354 \advancepageno 358 355 \ifnum\outputpenalty>-20000 \else\dosupereject\fi … … 389 386 \def\parsearg{\parseargusing{}} 390 387 \def\parseargusing#1#2{% 391 \def\ next{#2}%388 \def\argtorun{#2}% 392 389 \begingroup 393 390 \obeylines … … 420 417 \def\temp{#3}% 421 418 \ifx\temp\empty 422 % We cannot use \next here, as it holds the macro to run; 423 % thus we reuse \temp. 419 % Do not use \next, perhaps the caller of \parsearg uses it; reuse \temp: 424 420 \let\temp\finishparsearg 425 421 \else … … 433 429 % to get _exactly_ the rest of the line, we had to prevent such situation. 434 430 % We prepended an \empty token at the very beginning and we expand it now, 435 % just before passing the control to \ next.431 % just before passing the control to \argtorun. 436 432 % (Similarily, we have to think about #3 of \argcheckspacesY above: it is 437 433 % either the null string, or it ends with \^^M---thus there is no danger … … 440 436 % But first, we have to remove the trailing space token. 441 437 % 442 \def\finishparsearg#1 \ArgTerm{\expandafter\ next\expandafter{#1}}438 \def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}} 443 439 444 440 % \parseargdef\foo{...} … … 480 476 481 477 % Define the framework for environments in texinfo.tex. It's used like this: 482 % 478 % 483 479 % \envdef\foo{...} 484 480 % \def\Efoo{...} 485 % 481 % 486 482 % It's the responsibility of \envdef to insert \begingroup before the 487 483 % actual body; @end closes the group after calling \Efoo. \envdef also … … 489 485 % whether the environment name matches. The \checkenv macro can also be 490 486 % used to check whether the current environment is the one expected. 491 % 487 % 492 488 % Non-false conditionals (@iftex, @ifset) don't fit into this, so they 493 489 % are not treated as enviroments; they don't open a group. (The … … 564 560 \begingroup 565 561 % Definitions to produce \{ and \} commands for indices, 566 % and @{ and @} for the aux file.562 % and @{ and @} for the aux/toc files. 567 563 \catcode`\{ = \other \catcode`\} = \other 568 564 \catcode`\[ = 1 \catcode`\] = 2 … … 606 602 % The \TeX{} logo, as in plain, but resetting the spacing so that a 607 603 % period following counts as ending a sentence. (Idea found in latex.) 608 % 609 \edef\TeX{\TeX \spacefactor= 3000 }604 % 605 \edef\TeX{\TeX \spacefactor=1000 } 610 606 611 607 % @LaTeX{} logo. Not quite the same results as the definition in … … 614 610 % the \scriptstyle font (since we don't reset \scriptstyle and 615 611 % \scriptscriptstyle). 616 % 612 % 617 613 \def\LaTeX{% 618 614 L\kern-.36em … … 645 641 646 642 % @. is an end-of-sentence period. 647 \def\.{.\spacefactor= 3000}643 \def\.{.\spacefactor=\endofsentencespacefactor\space} 648 644 649 645 % @! is an end-of-sentence bang. 650 \def\!{!\spacefactor= 3000}646 \def\!{!\spacefactor=\endofsentencespacefactor\space} 651 647 652 648 % @? is an end-of-sentence query. 653 \def\?{?\spacefactor=3000 } 649 \def\?{?\spacefactor=\endofsentencespacefactor\space} 650 651 % @frenchspacing on|off says whether to put extra space after punctuation. 652 % 653 \def\onword{on} 654 \def\offword{off} 655 % 656 \parseargdef\frenchspacing{% 657 \def\temp{#1}% 658 \ifx\temp\onword \plainfrenchspacing 659 \else\ifx\temp\offword \plainnonfrenchspacing 660 \else 661 \errhelp = \EMsimple 662 \errmessage{Unknown @frenchspacing option `\temp', must be on/off}% 663 \fi\fi 664 } 654 665 655 666 % @w prevents a word break. Without the \leavevmode, @w at the … … 1029 1040 % which is what @var uses. 1030 1041 { 1031 \catcode \underChar= \active1042 \catcode`\_ = \active 1032 1043 \gdef\mathunderscore{% 1033 \catcode \underChar=\active1044 \catcode`\_=\active 1034 1045 \def_{\ifnum\fam=\slfam \_\else\sb\fi}% 1035 1046 } … … 1090 1101 \def\enddots{% 1091 1102 \dots 1092 \spacefactor= 30001103 \spacefactor=\endofsentencespacefactor 1093 1104 } 1094 1105 1095 1106 % @comma{} is so commas can be inserted into text without messing up 1096 1107 % Texinfo's parsing. 1097 % 1108 % 1098 1109 \let\comma = , 1099 1110 … … 1161 1172 \newif\ifpdfmakepagedest 1162 1173 1174 % when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1 1175 % can be set). So we test for \relax and 0 as well as \undefined, 1176 % borrowed from ifpdf.sty. 1163 1177 \ifx\pdfoutput\undefined 1164 \pdffalse1165 \let\pdfmkdest = \gobble1166 \let\pdfurl = \gobble1167 \let\endlink = \relax1168 \let\linkcolor = \relax1169 \let\pdfmakeoutlines = \relax1170 1178 \else 1171 \pdftrue 1172 \pdfoutput = 1 1179 \ifx\pdfoutput\relax 1180 \else 1181 \ifcase\pdfoutput 1182 \else 1183 \pdftrue 1184 \fi 1185 \fi 1186 \fi 1187 1188 % PDF uses PostScript string constants for the names of xref targets, 1189 % for display in the outlines, and in other places. Thus, we have to 1190 % double any backslashes. Otherwise, a name like "\node" will be 1191 % interpreted as a newline (\n), followed by o, d, e. Not good. 1192 % http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html 1193 % (and related messages, the final outcome is that it is up to the TeX 1194 % user to double the backslashes and otherwise make the string valid, so 1195 % that's what we do). 1196 1197 % double active backslashes. 1198 % 1199 {\catcode`\@=0 \catcode`\\=\active 1200 @gdef@activebackslashdouble{% 1201 @catcode`@\=@active 1202 @let\=@doublebackslash} 1203 } 1204 1205 % To handle parens, we must adopt a different approach, since parens are 1206 % not active characters. hyperref.dtx (which has the same problem as 1207 % us) handles it with this amazing macro to replace tokens. I've 1208 % tinkered with it a little for texinfo, but it's definitely from there. 1209 % 1210 % #1 is the tokens to replace. 1211 % #2 is the replacement. 1212 % #3 is the control sequence with the string. 1213 % 1214 \def\HyPsdSubst#1#2#3{% 1215 \def\HyPsdReplace##1#1##2\END{% 1216 ##1% 1217 \ifx\\##2\\% 1218 \else 1219 #2% 1220 \HyReturnAfterFi{% 1221 \HyPsdReplace##2\END 1222 }% 1223 \fi 1224 }% 1225 \xdef#3{\expandafter\HyPsdReplace#3#1\END}% 1226 } 1227 \long\def\HyReturnAfterFi#1\fi{\fi#1} 1228 1229 % #1 is a control sequence in which to do the replacements. 1230 \def\backslashparens#1{% 1231 \xdef#1{#1}% redefine it as its expansion; the definition is simply 1232 % \lastnode when called from \setref -> \pdfmkdest. 1233 \HyPsdSubst{(}{\realbackslash(}{#1}% 1234 \HyPsdSubst{)}{\realbackslash)}{#1}% 1235 } 1236 1237 \ifpdf 1173 1238 \input pdfcolor 1174 1239 \pdfcatalog{/PageMode /UseOutlines}% … … 1194 1259 \fi} 1195 1260 \def\pdfmkdest#1{{% 1196 % We have to set dummies so commands such as @code in a section title1197 % aren't expanded.1261 % We have to set dummies so commands such as @code, and characters 1262 % such as \, aren't expanded when present in a section title. 1198 1263 \atdummies 1199 \normalturnoffactive 1200 \pdfdest name{#1} xyz% 1201 }} 1202 \def\pdfmkpgn#1{#1} 1264 \activebackslashdouble 1265 \def\pdfdestname{#1}% 1266 \backslashparens\pdfdestname 1267 \pdfdest name{\pdfdestname} xyz% 1268 }}% 1269 % 1270 % used to mark target names; must be expandable. 1271 \def\pdfmkpgn#1{#1}% 1272 % 1203 1273 \let\linkcolor = \Blue % was Cyan, but that seems light? 1204 1274 \def\endlink{\Black\pdfendlink} … … 1211 1281 \expandafter\xdef\csname#1\endcsname{\the\tempnum}} 1212 1282 % 1213 % #1 is the section text. #2 is the pdf expression for the number 1214 % of subentries (or empty, for subsubsections). #3 is the node 1215 % text, which might be empty if this toc entry had no 1216 % corresponding node. #4 is the page number. 1217 % 1283 % #1 is the section text, which is what will be displayed in the 1284 % outline by the pdf viewer. #2 is the pdf expression for the number 1285 % of subentries (or empty, for subsubsections). #3 is the node text, 1286 % which might be empty if this toc entry had no corresponding node. 1287 % #4 is the page number 1288 % 1218 1289 \def\dopdfoutline#1#2#3#4{% 1219 1290 % Generate a link to the node text if that exists; else, use the 1220 1291 % page number. We could generate a destination for the section 1221 1292 % text in the case where a section has no node, but it doesn't 1222 % seem worth while, since most documents are normally structured.1293 % seem worth the trouble, since most documents are normally structured. 1223 1294 \def\pdfoutlinedest{#3}% 1224 \ifx\pdfoutlinedest\empty \def\pdfoutlinedest{#4}\fi 1295 \ifx\pdfoutlinedest\empty 1296 \def\pdfoutlinedest{#4}% 1297 \else 1298 % Doubled backslashes in the name. 1299 {\activebackslashdouble \xdef\pdfoutlinedest{#3}% 1300 \backslashparens\pdfoutlinedest}% 1301 \fi 1225 1302 % 1226 \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{#1}% 1303 % Also double the backslashes in the display string. 1304 {\activebackslashdouble \xdef\pdfoutlinetext{#1}% 1305 \backslashparens\pdfoutlinetext}% 1306 % 1307 \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}% 1227 1308 } 1228 1309 % … … 1236 1317 \def\numchapentry##1##2##3##4{% 1237 1318 \def\thischapnum{##2}% 1238 \ let\thissecnum\empty1239 \ let\thissubsecnum\empty1319 \def\thissecnum{0}% 1320 \def\thissubsecnum{0}% 1240 1321 }% 1241 1322 \def\numsecentry##1##2##3##4{% 1242 1323 \advancenumber{chap\thischapnum}% 1243 1324 \def\thissecnum{##2}% 1244 \ let\thissubsecnum\empty1325 \def\thissubsecnum{0}% 1245 1326 }% 1246 1327 \def\numsubsecentry##1##2##3##4{% … … 1251 1332 \advancenumber{subsec\thissubsecnum}% 1252 1333 }% 1253 \ let\thischapnum\empty1254 \ let\thissecnum\empty1255 \ let\thissubsecnum\empty1334 \def\thischapnum{0}% 1335 \def\thissecnum{0}% 1336 \def\thissubsecnum{0}% 1256 1337 % 1257 1338 % use \def rather than \let here because we redefine \chapentry et … … 1265 1346 \def\unnsubsecentry{\numsubsecentry}% 1266 1347 \def\unnsubsubsecentry{\numsubsubsecentry}% 1267 \ input \jobname.toc1348 \readdatafile{toc}% 1268 1349 % 1269 1350 % Read toc second time, this time actually producing the outlines. 1270 1351 % The `-' means take the \expnumber as the absolute number of 1271 1352 % subentries, which we calculated on our first read of the .toc above. 1272 % 1353 % 1273 1354 % We use the node names as the destinations. 1274 1355 \def\numchapentry##1##2##3##4{% … … 1286 1367 % Latin 2 (0xea) gets translated to a | character. Info from 1287 1368 % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100. 1288 % 1369 % 1289 1370 % xx to do this right, we have to translate 8-bit characters to 1290 1371 % their "best" equivalent, based on the @documentencoding. Right 1291 1372 % now, I guess we'll just let the pdf reader have its way. 1292 1373 \indexnofonts 1293 \turnoffactive 1374 \setupdatafile 1375 \catcode`\\=\active \otherbackslash 1294 1376 \input \jobname.toc 1295 1377 \endgroup 1296 1378 } 1297 1379 % 1298 \def\makelinks #1,{%1299 \def\params{#1}\def\E{END}%1300 \ifx\params\E1301 \let\nextmakelinks=\relax1302 \else1303 \let\nextmakelinks=\makelinks1304 \ifnum\lnkcount>0,\fi1305 \picknum{#1}%1306 \startlink attr{/Border [0 0 0]}1307 goto name{\pdfmkpgn{\the\pgn}}%1308 \linkcolor #1%1309 \advance\lnkcount by 1%1310 \endlink1311 \fi1312 \nextmakelinks1313 }1314 \def\picknum#1{\expandafter\pn#1}1315 \def\pn#1{%1316 \def\p{#1}%1317 \ifx\p\lbrace1318 \let\nextpn=\ppn1319 \else1320 \let\nextpn=\ppnn1321 \def\first{#1}1322 \fi1323 \nextpn1324 }1325 \def\ppn#1{\pgn=#1\gobble}1326 \def\ppnn{\pgn=\first}1327 \def\pdfmklnk#1{\lnkcount=0\makelinks #1,END,}1328 1380 \def\skipspaces#1{\def\PP{#1}\def\D{|}% 1329 1381 \ifx\PP\D\let\nextsp\relax … … 1340 1392 \let \startlink \pdfstartlink 1341 1393 \fi 1394 % make a live url in pdf output. 1342 1395 \def\pdfurl#1{% 1343 1396 \begingroup 1344 \normalturnoffactive\def\@{@}% 1397 % it seems we really need yet another set of dummies; have not 1398 % tried to figure out what each command should do in the context 1399 % of @url. for now, just make @/ a no-op, that's the only one 1400 % people have actually reported a problem with. 1401 % 1402 \normalturnoffactive 1403 \def\@{@}% 1404 \let\/=\empty 1345 1405 \makevalueexpandable 1346 1406 \leavevmode\Red … … 1373 1433 \linkcolor #1\endlink} 1374 1434 \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} 1375 \fi % \ifx\pdfoutput 1435 \else 1436 \let\pdfmkdest = \gobble 1437 \let\pdfurl = \gobble 1438 \let\endlink = \relax 1439 \let\linkcolor = \relax 1440 \let\pdfmakeoutlines = \relax 1441 \fi % \ifx\pdfoutput 1376 1442 1377 1443 … … 1381 1447 % For now, we do not accumulate font styles: @b{@i{foo}} prints foo in 1382 1448 % italics, not bold italics. 1383 % 1449 % 1384 1450 \def\setfontstyle#1{% 1385 1451 \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd. … … 1388 1454 1389 1455 % Select #1 fonts with the current style. 1390 % 1456 % 1391 1457 \def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname} 1392 1458 … … 1394 1460 \def\it{\fam=\itfam \setfontstyle{it}} 1395 1461 \def\sl{\fam=\slfam \setfontstyle{sl}} 1396 \def\bf{\fam=\bffam \setfontstyle{bf}} 1462 \def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf} 1397 1463 \def\tt{\fam=\ttfam \setfontstyle{tt}} 1398 1464 … … 1456 1522 1457 1523 % Text fonts (11.2pt, magstep1). 1458 \newcount\mainmagstep 1459 \ifx\bigger\relax 1460 % not really supported. 1461 \mainmagstep=\magstep1 1462 \setfont\textrm\rmshape{12}{1000} 1463 \setfont\texttt\ttshape{12}{1000} 1464 \else 1465 \mainmagstep=\magstephalf 1466 \setfont\textrm\rmshape{10}{\mainmagstep} 1467 \setfont\texttt\ttshape{10}{\mainmagstep} 1468 \fi 1524 \def\textnominalsize{11pt} 1525 \edef\mainmagstep{\magstephalf} 1526 \setfont\textrm\rmshape{10}{\mainmagstep} 1527 \setfont\texttt\ttshape{10}{\mainmagstep} 1469 1528 \setfont\textbf\bfshape{10}{\mainmagstep} 1470 1529 \setfont\textit\itshape{10}{\mainmagstep} … … 1483 1542 1484 1543 % Fonts for indices, footnotes, small examples (9pt). 1544 \def\smallnominalsize{9pt} 1485 1545 \setfont\smallrm\rmshape{9}{1000} 1486 1546 \setfont\smalltt\ttshape{9}{1000} … … 1495 1555 1496 1556 % Fonts for small examples (8pt). 1557 \def\smallernominalsize{8pt} 1497 1558 \setfont\smallerrm\rmshape{8}{1000} 1498 1559 \setfont\smallertt\ttshape{8}{1000} … … 1507 1568 1508 1569 % Fonts for title page (20.4pt): 1570 \def\titlenominalsize{20pt} 1509 1571 \setfont\titlerm\rmbshape{12}{\magstep3} 1510 1572 \setfont\titleit\itbshape{10}{\magstep4} … … 1521 1583 1522 1584 % Chapter (and unnumbered) fonts (17.28pt). 1585 \def\chapnominalsize{17pt} 1523 1586 \setfont\chaprm\rmbshape{12}{\magstep2} 1524 1587 \setfont\chapit\itbshape{10}{\magstep3} … … 1533 1596 1534 1597 % Section fonts (14.4pt). 1598 \def\secnominalsize{14pt} 1535 1599 \setfont\secrm\rmbshape{12}{\magstep1} 1536 1600 \setfont\secit\itbshape{10}{\magstep2} … … 1545 1609 1546 1610 % Subsection fonts (13.15pt). 1611 \def\ssecnominalsize{13pt} 1547 1612 \setfont\ssecrm\rmbshape{12}{\magstephalf} 1548 1613 \setfont\ssecit\itbshape{10}{1315} … … 1557 1622 1558 1623 % Reduced fonts for @acro in text (10pt). 1624 \def\reducednominalsize{10pt} 1559 1625 \setfont\reducedrm\rmshape{10}{1000} 1560 1626 \setfont\reducedtt\ttshape{10}{1000} … … 1584 1650 % current \fam for math mode. Our \STYLE (e.g., \rm) commands hardwire 1585 1651 % \tenSTYLE to set the current font. 1586 % 1652 % 1587 1653 % Each font-changing command also sets the names \lsize (one size lower) 1588 1654 % and \lllsize (three sizes lower). These relative commands are used in 1589 1655 % the LaTeX logo and acronyms. 1590 % 1656 % 1591 1657 % This all needs generalizing, badly. 1592 % 1658 % 1593 1659 \def\textfonts{% 1594 1660 \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl … … 1596 1662 \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy 1597 1663 \let\tenttsl=\textttsl 1664 \def\curfontsize{text}% 1598 1665 \def\lsize{reduced}\def\lllsize{smaller}% 1599 1666 \resetmathfonts \setleading{\textleading}} … … 1603 1670 \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy 1604 1671 \let\tenttsl=\titlettsl 1672 \def\curfontsize{title}% 1605 1673 \def\lsize{chap}\def\lllsize{subsec}% 1606 1674 \resetmathfonts \setleading{25pt}} … … 1609 1677 \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl 1610 1678 \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc 1611 \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy \let\tenttsl=\chapttsl 1679 \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy 1680 \let\tenttsl=\chapttsl 1681 \def\curfontsize{chap}% 1612 1682 \def\lsize{sec}\def\lllsize{text}% 1613 1683 \resetmathfonts \setleading{19pt}} … … 1617 1687 \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy 1618 1688 \let\tenttsl=\secttsl 1689 \def\curfontsize{sec}% 1619 1690 \def\lsize{subsec}\def\lllsize{reduced}% 1620 1691 \resetmathfonts \setleading{16pt}} … … 1624 1695 \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy 1625 1696 \let\tenttsl=\ssecttsl 1697 \def\curfontsize{ssec}% 1626 1698 \def\lsize{text}\def\lllsize{small}% 1627 1699 \resetmathfonts \setleading{15pt}} … … 1632 1704 \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy 1633 1705 \let\tenttsl=\reducedttsl 1706 \def\curfontsize{reduced}% 1634 1707 \def\lsize{small}\def\lllsize{smaller}% 1635 1708 \resetmathfonts \setleading{10.5pt}} … … 1639 1712 \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy 1640 1713 \let\tenttsl=\smallttsl 1714 \def\curfontsize{small}% 1641 1715 \def\lsize{smaller}\def\lllsize{smaller}% 1642 1716 \resetmathfonts \setleading{10.5pt}} … … 1646 1720 \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy 1647 1721 \let\tenttsl=\smallerttsl 1722 \def\curfontsize{smaller}% 1648 1723 \def\lsize{smaller}\def\lllsize{smaller}% 1649 1724 \resetmathfonts \setleading{9.5pt}} … … 1703 1778 1704 1779 \let\i=\smartitalic 1780 \let\slanted=\smartslanted 1705 1781 \let\var=\smartslanted 1706 1782 \let\dfn=\smartslanted 1707 1783 \let\emph=\smartitalic 1708 1784 1785 % @b, explicit bold. 1709 1786 \def\b#1{{\bf #1}} 1710 1787 \let\strong=\b 1788 1789 % @sansserif, explicit sans. 1790 \def\sansserif#1{{\sf #1}} 1711 1791 1712 1792 % We can't just use \exhyphenpenalty, because that only has effect at … … 1721 1801 % sometimes \x has an active definition that messes things up. 1722 1802 % 1803 \chardef\colonChar = `\: 1804 \chardef\commaChar = `\, 1805 \chardef\dotChar = `\. 1806 \chardef\exclamChar= `\! 1807 \chardef\questChar = `\? 1808 \chardef\semiChar = `\; 1809 % 1723 1810 \catcode`@=11 1724 \def\ frenchspacing{%1811 \def\plainfrenchspacing{% 1725 1812 \sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m 1726 1813 \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m 1814 \def\endofsentencespacefactor{1000}% for @. and friends 1815 } 1816 \def\plainnonfrenchspacing{% 1817 \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000 1818 \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 1819 \def\endofsentencespacefactor{3000}% for @. and friends 1727 1820 } 1728 1821 \catcode`@=\other 1822 \def\endofsentencespacefactor{3000}% default 1729 1823 1730 1824 \def\t#1{% 1731 {\tt \rawbackslash \ frenchspacing #1}%1825 {\tt \rawbackslash \plainfrenchspacing #1}% 1732 1826 \null 1733 1827 } … … 1766 1860 % 1767 1861 \rawbackslash 1768 \ frenchspacing1862 \plainfrenchspacing 1769 1863 #1% 1770 1864 }% … … 1786 1880 % 1787 1881 \global\def\code{\begingroup 1788 \catcode`\-=\active \let-\codedash 1789 \catcode`\_=\active \let_\codeunder 1882 \catcode`\-=\active \catcode`\_=\active 1883 \ifallowcodebreaks 1884 \let-\codedash 1885 \let_\codeunder 1886 \else 1887 \let-\realdash 1888 \let_\realunder 1889 \fi 1790 1890 \codex 1791 1891 } … … 1807 1907 \def\codex #1{\tclose{#1}\endgroup} 1808 1908 1909 % An additional complication: the above will allow breaks after, e.g., 1910 % each of the four underscores in __typeof__. This is undesirable in 1911 % some manuals, especially if they don't have long identifiers in 1912 % general. @allowcodebreaks provides a way to control this. 1913 % 1914 \newif\ifallowcodebreaks \allowcodebreakstrue 1915 1916 \def\keywordtrue{true} 1917 \def\keywordfalse{false} 1918 1919 \parseargdef\allowcodebreaks{% 1920 \def\txiarg{#1}% 1921 \ifx\txiarg\keywordtrue 1922 \allowcodebreakstrue 1923 \else\ifx\txiarg\keywordfalse 1924 \allowcodebreaksfalse 1925 \else 1926 \errhelp = \EMsimple 1927 \errmessage{Unknown @allowcodebreaks option `\txiarg'}% 1928 \fi\fi 1929 } 1930 1809 1931 % @kbd is like @code, except that if the argument is just one @key command, 1810 1932 % then @kbd has no effect. … … 1814 1936 % or `code' (@kbd uses normal tty font always). 1815 1937 \parseargdef\kbdinputstyle{% 1816 \def\ arg{#1}%1817 \ifx\ arg\worddistinct1938 \def\txiarg{#1}% 1939 \ifx\txiarg\worddistinct 1818 1940 \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}% 1819 \else\ifx\ arg\wordexample1941 \else\ifx\txiarg\wordexample 1820 1942 \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}% 1821 \else\ifx\ arg\wordcode1943 \else\ifx\txiarg\wordcode 1822 1944 \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}% 1823 1945 \else 1824 1946 \errhelp = \EMsimple 1825 \errmessage{Unknown @kbdinputstyle option `\ arg'}%1947 \errmessage{Unknown @kbdinputstyle option `\txiarg'}% 1826 1948 \fi\fi\fi 1827 1949 } … … 1839 1961 \else{\tclose{\kbdfont\look}}\fi} 1840 1962 1841 % For @ url, @env, @command quotes seem unnecessary, so use \code.1842 \let\ url=\code1963 % For @indicateurl, @env, @command quotes seem unnecessary, so use \code. 1964 \let\indicateurl=\code 1843 1965 \let\env=\code 1844 1966 \let\command=\code … … 1872 1994 \endgroup} 1873 1995 1996 % @url synonym for @uref, since that's how everyone uses it. 1997 % 1998 \let\url=\uref 1999 1874 2000 % rms does not like angle brackets --karl, 17may97. 1875 2001 % So now @email is just like @uref, unless we are pdf. … … 1913 2039 \def\ii#1{{\it #1}} % italic font 1914 2040 2041 % @acronym for "FBI", "NATO", and the like. 2042 % We print this one point size smaller, since it's intended for 2043 % all-uppercase. 2044 % 1915 2045 \def\acronym#1{\doacronym #1,,\finish} 1916 2046 \def\doacronym#1,#2,#3\finish{% … … 1922 2052 } 1923 2053 1924 % @pounds{} is a sterling sign, which is in the CM italic font. 2054 % @abbr for "Comput. J." and the like. 2055 % No font change, but don't do end-of-sentence spacing. 1925 2056 % 2057 \def\abbr#1{\doabbr #1,,\finish} 2058 \def\doabbr#1,#2,#3\finish{% 2059 {\plainfrenchspacing #1}% 2060 \def\temp{#2}% 2061 \ifx\temp\empty \else 2062 \space ({\unsepspaces \ignorespaces \temp \unskip})% 2063 \fi 2064 } 2065 2066 % @pounds{} is a sterling sign, which Knuth put in the CM italic font. 2067 % 1926 2068 \def\pounds{{\it\$}} 2069 2070 % @euro{} comes from a separate font, depending on the current style. 2071 % We use the free feym* fonts from the eurosym package by Henrik 2072 % Theiling, which support regular, slanted, bold and bold slanted (and 2073 % "outlined" (blackboard board, sort of) versions, which we don't need). 2074 % It is available from http://www.ctan.org/tex-archive/fonts/eurosym. 2075 % 2076 % Although only regular is the truly official Euro symbol, we ignore 2077 % that. The Euro is designed to be slightly taller than the regular 2078 % font height. 2079 % 2080 % feymr - regular 2081 % feymo - slanted 2082 % feybr - bold 2083 % feybo - bold slanted 2084 % 2085 % There is no good (free) typewriter version, to my knowledge. 2086 % A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide. 2087 % Hmm. 2088 % 2089 % Also doesn't work in math. Do we need to do math with euro symbols? 2090 % Hope not. 2091 % 2092 % 2093 \def\euro{{\eurofont e}} 2094 \def\eurofont{% 2095 % We set the font at each command, rather than predefining it in 2096 % \textfonts and the other font-switching commands, so that 2097 % installations which never need the symbol don't have to have the 2098 % font installed. 2099 % 2100 % There is only one designed size (nominal 10pt), so we always scale 2101 % that to the current nominal size. 2102 % 2103 % By the way, simply using "at 1em" works for cmr10 and the like, but 2104 % does not work for cmbx10 and other extended/shrunken fonts. 2105 % 2106 \def\eurosize{\csname\curfontsize nominalsize\endcsname}% 2107 % 2108 \ifx\curfontstyle\bfstylename 2109 % bold: 2110 \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize 2111 \else 2112 % regular: 2113 \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize 2114 \fi 2115 \thiseurofont 2116 } 1927 2117 1928 2118 % @registeredsymbol - R in a circle. The font for the R should really … … 1935 2125 }$% 1936 2126 } 2127 2128 % Laurent Siebenmann reports \Orb undefined with: 2129 % Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38 2130 % so we'll define it if necessary. 2131 % 2132 \ifx\Orb\undefined 2133 \def\Orb{\mathhexbox20D} 2134 \fi 1937 2135 1938 2136 … … 2038 2236 % @author should come last, but may come many times. 2039 2237 % It can also be used inside @quotation. 2040 % 2238 % 2041 2239 \parseargdef\author{% 2042 2240 \def\temp{\quotation}% … … 2241 2439 \nobreak \vskip-\parskip 2242 2440 % 2243 % Stop a page break at the \parskip glue coming up. (Unfortunately 2244 % we can't prevent a possible page break at the following 2245 % \baselineskip glue.) However, if what follows is an environment 2246 % such as @example, there will be no \parskip glue; then 2247 % the negative vskip we just would cause the example and the item to 2248 % crash together. So we use this bizarre value of 10001 as a signal 2249 % to \aboveenvbreak to insert \parskip glue after all. 2250 % (Possibly there are other commands that could be followed by 2251 % @example which need the same treatment, but not section titles; or 2252 % maybe section titles are the only special case and they should be 2253 % penalty 10001...) 2441 % Stop a page break at the \parskip glue coming up. However, if 2442 % what follows is an environment such as @example, there will be no 2443 % \parskip glue; then the negative vskip we just inserted would 2444 % cause the example and the item to crash together. So we use this 2445 % bizarre value of 10001 as a signal to \aboveenvbreak to insert 2446 % \parskip glue after all. Section titles are handled this way also. 2447 % 2254 2448 \penalty 10001 2255 2449 \endgroup … … 2277 2471 \envdef\table{% 2278 2472 \let\itemindex\gobble 2279 \table x2473 \tablecheck{table}% 2280 2474 } 2281 2475 \envdef\ftable{% 2282 2476 \def\itemindex ##1{\doind {fn}{\code{##1}}}% 2283 \table x2477 \tablecheck{ftable}% 2284 2478 } 2285 2479 \envdef\vtable{% 2286 2480 \def\itemindex ##1{\doind {vr}{\code{##1}}}% 2287 \tablex 2481 \tablecheck{vtable}% 2482 } 2483 \def\tablecheck#1{% 2484 \ifnum \the\catcode`\^^M=\active 2485 \endgroup 2486 \errmessage{This command won't work in this context; perhaps the problem is 2487 that we are \inenvironment\thisenv}% 2488 \def\next{\doignore{#1}}% 2489 \else 2490 \let\next\tablex 2491 \fi 2492 \next 2288 2493 } 2289 2494 \def\tablex#1{% … … 2538 2743 % #1 is the @columnfraction, usually a decimal number like .5, but might 2539 2744 % be just 1. We just use it, whatever it is. 2540 % 2745 % 2541 2746 \def\pickupwholefraction#1 {% 2542 2747 \global\advance\colcount by 1 … … 2596 2801 % 2597 2802 % @item within a multitable starts a normal row. 2598 \let\item\crcr 2803 % We use \def instead of \let so that if one of the multitable entries 2804 % contains an @itemize, we don't choke on the \item (seen as \crcr aka 2805 % \endtemplate) expanding \doitemize. 2806 \def\item{\crcr}% 2599 2807 % 2600 2808 \tolerance=9500 … … 2681 2889 } 2682 2890 2683 \def\setmultitablespacing{% test to see if user has set \multitablelinespace. 2684 % If so, do nothing. If not, give it an appropriate dimension based on 2685 % current baselineskip. 2891 \def\setmultitablespacing{% 2892 \def\multistrut{\strut}% just use the standard line spacing 2893 % 2894 % Compute \multitablelinespace (if not defined by user) for use in 2895 % \multitableparskip calculation. We used define \multistrut based on 2896 % this, but (ironically) that caused the spacing to be off. 2897 % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100. 2686 2898 \ifdim\multitablelinespace=0pt 2687 2899 \setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip 2688 2900 \global\advance\multitablelinespace by-\ht0 2689 %% strut to put in table in case some entry doesn't have descenders, 2690 %% to keep lines equally spaced 2691 \let\multistrut = \strut 2692 \else 2693 %% FIXME: what is \box0 supposed to be? 2694 \gdef\multistrut{\vrule height\multitablelinespace depth\dp0 2695 width0pt\relax} \fi 2901 \fi 2696 2902 %% Test to see if parskip is larger than space between lines of 2697 2903 %% table. If not, do nothing. … … 2751 2957 \def\doignore#1{\begingroup 2752 2958 % Scan in ``verbatim'' mode: 2959 \obeylines 2753 2960 \catcode`\@ = \other 2754 2961 \catcode`\{ = \other … … 2762 2969 % 2763 2970 % Swallow text until we reach the matching `@end #1'. 2764 \dodoignore 2971 \dodoignore{#1}% 2765 2972 } 2766 2973 … … 2769 2976 % 2770 2977 \gdef\dodoignore#1{% 2771 % #1 contains the string`ifinfo'.2978 % #1 contains the command name as a string, e.g., `ifinfo'. 2772 2979 % 2773 % Define a command to find the next `@end #1', which must be on a line 2774 % by itself. 2775 \long\def\doignoretext##1^^M@end #1{\doignoretextyyy##1^^M@#1\_STOP_}% 2980 % Define a command to find the next `@end #1'. 2981 \long\def\doignoretext##1^^M@end #1{% 2982 \doignoretextyyy##1^^M@#1\_STOP_}% 2983 % 2776 2984 % And this command to find another #1 command, at the beginning of a 2777 2985 % line. (Otherwise, we would consider a line `@c @ifset', for … … 2780 2988 % 2781 2989 % And now expand that command. 2782 \obeylines %2783 2990 \doignoretext ^^M% 2784 2991 }% … … 2798 3005 2799 3006 % We have to swallow the remaining "\_STOP_". 2800 % 3007 % 2801 3008 \def\doignoretextzzz#1{% 2802 3009 \ifnum\doignorecount = 0 % We have just found the outermost @end. … … 2810 3017 2811 3018 % Finish off ignored text. 2812 \def\enddoignore{\endgroup\ignorespaces} 3019 { \obeylines% 3020 % Ignore anything after the last `@end #1'; this matters in verbatim 3021 % environments, where otherwise the newline after an ignored conditional 3022 % would result in a blank line in the output. 3023 \gdef\enddoignore#1^^M{\endgroup\ignorespaces}% 3024 } 2813 3025 2814 3026 … … 2923 3135 2924 3136 % Define \newwrite to be identical to plain tex's \newwrite 2925 % except not \outer, so it can be used within \newindex. 2926 {\catcode`\@=11 2927 \gdef\newwrite{\alloc@7\write\chardef\sixt@@n}} 3137 % except not \outer, so it can be used within macros and \if's. 3138 \edef\newwrite{\makecsname{ptexnewwrite}} 2928 3139 2929 3140 % \newindex {foo} defines an index named foo. … … 3011 3222 % 3012 3223 \def\indexdummies{% 3224 \escapechar = `\\ % use backslash in output files. 3013 3225 \def\@{@}% change to @@ when we switch to @ as escape char in index files. 3014 3226 \def\ {\realbackslash\space }% … … 3019 3231 \let\} = \myrbrace 3020 3232 % 3021 % \definedummyword defines \#1 as \realbackslash #1\space, thus3022 % effectively preventing its expansion. This is used only for control3023 % words, not control letters, because the \space would be incorrect3024 % for control characters, but is needed to separate the control word3025 % from whatever follows.3026 %3027 % For control letters, we have \definedummyletter, which omits the3028 % space.3029 %3030 % These can be used both for control words that take an argument and3031 % those that do not. If it is followed by {arg} in the input, then3032 % that will dutifully get written to the index (or wherever).3033 %3034 \def\definedummyword##1{%3035 \expandafter\def\csname ##1\endcsname{\realbackslash ##1\space}%3036 }%3037 \def\definedummyletter##1{%3038 \expandafter\def\csname ##1\endcsname{\realbackslash ##1}%3039 }%3040 %3041 3233 % Do the redefinitions. 3042 3234 \commondummies 3043 3235 } 3044 3236 3045 % For the aux file, @ is the escape character. So we want to redefine 3046 % everything using @ instead of \realbackslash. When everything uses 3047 % @, this will be simpler. 3237 % For the aux and toc files, @ is the escape character. So we want to 3238 % redefine everything using @ as the escape character (instead of 3239 % \realbackslash, still used for index files). When everything uses @, 3240 % this will be simpler. 3048 3241 % 3049 3242 \def\atdummies{% … … 3053 3246 \let\} = \rbraceatcmd 3054 3247 % 3055 % (See comments in \indexdummies.)3056 \def\definedummyword##1{%3057 \expandafter\def\csname ##1\endcsname{@##1\space}%3058 }%3059 \def\definedummyletter##1{%3060 \expandafter\def\csname ##1\endcsname{@##1}%3061 }%3062 %3063 3248 % Do the redefinitions. 3064 3249 \commondummies 3065 } 3066 3067 % Called from \indexdummies and \atdummies. \definedummyword and 3068 % \definedummyletter must be defined first.3250 \otherbackslash 3251 } 3252 3253 % Called from \indexdummies and \atdummies. 3069 3254 % 3070 3255 \def\commondummies{% 3071 3256 % 3257 % \definedummyword defines \#1 as \string\#1\space, thus effectively 3258 % preventing its expansion. This is used only for control% words, 3259 % not control letters, because the \space would be incorrect for 3260 % control characters, but is needed to separate the control word 3261 % from whatever follows. 3262 % 3263 % For control letters, we have \definedummyletter, which omits the 3264 % space. 3265 % 3266 % These can be used both for control words that take an argument and 3267 % those that do not. If it is followed by {arg} in the input, then 3268 % that will dutifully get written to the index (or wherever). 3269 % 3270 \def\definedummyword ##1{\def##1{\string##1\space}}% 3271 \def\definedummyletter##1{\def##1{\string##1}}% 3272 \let\definedummyaccent\definedummyletter 3273 % 3274 \commondummiesnofonts 3275 % 3276 \definedummyletter\_% 3277 % 3278 % Non-English letters. 3279 \definedummyword\AA 3280 \definedummyword\AE 3281 \definedummyword\L 3282 \definedummyword\OE 3283 \definedummyword\O 3284 \definedummyword\aa 3285 \definedummyword\ae 3286 \definedummyword\l 3287 \definedummyword\oe 3288 \definedummyword\o 3289 \definedummyword\ss 3290 \definedummyword\exclamdown 3291 \definedummyword\questiondown 3292 \definedummyword\ordf 3293 \definedummyword\ordm 3294 % 3295 % Although these internal commands shouldn't show up, sometimes they do. 3296 \definedummyword\bf 3297 \definedummyword\gtr 3298 \definedummyword\hat 3299 \definedummyword\less 3300 \definedummyword\sf 3301 \definedummyword\sl 3302 \definedummyword\tclose 3303 \definedummyword\tt 3304 % 3305 \definedummyword\LaTeX 3306 \definedummyword\TeX 3307 % 3308 % Assorted special characters. 3309 \definedummyword\bullet 3310 \definedummyword\comma 3311 \definedummyword\copyright 3312 \definedummyword\registeredsymbol 3313 \definedummyword\dots 3314 \definedummyword\enddots 3315 \definedummyword\equiv 3316 \definedummyword\error 3317 \definedummyword\euro 3318 \definedummyword\expansion 3319 \definedummyword\minus 3320 \definedummyword\pounds 3321 \definedummyword\point 3322 \definedummyword\print 3323 \definedummyword\result 3324 % 3325 % We want to disable all macros so that they are not expanded by \write. 3326 \macrolist 3327 % 3072 3328 \normalturnoffactive 3073 %3074 \commondummiesnofonts3075 %3076 \definedummyletter{_}%3077 %3078 % Non-English letters.3079 \definedummyword{AA}%3080 \definedummyword{AE}%3081 \definedummyword{L}%3082 \definedummyword{OE}%3083 \definedummyword{O}%3084 \definedummyword{aa}%3085 \definedummyword{ae}%3086 \definedummyword{l}%3087 \definedummyword{oe}%3088 \definedummyword{o}%3089 \definedummyword{ss}%3090 \definedummyword{exclamdown}%3091 \definedummyword{questiondown}%3092 \definedummyword{ordf}%3093 \definedummyword{ordm}%3094 %3095 % Although these internal commands shouldn't show up, sometimes they do.3096 \definedummyword{bf}%3097 \definedummyword{gtr}%3098 \definedummyword{hat}%3099 \definedummyword{less}%3100 \definedummyword{sf}%3101 \definedummyword{sl}%3102 \definedummyword{tclose}%3103 \definedummyword{tt}%3104 %3105 \definedummyword{LaTeX}%3106 \definedummyword{TeX}%3107 %3108 % Assorted special characters.3109 \definedummyword{bullet}%3110 \definedummyword{copyright}%3111 \definedummyword{registeredsymbol}%3112 \definedummyword{dots}%3113 \definedummyword{enddots}%3114 \definedummyword{equiv}%3115 \definedummyword{error}%3116 \definedummyword{expansion}%3117 \definedummyword{minus}%3118 \definedummyword{pounds}%3119 \definedummyword{point}%3120 \definedummyword{print}%3121 \definedummyword{result}%3122 3329 % 3123 3330 % Handle some cases of @value -- where it does not contain any 3124 3331 % (non-fully-expandable) commands. 3125 3332 \makevalueexpandable 3126 %3127 % Normal spaces, not active ones.3128 \unsepspaces3129 %3130 % No macro expansion.3131 \turnoffmacros3132 3333 } 3133 3334 3134 3335 % \commondummiesnofonts: common to \commondummies and \indexnofonts. 3135 3336 % 3136 % Better have this without active chars. 3137 { 3138 \catcode`\~=\other 3139 \gdef\commondummiesnofonts{% 3140 % Control letters and accents. 3141 \definedummyletter{!}% 3142 \definedummyletter{"}% 3143 \definedummyletter{'}% 3144 \definedummyletter{*}% 3145 \definedummyletter{,}% 3146 \definedummyletter{.}% 3147 \definedummyletter{/}% 3148 \definedummyletter{:}% 3149 \definedummyletter{=}% 3150 \definedummyletter{?}% 3151 \definedummyletter{^}% 3152 \definedummyletter{`}% 3153 \definedummyletter{~}% 3154 \definedummyword{u}% 3155 \definedummyword{v}% 3156 \definedummyword{H}% 3157 \definedummyword{dotaccent}% 3158 \definedummyword{ringaccent}% 3159 \definedummyword{tieaccent}% 3160 \definedummyword{ubaraccent}% 3161 \definedummyword{udotaccent}% 3162 \definedummyword{dotless}% 3163 % 3164 % Texinfo font commands. 3165 \definedummyword{b}% 3166 \definedummyword{i}% 3167 \definedummyword{r}% 3168 \definedummyword{sc}% 3169 \definedummyword{t}% 3170 % 3171 % Commands that take arguments. 3172 \definedummyword{acronym}% 3173 \definedummyword{cite}% 3174 \definedummyword{code}% 3175 \definedummyword{command}% 3176 \definedummyword{dfn}% 3177 \definedummyword{emph}% 3178 \definedummyword{env}% 3179 \definedummyword{file}% 3180 \definedummyword{kbd}% 3181 \definedummyword{key}% 3182 \definedummyword{math}% 3183 \definedummyword{option}% 3184 \definedummyword{samp}% 3185 \definedummyword{strong}% 3186 \definedummyword{tie}% 3187 \definedummyword{uref}% 3188 \definedummyword{url}% 3189 \definedummyword{var}% 3190 \definedummyword{verb}% 3191 \definedummyword{w}% 3192 } 3337 \def\commondummiesnofonts{% 3338 % Control letters and accents. 3339 \definedummyletter\!% 3340 \definedummyaccent\"% 3341 \definedummyaccent\'% 3342 \definedummyletter\*% 3343 \definedummyaccent\,% 3344 \definedummyletter\.% 3345 \definedummyletter\/% 3346 \definedummyletter\:% 3347 \definedummyaccent\=% 3348 \definedummyletter\?% 3349 \definedummyaccent\^% 3350 \definedummyaccent\`% 3351 \definedummyaccent\~% 3352 \definedummyword\u 3353 \definedummyword\v 3354 \definedummyword\H 3355 \definedummyword\dotaccent 3356 \definedummyword\ringaccent 3357 \definedummyword\tieaccent 3358 \definedummyword\ubaraccent 3359 \definedummyword\udotaccent 3360 \definedummyword\dotless 3361 % 3362 % Texinfo font commands. 3363 \definedummyword\b 3364 \definedummyword\i 3365 \definedummyword\r 3366 \definedummyword\sc 3367 \definedummyword\t 3368 % 3369 % Commands that take arguments. 3370 \definedummyword\acronym 3371 \definedummyword\cite 3372 \definedummyword\code 3373 \definedummyword\command 3374 \definedummyword\dfn 3375 \definedummyword\emph 3376 \definedummyword\env 3377 \definedummyword\file 3378 \definedummyword\kbd 3379 \definedummyword\key 3380 \definedummyword\math 3381 \definedummyword\option 3382 \definedummyword\pxref 3383 \definedummyword\ref 3384 \definedummyword\samp 3385 \definedummyword\strong 3386 \definedummyword\tie 3387 \definedummyword\uref 3388 \definedummyword\url 3389 \definedummyword\var 3390 \definedummyword\verb 3391 \definedummyword\w 3392 \definedummyword\xref 3193 3393 } 3194 3394 … … 3199 3399 % 3200 3400 \def\indexnofonts{% 3201 \def\definedummyword##1{% 3202 \expandafter\let\csname ##1\endcsname\asis 3203 }% 3204 \let\definedummyletter=\definedummyword 3401 % Accent commands should become @asis. 3402 \def\definedummyaccent##1{\let##1\asis}% 3403 % We can just ignore other control letters. 3404 \def\definedummyletter##1{\let##1\empty}% 3405 % Hopefully, all control words can become @asis. 3406 \let\definedummyword\definedummyaccent 3205 3407 % 3206 3408 \commondummiesnofonts … … 3239 3441 % (The following {} will end up in the sort string, but that's ok.) 3240 3442 \def\bullet{bullet}% 3443 \def\comma{,}% 3241 3444 \def\copyright{copyright}% 3242 3445 \def\registeredsymbol{R}% … … 3245 3448 \def\equiv{==}% 3246 3449 \def\error{error}% 3450 \def\euro{euro}% 3247 3451 \def\expansion{==>}% 3248 3452 \def\minus{-}% … … 3251 3455 \def\print{-|}% 3252 3456 \def\result{=>}% 3457 % 3458 % We need to get rid of all macros, leaving only the arguments (if present). 3459 % Of course this is not nearly correct, but it is the best we can do for now. 3460 % makeinfo does not expand macros in the argument to @deffn, which ends up 3461 % writing an index entry, and texindex isn't prepared for an index sort entry 3462 % that starts with \. 3463 % 3464 % Since macro invocations are followed by braces, we can just redefine them 3465 % to take a single TeX argument. The case of a macro invocation that 3466 % goes to end-of-line is not handled. 3467 % 3468 \macrolist 3253 3469 } 3254 3470 … … 3297 3513 % Remember, we are within a group. 3298 3514 \indexdummies % Must do this here, since \bf, etc expand at this stage 3299 \escapechar=`\\3300 3515 \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now 3301 3516 % so it will be output as is; and it will print as backslash. … … 3371 3586 % 3372 3587 \ifx\lastskipmacro\zeroskipmacro 3373 % if \lastskip was zero, perhaps the last item was a 3374 % penalty, and perhaps it was >=10000, e.g., a \nobreak. 3375 % In that case, we want to re-insert the penalty; since we 3376 % just inserted a non-discardable item, any following glue 3377 % (such as a \parskip) would be a breakpoint. For example: 3588 % If \lastskip was zero, perhaps the last item was a penalty, and 3589 % perhaps it was >=10000, e.g., a \nobreak. In that case, we want 3590 % to re-insert the same penalty (values >10000 are used for various 3591 % signals); since we just inserted a non-discardable item, any 3592 % following glue (such as a \parskip) would be a breakpoint. For example: 3593 % 3378 3594 % @deffn deffn-whatever 3379 3595 % @vindex index-whatever … … 3381 3597 % would allow a break between the index-whatever whatsit 3382 3598 % and the "Description." paragraph. 3383 \ifnum\count255>9999 \ nobreak\fi3599 \ifnum\count255>9999 \penalty\count255 \fi 3384 3600 \else 3385 3601 % On the other hand, if we had a nonzero \lastskip, … … 3479 3695 % 3480 3696 % We like breaks before the index initials, so insert a bonus. 3481 \penalty -300 3697 \nobreak 3698 \vskip 0pt plus 3\baselineskip 3699 \penalty 0 3700 \vskip 0pt plus -3\baselineskip 3482 3701 % 3483 3702 % Typeset the initial. Making this add up to a whole number of … … 3489 3708 \vskip 1.67\baselineskip plus .5\baselineskip 3490 3709 \leftline{\secbf #1}% 3491 \vskip .33\baselineskip plus .1\baselineskip3492 %3493 3710 % Do our best not to break after the initial. 3494 3711 \nobreak 3712 \vskip .33\baselineskip plus .1\baselineskip 3495 3713 }} 3496 3714 … … 3504 3722 % @code, which sets - active. This problem was fixed by a kludge--- 3505 3723 % ``-'' was active throughout whole index, but this isn't really right. 3506 % 3724 % 3507 3725 % The right solution is to prevent \entry from swallowing the whole text. 3508 3726 % --kasal, 21nov03 … … 3770 3988 % construct for the sake of pdftex, which needs the actual 3771 3989 % letter in the expansion, not just typeset. 3772 % 3990 % 3773 3991 \def\appendixletter{% 3774 3992 \ifnum\appendixno=`A A% … … 3907 4125 % @chapter, @appendix, @unnumbered. Increment top-level counter, reset 3908 4126 % all lower-level sectioning counters to zero. 3909 % 4127 % 3910 4128 % Also set \chaplevelprefix, which we prepend to @float sequence numbers 3911 4129 % (e.g., figures), q.v. By default (before any chapter), that is empty. 3912 4130 \let\chaplevelprefix = \empty 3913 % 4131 % 3914 4132 \outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz 3915 4133 \def\chapterzzz#1{% … … 4135 4353 4136 4354 % Chapter opening. 4137 % 4355 % 4138 4356 % #1 is the text, #2 is the section type (Ynumbered, Ynothing, 4139 4357 % Yappendix, Yomitfromtoc), #3 the chapter number. 4140 % 4358 % 4141 4359 % To test against our argument. 4142 4360 \def\Ynothingkeyword{Ynothing} … … 4161 4379 \setbox0 = \hbox{}% 4162 4380 \def\toctype{unnchap}% 4163 \ def\thischapter{#1}%4381 \gdef\thischapter{#1}% 4164 4382 \else\ifx\temptype\Yomitfromtockeyword 4165 4383 \setbox0 = \hbox{}% contents like unnumbered, but no toc entry 4166 4384 \def\toctype{omit}% 4167 \ xdef\thischapter{}%4385 \gdef\thischapter{}% 4168 4386 \else\ifx\temptype\Yappendixkeyword 4169 4387 \setbox0 = \hbox{\putwordAppendix{} #3\enspace}% … … 4214 4432 % I don't think this chapter style is supported any more, so I'm not 4215 4433 % updating it with the new noderef stuff. We'll see. --karl, 11aug03. 4216 % 4434 % 4217 4435 \def\setchapterstyle #1 {\csname CHAPF#1\endcsname} 4218 4436 % … … 4238 4456 % Section titles. These macros combine the section number parts and 4239 4457 % call the generic \sectionheading to do the printing. 4240 % 4458 % 4241 4459 \newskip\secheadingskip 4242 4460 \def\secheadingbreak{\dobreak \secheadingskip{-1000}} … … 4252 4470 4253 4471 % Print any size, any type, section title. 4254 % 4472 % 4255 4473 % #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is 4256 4474 % the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the 4257 4475 % section number. 4258 % 4476 % 4259 4477 \def\sectionheading#1#2#3#4{% 4260 4478 {% … … 4289 4507 \fi\fi\fi 4290 4508 % 4291 % Write the toc entry (before \donoderef). See comments in \ch fplain.4509 % Write the toc entry (before \donoderef). See comments in \chapmacro. 4292 4510 \writetocentry{\toctype\sectionlevel}{#1}{#4}% 4293 4511 % 4294 4512 % Write the node reference (= pdf destination for pdftex). 4295 % Again, see comments in \ch fplain.4513 % Again, see comments in \chapmacro. 4296 4514 \donoderef{#3}% 4515 % 4516 % Interline glue will be inserted when the vbox is completed. 4517 % That glue will be a valid breakpoint for the page, since it'll be 4518 % preceded by a whatsit (usually from the \donoderef, or from the 4519 % \writetocentry if there was no node). We don't want to allow that 4520 % break, since then the whatsits could end up on page n while the 4521 % section is on page n+1, thus toc/etc. are wrong. Debian bug 276000. 4522 \nobreak 4297 4523 % 4298 4524 % Output the actual section heading. … … 4313 4539 % discardable item.) 4314 4540 \vskip-\parskip 4315 % 4316 % This \nobreak is purely so the last item on the list is a \penalty4317 % of 10000. This is so other code, for instance \parsebodycommon, can4318 % check for and avoid allowing breakpoints. Otherwise, it would4319 % insert a valid breakpoint between:4541 % 4542 % This is purely so the last item on the list is a known \penalty > 4543 % 10000. This is so \startdefun can avoid allowing breakpoints after 4544 % section headings. Otherwise, it would insert a valid breakpoint between: 4545 % 4320 4546 % @section sec-whatever 4321 4547 % @deffn def-whatever 4322 \ nobreak4548 \penalty 10001 4323 4549 } 4324 4550 … … 4329 4555 4330 4556 % Write an entry to the toc file, opening it if necessary. 4331 % Called from @chapter, etc. 4332 % 4557 % Called from @chapter, etc. 4558 % 4333 4559 % Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno} 4334 4560 % We append the current node name (if any) and page number as additional … … 4336 4562 % read this. The node name is used in the pdf outlines as the 4337 4563 % destination to jump to. 4338 % 4564 % 4339 4565 % We open the .toc file for writing here instead of at @setfilename (or 4340 4566 % any other fixed time) so that @contents can be anywhere in the document. … … 4354 4580 % 4355 4581 \iflinks 4356 \toks0 = {#2}%4357 \toks2 = \expandafter{\lastnode}%4358 \edef\temp{\write\tocfile{\realbackslash #1entry{\the\toks0}{#3}%4359 {\the\toks2}{\noexpand\folio}}}%4360 \temp4582 {\atdummies 4583 \edef\temp{% 4584 \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}% 4585 \temp 4586 }% 4361 4587 \fi 4362 4588 \fi … … 4371 4597 } 4372 4598 4599 4600 % These characters do not print properly in the Computer Modern roman 4601 % fonts, so we must take special care. This is more or less redundant 4602 % with the Texinfo input format setup at the end of this file. 4603 % 4604 \def\activecatcodes{% 4605 \catcode`\"=\active 4606 \catcode`\$=\active 4607 \catcode`\<=\active 4608 \catcode`\>=\active 4609 \catcode`\\=\active 4610 \catcode`\^=\active 4611 \catcode`\_=\active 4612 \catcode`\|=\active 4613 \catcode`\~=\active 4614 } 4615 4616 4617 % Read the toc file, which is essentially Texinfo input. 4618 \def\readtocfile{% 4619 \setupdatafile 4620 \activecatcodes 4621 \input \jobname.toc 4622 } 4623 4373 4624 \newskip\contentsrightmargin \contentsrightmargin=1in 4374 4625 \newcount\savepageno … … 4392 4643 \savepageno = \pageno 4393 4644 \begingroup % Set up to handle contents files properly. 4394 \catcode`\\=0 \catcode`\{=1 \catcode`\}=2 \catcode`\@=11 4395 % We can't do this, because then an actual ^ in a section 4396 % title fails, e.g., @chapter ^ -- exponentiation. --karl, 9jul97. 4397 %\catcode`\^=7 % to see ^^e4 as \"a etc. [email protected] 4398 \raggedbottom % Worry more about breakpoints than the bottom. 4645 \raggedbottom % Worry more about breakpoints than the bottom. 4399 4646 \advance\hsize by -\contentsrightmargin % Don't use the full line length. 4400 4647 % … … 4409 4656 \openin 1 \jobname.toc 4410 4657 \ifeof 1 \else 4411 \ input \jobname.toc4658 \readtocfile 4412 4659 \fi 4413 4660 \vfill \eject … … 4447 4694 \openin 1 \jobname.toc 4448 4695 \ifeof 1 \else 4449 \ input \jobname.toc4696 \readtocfile 4450 4697 \fi 4451 4698 \closein 1 … … 4467 4714 % (This space doesn't include the extra space that gets added after 4468 4715 % the label; that gets put in by \shortchapentry above.) 4469 % 4716 % 4470 4717 % We'd like to right-justify chapter numbers, but that looks strange 4471 4718 % with appendix letters. And right-justifying numbers and … … 4492 4739 % Appendices, in the main contents. 4493 4740 % Need the word Appendix, and a fixed-size box. 4494 % 4741 % 4495 4742 \def\appendixbox#1{% 4496 4743 % We use M since it's probably the widest letter. … … 4637 4884 \let\*=\ptexstar 4638 4885 \let\t=\ptext 4886 \let\frenchspacing=\plainfrenchspacing 4639 4887 % 4640 4888 \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% … … 4665 4913 % 4666 4914 \def\aboveenvbreak{{% 4667 % =10000 instead of <10000 because of a special case in \itemzzz, q.v. 4915 % =10000 instead of <10000 because of a special case in \itemzzz and 4916 % \sectionheading, q.v. 4668 4917 \ifnum \lastpenalty=10000 \else 4669 4918 \advance\envskipamount by \parskip … … 4681 4930 \let\afterenvbreak = \aboveenvbreak 4682 4931 4683 % \nonarrowing is a flag. If "set", @lisp etc don't narrow margins. 4932 % \nonarrowing is a flag. If "set", @lisp etc don't narrow margins; it will 4933 % also clear it, so that its embedded environments do the narrowing again. 4684 4934 \let\nonarrowing=\relax 4685 4935 … … 4718 4968 \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip 4719 4969 % Flag to tell @lisp, etc., not to narrow margin. 4720 \let\nonarrowing =\comment4970 \let\nonarrowing = t% 4721 4971 \vbox\bgroup 4722 4972 \baselineskip=0pt\parskip=0pt\lineskip=0pt … … 4758 5008 \parindent = 0pt 4759 5009 \emergencystretch = 0pt % don't try to avoid overfull boxes 4760 % @cartouche defines \nonarrowing to inhibit narrowing4761 % at next level down.4762 5010 \ifx\nonarrowing\relax 4763 5011 \advance \leftskip by \lispnarrowing 4764 5012 \exdentamount=\lispnarrowing 5013 \else 5014 \let\nonarrowing = \relax 4765 5015 \fi 4766 5016 \let\exdent=\nofillexdent … … 4862 5112 \advance\rightskip by \lispnarrowing 4863 5113 \exdentamount = \lispnarrowing 5114 \else 4864 5115 \let\nonarrowing = \relax 4865 5116 \fi … … 4869 5120 % We have retained a nonzero parskip for the environment, since we're 4870 5121 % doing normal filling. 4871 % 5122 % 4872 5123 \def\Equotation{% 4873 5124 \par … … 4954 5205 \endgroup 4955 5206 \def\setupverbatim{% 5207 \let\nonarrowing = t% 4956 5208 \nonfillstart 4957 \advance\leftskip by -\defbodyindent4958 5209 % Easiest (and conventionally used) font for verbatim 4959 5210 \tt … … 5026 5277 5027 5278 % @copying ... @end copying. 5028 % Save the text away for @insertcopying later. Many commands won't be 5029 % allowed in this context, but that's ok. 5279 % Save the text away for @insertcopying later. 5030 5280 % 5031 5281 % We save the uninterpreted tokens, rather than creating a box. … … 5036 5286 % possible is very desirable. 5037 5287 % 5038 \def\copying{\begingroup 5039 % Define a command to swallow text until we reach `@end copying'. 5040 % \ is the escape char in this texinfo.tex file, so it is the 5041 % delimiter for the command; @ will be the escape char when we read 5042 % it, but that doesn't matter. 5043 \long\def\docopying##1\end copying{\gdef\copyingtext{##1}\enddocopying}% 5044 % 5045 % We must preserve ^^M's in the input file; see \insertcopying below. 5046 \catcode`\^^M = \active 5047 \docopying 5048 } 5049 5050 % What we do to finish off the copying text. 5051 % 5052 \def\enddocopying{\endgroup\ignorespaces} 5053 5054 % @insertcopying. Here we must play games with ^^M's. On the one hand, 5055 % we need them to delimit commands such as `@end quotation', so they 5056 % must be active. On the other hand, we certainly don't want every 5057 % end-of-line to be a \par, as would happen with the normal active 5058 % definition of ^^M. On the third hand, two ^^M's in a row should still 5059 % generate a \par. 5060 % 5061 % Our approach is to make ^^M insert a space and a penalty1 normally; 5062 % then it can also check if \lastpenalty=1. If it does, then manually 5063 % do \par. 5064 % 5065 % This messes up the normal definitions of @c[omment], so we redefine 5066 % it. Similarly for @ignore. (These commands are used in the gcc 5067 % manual for man page generation.) 5068 % 5069 % Seems pretty fragile, most line-oriented commands will presumably 5070 % fail, but for the limited use of getting the copying text (which 5071 % should be quite simple) inserted, we can hope it's ok. 5072 % 5073 {\catcode`\^^M=\active % 5074 \gdef\insertcopying{\begingroup % 5075 \parindent = 0pt % looks wrong on title page 5076 \def^^M{% 5077 \ifnum \lastpenalty=1 % 5078 \par % 5079 \else % 5080 \space \penalty 1 % 5081 \fi % 5082 }% 5083 % 5084 % Fix @c[omment] for catcode 13 ^^M's. 5085 \def\c##1^^M{\ignorespaces}% 5086 \let\comment = \c % 5087 % 5088 % Don't bother jumping through all the hoops that \doignore does, it 5089 % would be very hard since the catcodes are already set. 5090 \long\def\ignore##1\end ignore{\ignorespaces}% 5091 % 5092 \copyingtext % 5093 \endgroup}% 5288 \def\copying{\checkenv{}\begingroup\scanargctxt\docopying} 5289 \def\docopying#1@end copying{\endgroup\def\copyingtext{#1}} 5290 % 5291 \def\insertcopying{% 5292 \begingroup 5293 \parindent = 0pt % paragraph indentation looks wrong on title page 5294 \scanexp\copyingtext 5295 \endgroup 5094 5296 } 5095 5297 … … 5109 5311 % which is there to keep the function description together with its 5110 5312 % header. But if there's nothing but headers, we need to allow a 5111 % break somewhere. Check for penalty 10002 (inserted by 5112 % \defargscommonending) instead of 10000, since the sectioning 5113 % commands insert a \penalty10000, and we don't want to allow a break 5114 % between a section heading and a defun. 5313 % break somewhere. Check specifically for penalty 10002, inserted 5314 % by \defargscommonending, instead of 10000, since the sectioning 5315 % commands also insert a nobreak penalty, and we don't want to allow 5316 % a break between a section heading and a defun. 5317 % 5115 5318 \ifnum\lastpenalty=10002 \penalty2000 \fi 5116 5319 % … … 5272 5475 % #2 is the return type, if any. 5273 5476 % #3 is the function name. 5274 % 5477 % 5275 5478 % We are followed by (but not passed) the arguments, if any. 5276 5479 % … … 5330 5533 % the argument list (groff manual), and ttsl and tt are not very 5331 5534 % distinguishable. Prevent hyphenation at `-' chars. 5332 % 5535 % 5333 5536 \def\defunargs#1{% 5334 % use sl by default (not ttsl), 5537 % use sl by default (not ttsl), 5335 5538 % tt for the names. 5336 5539 \df \sl \hyphenchar\font=0 … … 5436 5639 \newwrite\macscribble 5437 5640 \def\scantokens#1{% 5438 \toks0={#1 \endinput}%5641 \toks0={#1}% 5439 5642 \immediate\openout\macscribble=\jobname.tmp 5440 5643 \immediate\write\macscribble{\the\toks0}% … … 5449 5652 \let\xeatspaces\eatspaces 5450 5653 % Undo catcode changes of \startcontents and \doprintindex 5451 \catcode`\@=0 \catcode`\\=\other \escapechar=`\@ 5654 % When called from @insertcopying or (short)caption, we need active 5655 % backslash to get it printed correctly. Previously, we had 5656 % \catcode`\\=\other instead. We'll see whether a problem appears 5657 % with macro expansion. --kasal, 19aug04 5658 \catcode`\@=0 \catcode`\\=\active \escapechar=`\@ 5452 5659 % ... and \example 5453 5660 \spaceisspace … … 5461 5668 } 5462 5669 5670 \def\scanexp#1{% 5671 \edef\temp{\noexpand\scanmacro{#1}}% 5672 \temp 5673 } 5674 5463 5675 \newcount\paramno % Count of parameters 5464 5676 \newtoks\macname % Macro name 5465 5677 \newif\ifrecursive % Is it recursive? 5466 \def\macrolist{} % List of all defined macros in the form 5467 % \do\macro1\do\macro2... 5678 5679 % List of all defined macros in the form 5680 % \definedummyword\macro1\definedummyword\macro2... 5681 % Currently is also contains all @aliases; the list can be split 5682 % if there is a need. 5683 \def\macrolist{} 5684 5685 % Add the macro to \macrolist 5686 \def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname} 5687 \def\addtomacrolistxxx#1{% 5688 \toks0 = \expandafter{\macrolist\definedummyword#1}% 5689 \xdef\macrolist{\the\toks0}% 5690 } 5468 5691 5469 5692 % Utility routines. 5470 % This does \let #1 = #2, except with \csnames. 5693 % This does \let #1 = #2, with \csnames; that is, 5694 % \let \csname#1\endcsname = \csname#2\endcsname 5695 % (except of course we have to play expansion games). 5696 % 5471 5697 \def\cslet#1#2{% 5472 \expandafter\expandafter 5473 \expandafter\let 5474 \expandafter\expandafter 5475 \csname#1\endcsname 5476 \csname#2\endcsname} 5698 \expandafter\let 5699 \csname#1\expandafter\endcsname 5700 \csname#2\endcsname 5701 } 5477 5702 5478 5703 % Trim leading and trailing spaces off a string. … … 5501 5726 % body, and then making it the \newlinechar in \scanmacro. 5502 5727 5503 \def\macrobodyctxt{% 5504 \catcode`\~=\other 5728 \def\scanctxt{% 5729 \catcode`\"=\other 5730 \catcode`\+=\other 5731 \catcode`\<=\other 5732 \catcode`\>=\other 5733 \catcode`\@=\other 5505 5734 \catcode`\^=\other 5506 5735 \catcode`\_=\other 5507 5736 \catcode`\|=\other 5508 \catcode`\<=\other 5509 \catcode`\>=\other 5510 \catcode`\+=\other 5737 \catcode`\~=\other 5738 } 5739 5740 \def\scanargctxt{% 5741 \scanctxt 5742 \catcode`\\=\other 5743 \catcode`\^^M=\other 5744 } 5745 5746 \def\macrobodyctxt{% 5747 \scanctxt 5511 5748 \catcode`\{=\other 5512 5749 \catcode`\}=\other 5513 \catcode`\@=\other5514 5750 \catcode`\^^M=\other 5515 \usembodybackslash} 5751 \usembodybackslash 5752 } 5516 5753 5517 5754 \def\macroargctxt{% 5518 \catcode`\~=\other 5519 \catcode`\^=\other 5520 \catcode`\_=\other 5521 \catcode`\|=\other 5522 \catcode`\<=\other 5523 \catcode`\>=\other 5524 \catcode`\+=\other 5525 \catcode`\@=\other 5526 \catcode`\\=\other} 5755 \scanctxt 5756 \catcode`\\=\other 5757 } 5527 5758 5528 5759 % \mbodybackslash is the definition of \ in @macro bodies. … … 5555 5786 \global\cslet{macsave.\the\macname}{\the\macname}% 5556 5787 \global\expandafter\let\csname ismacro.\the\macname\endcsname=1% 5557 % Add the macroname to \macrolist 5558 \toks0 = \expandafter{\macrolist\do}% 5559 \xdef\macrolist{\the\toks0 5560 \expandafter\noexpand\csname\the\macname\endcsname}% 5788 \addtomacrolist{\the\macname}% 5561 5789 \fi 5562 5790 \begingroup \macrobodyctxt … … 5572 5800 \begingroup 5573 5801 \expandafter\let\csname#1\endcsname \relax 5574 \let\d o\unmacrodo5802 \let\definedummyword\unmacrodo 5575 5803 \xdef\macrolist{\macrolist}% 5576 5804 \endgroup … … 5584 5812 % 5585 5813 \def\unmacrodo#1{% 5586 \ifx #1\relax5814 \ifx #1\relax 5587 5815 % remove this 5588 5816 \else 5589 \noexpand\d o \noexpand#1%5817 \noexpand\definedummyword \noexpand#1% 5590 5818 \fi 5591 5819 } … … 5700 5928 % line. Whatever was read is then fed to the next control sequence 5701 5929 % as an argument (by \parsebrace or \parsearg) 5702 \def\braceorline#1{\let\ next=#1\futurelet\nchar\braceorlinexxx}5930 \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} 5703 5931 \def\braceorlinexxx{% 5704 5932 \ifx\nchar\bgroup\else 5705 5933 \expandafter\parsearg 5706 \fi \next} 5707 5708 % We mant to disable all macros during \shipout so that they are not 5709 % expanded by \write. 5710 \def\turnoffmacros{\begingroup \def\do##1{\let\noexpand##1=\relax}% 5711 \edef\next{\macrolist}\expandafter\endgroup\next} 5934 \fi \macnamexxx} 5712 5935 5713 5936 … … 5720 5943 {% 5721 5944 \expandafter\let\obeyedspace=\empty 5945 \addtomacrolist{#1}% 5722 5946 \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}% 5723 5947 }% … … 5739 5963 5740 5964 % @node's only job in TeX is to define \lastnode, which is used in 5741 % cross-references. 5742 \parseargdef\node{\checkenv{}\nodexxx #1,\finishnodeparse} 5743 \def\nodexxx#1,#2\finishnodeparse{\gdef\lastnode{#1}} 5965 % cross-references. The @node line might or might not have commas, and 5966 % might or might not have spaces before the first comma, like: 5967 % @node foo , bar , ... 5968 % We don't want such trailing spaces in the node name. 5969 % 5970 \parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse} 5971 % 5972 % also remove a trailing comma, in case of something like this: 5973 % @node Help-Cross, , , Cross-refs 5974 \def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse} 5975 \def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}} 5976 5744 5977 \let\nwnode=\node 5745 5978 \let\lastnode=\empty … … 5747 5980 % Write a cross-reference definition for the current node. #1 is the 5748 5981 % type (Ynumbered, Yappendix, Ynothing). 5749 % 5982 % 5750 5983 \def\donoderef#1{% 5751 5984 \ifx\lastnode\empty\else … … 5770 6003 % empty for anchors. 5771 6004 % 3) NAME-pg - the page number. 5772 % 6005 % 5773 6006 % This is called from \donoderef, \anchor, and \dofloat. In the case of 5774 6007 % floats, there is an additional part, which is not written here: 5775 6008 % 4) NAME-lof - the text as it should appear in a @listoffloats. 5776 % 6009 % 5777 6010 \def\setref#1#2{% 5778 6011 \pdfmkdest{#1}% … … 5780 6013 {% 5781 6014 \atdummies % preserve commands, but don't expand them 5782 \turnoffactive5783 \otherbackslash5784 6015 \edef\writexrdef##1##2{% 5785 6016 \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef … … 5835 6066 \leavevmode 5836 6067 \getfilename{#4}% 5837 {\turnoffactive \otherbackslash 6068 {\turnoffactive 6069 % See comments at \activebackslashdouble. 6070 {\activebackslashdouble \xdef\pdfxrefdest{#1}% 6071 \backslashparens\pdfxrefdest}% 6072 % 5838 6073 \ifnum\filenamelength>0 5839 6074 \startlink attr{/Border [0 0 0]}% 5840 goto file{\the\filename.pdf} name{ #1}%6075 goto file{\the\filename.pdf} name{\pdfxrefdest}% 5841 6076 \else 5842 6077 \startlink attr{/Border [0 0 0]}% 5843 goto name{\pdfmkpgn{ #1}}%6078 goto name{\pdfmkpgn{\pdfxrefdest}}% 5844 6079 \fi 5845 6080 }% … … 5855 6090 \indexnofonts 5856 6091 \turnoffactive 5857 \otherbackslash5858 6092 \expandafter\global\expandafter\let\expandafter\Xthisreftitle 5859 6093 \csname XR#1-title\endcsname … … 5863 6097 % print it instead of our usual "Figure 1.2". 5864 6098 \ifdim\wd0 = 0pt 5865 \refx{#1-snt} %6099 \refx{#1-snt}{}% 5866 6100 \else 5867 6101 \printedrefname … … 5869 6103 % 5870 6104 % if the user also gave the printed manual name (fifth arg), append 5871 % "in MANUALNAME". 6105 % "in MANUALNAME". 5872 6106 \ifdim \wd1 > 0pt 5873 6107 \space \putwordin{} \cite{\printedmanual}% … … 5875 6109 \else 5876 6110 % node/anchor (non-float) references. 5877 % 6111 % 5878 6112 % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not 5879 6113 % insert empty discretionaries after hyphens, which means that it will … … 5890 6124 % printing. So we \turnoffactive for the \refx-snt, back on for the 5891 6125 % printing, back off for the \refx-pg. 5892 {\turnoffactive \otherbackslash6126 {\turnoffactive 5893 6127 % Only output a following space if the -snt ref is nonempty; for 5894 6128 % @unnumbered and @anchor, it won't be. … … 5903 6137 % 5904 6138 % output the `page 3'. 5905 \turnoffactive \ otherbackslash \putwordpage\tie\refx{#1-pg}{}%6139 \turnoffactive \putwordpage\tie\refx{#1-pg}{}% 5906 6140 \fi 5907 6141 \fi … … 5986 6220 \expandafter\let\expandafter\floatlist 5987 6221 \csname floatlist\iffloattype\endcsname 5988 % 6222 % 5989 6223 % Is this the first time we've seen this float type? 5990 6224 \expandafter\ifx\floatlist\relax … … 6002 6236 6003 6237 % Read the last existing aux file, if any. No error if none exists. 6004 % 6238 % 6005 6239 \def\tryauxfile{% 6006 6240 \openin 1 \jobname.aux 6007 6241 \ifeof 1 \else 6008 \read auxfile6242 \readdatafile{aux}% 6009 6243 \global\havexrefstrue 6010 6244 \fi … … 6012 6246 } 6013 6247 6014 \def\ readauxfile{\begingroup6248 \def\setupdatafile{% 6015 6249 \catcode`\^^@=\other 6016 6250 \catcode`\^^A=\other … … 6081 6315 % Make the characters 128-255 be printing characters. 6082 6316 {% 6083 \count 6317 \count1=128 6084 6318 \def\loop{% 6085 \catcode\count 6086 \advance\count 6087 \ifnum \count 6319 \catcode\count1=\other 6320 \advance\count1 by 1 6321 \ifnum \count1<256 \loop \fi 6088 6322 }% 6089 6323 }% … … 6093 6327 \catcode`\}=2 6094 6328 \catcode`\@=0 6095 % 6096 \input \jobname.aux 6329 } 6330 6331 \def\readdatafile#1{% 6332 \begingroup 6333 \setupdatafile 6334 \input\jobname.#1 6097 6335 \endgroup} 6098 6099 6336 6100 6337 \message{insertions,} … … 6290 6527 \nobreak\vskip\parskip 6291 6528 \nobreak 6292 \line\bgroup \hss6529 \line\bgroup 6293 6530 \fi 6294 6531 % … … 6303 6540 \fi 6304 6541 % 6305 \ifimagevmode \ hss \egroup \bigbreak \fi % space after the image6542 \ifimagevmode \egroup \bigbreak \fi % space after the image 6306 6543 \endgroup} 6307 6544 6308 6545 6309 % @float FLOATTYPE,LOC ... @end float for displayed figures, tables, etc. 6310 % We don't actually implement floating yet, we just plop the float "here". 6311 % But it seemed the best name for the future. 6312 % 6313 \envparseargdef\float{\dofloat #1,,,\finish} 6546 % @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables, 6547 % etc. We don't actually implement floating yet, we always include the 6548 % float "here". But it seemed the best name for the future. 6549 % 6550 \envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish} 6551 6552 % There may be a space before second and/or third parameter; delete it. 6553 \def\eatcommaspace#1, {#1,} 6314 6554 6315 6555 % #1 is the optional FLOATTYPE, the text label for this float, typically 6316 6556 % "Figure", "Table", "Example", etc. Can't contain commas. If omitted, 6317 6557 % this float will not be numbered and cannot be referred to. 6318 % 6558 % 6319 6559 % #2 is the optional xref label. Also must be present for the float to 6320 6560 % be referable. 6321 % 6561 % 6322 6562 % #3 is the optional positioning argument; for now, it is ignored. It 6323 6563 % will somehow specify the positions allowed to float to (here, top, bottom). 6324 % 6564 % 6325 6565 % We keep a separate counter for each FLOATTYPE, which we reset at each 6326 6566 % chapter-level command. … … 6332 6572 % 6333 6573 % don't lose footnotes inside @float. 6574 % 6575 % BEWARE: when the floats start float, we have to issue warning whenever an 6576 % insert appears inside a float which could possibly float. --kasal, 26may04 6577 % 6334 6578 \startsavinginserts 6335 6579 % … … 6358 6602 % We want each FLOATTYPE to be numbered separately (Figure 1, 6359 6603 % Table 1, Figure 2, ...). (And if no label, no number.) 6360 % 6604 % 6361 6605 \expandafter\getfloatno\csname\safefloattype floatno\endcsname 6362 6606 \global\advance\floatno by 1 … … 6368 6612 % node and anchor labels. And \xrdef uses it to construct the 6369 6613 % lists of floats. 6370 % 6614 % 6371 6615 \edef\thissection{\floatmagic=\safefloattype}% 6372 6616 \setref{\floatlabel}{Yfloat}% … … 6416 6660 % 6417 6661 % caption text. 6418 \appendtomacro\captionline \thiscaption6662 \appendtomacro\captionline{\scanexp\thiscaption}% 6419 6663 \fi 6420 6664 % … … 6424 6668 \vskip.5\parskip 6425 6669 \captionline 6670 % 6671 % Space below caption. 6672 \vskip\parskip 6426 6673 \fi 6427 6674 % … … 6433 6680 % caption if specified, else the full caption if specified, else nothing. 6434 6681 {% 6435 \atdummies \turnoffactive \otherbackslash 6436 \immediate\write\auxfile{@xrdef{\floatlabel-lof}{% 6437 \floatident 6438 \ifx\thisshortcaption\empty 6439 \ifx\thiscaption\empty \else : \thiscaption \fi 6440 \else 6441 : \thisshortcaption 6442 \fi 6443 }}% 6682 \atdummies 6683 % 6684 % since we read the caption text in the macro world, where ^^M 6685 % is turned into a normal character, we have to scan it back, so 6686 % we don't write the literal three characters "^^M" into the aux file. 6687 \scanexp{% 6688 \xdef\noexpand\gtemp{% 6689 \ifx\thisshortcaption\empty 6690 \thiscaption 6691 \else 6692 \thisshortcaption 6693 \fi 6694 }% 6695 }% 6696 \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident 6697 \ifx\gtemp\empty \else : \gtemp \fi}}% 6444 6698 }% 6445 6699 \fi 6446 %6447 % Space below caption, if we printed anything.6448 \ifx\printedsomething\empty \else \vskip\parskip \fi6449 6700 \egroup % end of \vtop 6701 % 6702 % place the captured inserts 6703 % 6704 % BEWARE: when the floats start floating, we have to issue warning 6705 % whenever an insert appears inside a float which could possibly 6706 % float. --kasal, 26may04 6707 % 6450 6708 \checkinserts 6451 6709 } 6452 6710 6453 6711 % Append the tokens #2 to the definition of macro #1, not expanding either. 6454 % 6455 \newtoks\appendtomacroAtoks 6456 \newtoks\appendtomacroBtoks 6712 % 6457 6713 \def\appendtomacro#1#2{% 6458 \ appendtomacroAtoks = \expandafter{#1}%6459 \appendtomacroBtoks = {#2}% 6460 \edef#1{\the\appendtomacroAtoks \the\appendtomacroBtoks}% 6461 } 6462 6463 % @caption, @shortcaption are easy. 6464 % 6465 \ long\def\caption#1{\checkenv\float \def\thiscaption{#1}}6466 \def\ shortcaption#1{\checkenv\float \def\thisshortcaption{#1}}6714 \expandafter\def\expandafter#1\expandafter{#1#2}% 6715 } 6716 6717 % @caption, @shortcaption 6718 % 6719 \def\caption{\docaption\thiscaption} 6720 \def\shortcaption{\docaption\thisshortcaption} 6721 \def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption} 6722 \def\defcaption#1#2{\egroup \def#1{#2}} 6467 6723 6468 6724 % The parameter is the control sequence identifying the counter we are … … 6483 6739 % to the FLOATLABEL to expand to "Figure 3.1". We call \setref when we 6484 6740 % first read the @float command. 6485 % 6741 % 6486 6742 \def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}% 6487 6743 … … 6493 6749 % which is true if #1 represents a float ref. That is, the magic 6494 6750 % \thissection value which we \setref above. 6495 % 6751 % 6496 6752 \def\iffloat#1{\expandafter\doiffloat#1==\finish} 6497 6753 % 6498 6754 % #1 is (maybe) the \floatmagic string. If so, #2 will be the 6499 6755 % (safe) float type for this float. We set \iffloattype to #2. 6500 % 6756 % 6501 6757 \def\doiffloat#1=#2=#3\finish{% 6502 6758 \def\temp{#1}% … … 6506 6762 6507 6763 % @listoffloats FLOATTYPE - print a list of floats like a table of contents. 6508 % 6764 % 6509 6765 \parseargdef\listoffloats{% 6510 6766 \def\floattype{#1}% floattype … … 6536 6792 % aux file. We strip off the -title and look up \XRLABEL-lof, which 6537 6793 % has the text we're supposed to typeset here. 6538 % 6794 % 6539 6795 % Figures without xref labels will not be included in the list (since 6540 6796 % they won't appear in the aux file). 6541 % 6797 % 6542 6798 \def\listoffloatsdo#1{\listoffloatsdoentry#1\finish} 6543 6799 \def\listoffloatsdoentry#1-title\finish{{% … … 6616 6872 } 6617 6873 6618 % Parameters in order: 1) textheight; 2) textwidth; 3) voffset;6619 % 4) hoffset; 5) binding offset; 6) topskip; 7) physical page height; 8)6620 % physical page width.6874 % Parameters in order: 1) textheight; 2) textwidth; 6875 % 3) voffset; 4) hoffset; 5) binding offset; 6) topskip; 6876 % 7) physical page height; 8) physical page width. 6621 6877 % 6622 6878 % We also call \setleading{\textleading}, so the caller should define … … 6665 6921 }} 6666 6922 6667 % Use @smallbook to reset parameters for 7x9. 5 (or so) format.6923 % Use @smallbook to reset parameters for 7x9.25 trim size. 6668 6924 \def\smallbook{{\globaldefs = 1 6669 6925 \parskip = 2pt plus 1pt … … 6680 6936 \contentsrightmargin = 0pt 6681 6937 \defbodyindent = .5cm 6938 }} 6939 6940 % Use @smallerbook to reset parameters for 6x9 trim size. 6941 % (Just testing, parameters still in flux.) 6942 \def\smallerbook{{\globaldefs = 1 6943 \parskip = 1.5pt plus 1pt 6944 \textleading = 12pt 6945 % 6946 \internalpagesizes{7.4in}{4.8in}% 6947 {-.2in}{-.4in}% 6948 {0pt}{14pt}% 6949 {9in}{6in}% 6950 % 6951 \lispnarrowing = 0.25in 6952 \tolerance = 700 6953 \hfuzz = 1pt 6954 \contentsrightmargin = 0pt 6955 \defbodyindent = .4cm 6682 6956 }} 6683 6957 … … 6834 7108 \catcode`\_=\active 6835 7109 \def_{\ifusingtt\normalunderscore\_} 7110 \let\realunder=_ 6836 7111 % Subroutine for the previous macro. 6837 7112 \def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em } … … 6856 7131 \def\otherifyactive{\catcode`+=\other \catcode`\_=\other} 6857 7132 7133 % Used sometimes to turn off (effectively) the active characters even after 7134 % parsing them. 7135 \def\turnoffactive{% 7136 \normalturnoffactive 7137 \otherbackslash 7138 } 7139 6858 7140 \catcode`\@=0 6859 7141 … … 6863 7145 \global\let\rawbackslashxx=\backslashcurfont % let existing .??s files work 6864 7146 7147 % \realbackslash is an actual character `\' with catcode other, and 7148 % \doublebackslash is two of them (for the pdf outlines). 7149 {\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}} 7150 7151 % In texinfo, backslash is an active character; it prints the backslash 7152 % in fixed width font. 7153 \catcode`\\=\active 7154 @def@normalbackslash{{@tt@backslashcurfont}} 7155 % On startup, @fixbackslash assigns: 7156 % @let \ = @normalbackslash 7157 6865 7158 % \rawbackslash defines an active \ to do \backslashcurfont. 6866 7159 % \otherbackslash defines an active \ to be a literal `\' character with 6867 7160 % catcode other. 6868 {\catcode`\\=\active 6869 @gdef@rawbackslash{@let\=@backslashcurfont} 6870 @gdef@otherbackslash{@let\=@realbackslash} 6871 } 6872 6873 % \realbackslash is an actual character `\' with catcode other. 6874 {\catcode`\\=\other @gdef@realbackslash{\}} 6875 6876 % \normalbackslash outputs one backslash in fixed width font. 6877 \def\normalbackslash{{\tt\backslashcurfont}} 6878 6879 \catcode`\\=\active 6880 6881 % Used sometimes to turn off (effectively) the active characters 6882 % even after parsing them. 6883 @def@turnoffactive{% 7161 @gdef@rawbackslash{@let\=@backslashcurfont} 7162 @gdef@otherbackslash{@let\=@realbackslash} 7163 7164 % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of 7165 % the literal character `\'. 7166 % 7167 @def@normalturnoffactive{% 7168 @let\=@normalbackslash 6884 7169 @let"=@normaldoublequote 6885 @let\=@realbackslash6886 7170 @let~=@normaltilde 6887 7171 @let^=@normalcaret … … 6895 7179 } 6896 7180 6897 % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of6898 % the literal character `\'. (Thus, \ is not expandable when this is in6899 % effect.)6900 %6901 @def@normalturnoffactive{@turnoffactive @let\=@normalbackslash}6902 6903 7181 % Make _ and + \other characters, temporarily. 6904 7182 % This is canceled by @fixbackslash. … … 6913 7191 6914 7192 % On the other hand, perhaps the file did not have a `\input texinfo'. Then 6915 % the first `\ {in the file would cause an error. This macro tries to fix7193 % the first `\' in the file would cause an error. This macro tries to fix 6916 7194 % that, assuming it is called before the first `\' could plausibly occur. 6917 % Also back turnon active characters that might appear in the input7195 % Also turn back on active characters that might appear in the input 6918 7196 % file name, in case not using a pre-dumped format. 6919 7197 % -
vendor/gnumake/current/configh.dos
r152 r501 1 /* configh.dos -- hand-massaged config.h file for MS-DOS builds -*-C-*- 2 3 Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 4 2004, 2005, 2006 Free Software Foundation, Inc. 5 This file is part of GNU Make. 6 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 1 18 2 19 /* Many things are defined already by a system header. */ … … 77 94 78 95 /* Define to the full name and version of this package. */ 79 #define PACKAGE_STRING "GNU make 3.81 beta1"96 #define PACKAGE_STRING "GNU make 3.81" 80 97 81 98 /* Define to the one symbol short name of this package. */ … … 83 100 84 101 /* Define to the version of this package. */ 85 #define PACKAGE_VERSION "3.81 beta1"102 #define PACKAGE_VERSION "3.81" 86 103 87 104 /* Define to 1 if the C compiler supports function prototypes. */ … … 92 109 93 110 /* Version number of package */ 94 #define VERSION "3.81 beta1"111 #define VERSION "3.81" 95 112 96 113 /* Build host information. */ -
vendor/gnumake/current/configure
-
Property svn:executable
set to
*
r152 r501 1 1 #! /bin/sh 2 # From configure.in Id: configure.in,v 1.1 25 2004/03/06 08:05:19psmith Exp .2 # From configure.in Id: configure.in,v 1.142 2006/04/01 06:36:40 psmith Exp . 3 3 # Guess values for system-dependent variables and create Makefiles. 4 # Generated by GNU Autoconf 2.59 for GNU make 3.81 beta1.4 # Generated by GNU Autoconf 2.59 for GNU make 3.81. 5 5 # 6 6 # Report bugs to <[email protected]>. … … 271 271 PACKAGE_NAME='GNU make' 272 272 PACKAGE_TARNAME='make' 273 PACKAGE_VERSION='3.81 beta1'274 PACKAGE_STRING='GNU make 3.81 beta1'273 PACKAGE_VERSION='3.81' 274 PACKAGE_STRING='GNU make 3.81' 275 275 PACKAGE_BUGREPORT='[email protected]' 276 276 … … 313 313 #endif" 314 314 315 ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RANLIB ac_ct_RANLIB CPP AR PERL build build_cpu build_vendor build_os host host_cpu host_vendor host_os EGREP U ANSI2KNR MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB ALLOCA LIBOBJS NEED_SETGID KMEM_GROUP GETLOADAVG_LIBS REMOTE USE_CUSTOMS_TRUE USE_CUSTOMS_FALSE GLOBINC GLOBLIB USE_LOCAL_GLOB_TRUE USE_LOCAL_GLOB_FALSE MAKE_HOSTLTLIBOBJS'315 ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RANLIB ac_ct_RANLIB CPP AR PERL build build_cpu build_vendor build_os host host_cpu host_vendor host_os EGREP U ANSI2KNR MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB ALLOCA LIBOBJS NEED_SETGID KMEM_GROUP GETLOADAVG_LIBS REMOTE USE_CUSTOMS_TRUE USE_CUSTOMS_FALSE GLOBINC GLOBLIB USE_LOCAL_GLOB_TRUE USE_LOCAL_GLOB_FALSE MAKE_HOST WINDOWSENV_TRUE WINDOWSENV_FALSE LTLIBOBJS' 316 316 ac_subst_files='MAINT_MAKEFILE' 317 317 … … 782 782 # This message is too long to be a string in the A/UX 3.1 sh. 783 783 cat <<_ACEOF 784 \`configure' configures GNU make 3.81 beta1to adapt to many kinds of systems.784 \`configure' configures GNU make 3.81 to adapt to many kinds of systems. 785 785 786 786 Usage: $0 [OPTION]... [VAR=VALUE]... … … 848 848 if test -n "$ac_init_help"; then 849 849 case $ac_init_help in 850 short | recursive ) echo "Configuration of GNU make 3.81 beta1:";;850 short | recursive ) echo "Configuration of GNU make 3.81:";; 851 851 esac 852 852 cat <<\_ACEOF … … 860 860 --disable-rpath do not hardcode runtime library paths 861 861 --disable-largefile omit support for large files 862 --enable-case-insensitive-file-system 863 enable case insensitive file system support 862 864 --disable-job-server disallow recursive make communication during -jN 863 865 … … 975 977 echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 976 978 fi 977 cd $ac_popdir979 cd "$ac_popdir" 978 980 done 979 981 fi … … 982 984 if $ac_init_version; then 983 985 cat <<\_ACEOF 984 GNU make configure 3.81 beta1986 GNU make configure 3.81 985 987 generated by GNU Autoconf 2.59 986 988 … … 996 998 running configure, to aid debugging if configure makes a mistake. 997 999 998 It was created by GNU make $as_me 3.81 beta1, which was1000 It was created by GNU make $as_me 3.81, which was 999 1001 generated by GNU Autoconf 2.59. Invocation command line was 1000 1002 … … 1367 1369 1368 1370 # Automake setup 1369 am__api_version="1. 8"1371 am__api_version="1.9" 1370 1372 # Find a good install program. We prefer a C program (faster), 1371 1373 # so one script is as good as another. But avoid the broken or … … 1518 1520 fi 1519 1521 1520 if mkdir -p -- . 2>/dev/null; then1521 # Keeping the `.' argument allows $(mkdir_p) to be used without1522 # a rgument. Indeed, we sometimes output rules like1522 if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then 1523 # We used to keeping the `.' as first argument, in order to 1524 # allow $(mkdir_p) to be used without argument. As in 1523 1525 # $(mkdir_p) $(somedir) 1524 # where $(somedir) is conditionally defined. 1525 # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more 1526 # expensive solution, as it forces Make to start a sub-shell.) 1527 mkdir_p='mkdir -p -- .' 1526 # where $(somedir) is conditionally defined. However this is wrong 1527 # for two reasons: 1528 # 1. if the package is installed by a user who cannot write `.' 1529 # make install will fail, 1530 # 2. the above comment should most certainly read 1531 # $(mkdir_p) $(DESTDIR)$(somedir) 1532 # so it does not work when $(somedir) is undefined and 1533 # $(DESTDIR) is not. 1534 # To support the latter case, we have to write 1535 # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), 1536 # so the `.' trick is pointless. 1537 mkdir_p='mkdir -p --' 1528 1538 else 1529 1539 # On NextStep and OpenStep, the `mkdir' command does not … … 1531 1541 # directories to create, and then abort because `.' already 1532 1542 # exists. 1533 for d in ./-p ./-- ;1543 for d in ./-p ./--version; 1534 1544 do 1535 1545 test -d $d && rmdir $d … … 1641 1651 # Define the identity of the package. 1642 1652 PACKAGE='make' 1643 VERSION='3.81 beta1'1653 VERSION='3.81' 1644 1654 1645 1655 … … 1668 1678 1669 1679 MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} 1670 1671 1672 AMTAR=${AMTAR-"${am_missing_run}tar"}1673 1680 1674 1681 install_sh=${install_sh-"$am_aux_dir/install-sh"} … … 1764 1771 # We need awk for the "check" target. The system "awk" is bad on 1765 1772 # some platforms. 1773 # Always define AMTAR for backward compatibility. 1774 1775 AMTAR=${AMTAR-"${am_missing_run}tar"} 1776 1777 am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' 1778 1779 1766 1780 1767 1781 … … 2337 2351 echo "$as_me:$LINENO: \$? = $ac_status" >&5 2338 2352 (exit $ac_status); } && 2339 { ac_try='test -z "$ac_c_werror_flag" 2340 || test ! -s conftest.err' 2353 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 2341 2354 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 2342 2355 (eval $ac_try) 2>&5 … … 2396 2409 echo "$as_me:$LINENO: \$? = $ac_status" >&5 2397 2410 (exit $ac_status); } && 2398 { ac_try='test -z "$ac_c_werror_flag" 2399 || test ! -s conftest.err' 2411 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 2400 2412 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 2401 2413 (eval $ac_try) 2>&5 … … 2513 2525 echo "$as_me:$LINENO: \$? = $ac_status" >&5 2514 2526 (exit $ac_status); } && 2515 { ac_try='test -z "$ac_c_werror_flag" 2516 || test ! -s conftest.err' 2527 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 2517 2528 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 2518 2529 (eval $ac_try) 2>&5 … … 2568 2579 echo "$as_me:$LINENO: \$? = $ac_status" >&5 2569 2580 (exit $ac_status); } && 2570 { ac_try='test -z "$ac_c_werror_flag" 2571 || test ! -s conftest.err' 2581 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 2572 2582 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 2573 2583 (eval $ac_try) 2>&5 … … 2614 2624 echo "$as_me:$LINENO: \$? = $ac_status" >&5 2615 2625 (exit $ac_status); } && 2616 { ac_try='test -z "$ac_c_werror_flag" 2617 || test ! -s conftest.err' 2626 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 2618 2627 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 2619 2628 (eval $ac_try) 2>&5 … … 2659 2668 echo "$as_me:$LINENO: \$? = $ac_status" >&5 2660 2669 (exit $ac_status); } && 2661 { ac_try='test -z "$ac_c_werror_flag" 2662 || test ! -s conftest.err' 2670 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 2663 2671 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 2664 2672 (eval $ac_try) 2>&5 … … 2805 2813 for i in 1 2 3 4 5 6; do 2806 2814 echo '#include "conftst'$i'.h"' >> sub/conftest.c 2807 : > sub/conftst$i.h 2815 # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with 2816 # Solaris 8's {/usr,}/bin/sh. 2817 touch sub/conftst$i.h 2808 2818 done 2809 2819 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf … … 2833 2843 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then 2834 2844 # icc doesn't choke on unknown options, it will just issue warnings 2835 # (even with -Werror). So we grep stderr for any message 2836 # that says an option was ignored. 2837 if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else 2845 # or remarks (even with -Werror). So we grep stderr for any message 2846 # that says an option was ignored or not supported. 2847 # When given -MP, icc 7.0 and 7.1 complain thusly: 2848 # icc: Command line warning: ignoring option '-M'; no argument required 2849 # The diagnosis changed in icc 8.0: 2850 # icc: Command line remark: option '-MP' not supported 2851 if (grep 'ignoring option' conftest.err || 2852 grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else 2838 2853 am_cv_CC_dependencies_compiler_type=$depmode 2839 2854 break … … 3472 3487 echo "$as_me:$LINENO: \$? = $ac_status" >&5 3473 3488 (exit $ac_status); } && 3474 { ac_try='test -z "$ac_c_werror_flag" 3475 || test ! -s conftest.err' 3489 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 3476 3490 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 3477 3491 (eval $ac_try) 2>&5 … … 3527 3541 echo "$as_me:$LINENO: \$? = $ac_status" >&5 3528 3542 (exit $ac_status); } && 3529 { ac_try='test -z "$ac_c_werror_flag" 3530 || test ! -s conftest.err' 3543 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 3531 3544 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 3532 3545 (eval $ac_try) 2>&5 … … 3593 3606 echo "$as_me:$LINENO: \$? = $ac_status" >&5 3594 3607 (exit $ac_status); } && 3595 { ac_try='test -z "$ac_c_werror_flag" 3596 || test ! -s conftest.err' 3608 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 3597 3609 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 3598 3610 (eval $ac_try) 2>&5 … … 3764 3776 echo "$as_me:$LINENO: \$? = $ac_status" >&5 3765 3777 (exit $ac_status); } && 3766 { ac_try='test -z "$ac_c_werror_flag" 3767 || test ! -s conftest.err' 3778 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 3768 3779 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 3769 3780 (eval $ac_try) 2>&5 … … 3828 3839 echo "$as_me:$LINENO: \$? = $ac_status" >&5 3829 3840 (exit $ac_status); } && 3830 { ac_try='test -z "$ac_c_werror_flag" 3831 || test ! -s conftest.err' 3841 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 3832 3842 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 3833 3843 (eval $ac_try) 2>&5 … … 4024 4034 echo "$as_me:$LINENO: \$? = $ac_status" >&5 4025 4035 (exit $ac_status); } && 4026 { ac_try='test -z "$ac_c_werror_flag" 4027 || test ! -s conftest.err' 4036 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 4028 4037 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 4029 4038 (eval $ac_try) 2>&5 … … 5072 5081 echo "$as_me:$LINENO: \$? = $ac_status" >&5 5073 5082 (exit $ac_status); } && 5074 { ac_try='test -z "$ac_c_werror_flag" 5075 || test ! -s conftest.err' 5083 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 5076 5084 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 5077 5085 (eval $ac_try) 2>&5 … … 5164 5172 echo "$as_me:$LINENO: \$? = $ac_status" >&5 5165 5173 (exit $ac_status); } && 5166 { ac_try='test -z "$ac_c_werror_flag" 5167 || test ! -s conftest.err' 5174 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 5168 5175 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 5169 5176 (eval $ac_try) 2>&5 … … 5215 5222 echo "$as_me:$LINENO: \$? = $ac_status" >&5 5216 5223 (exit $ac_status); } && 5217 { ac_try='test -z "$ac_c_werror_flag" 5218 || test ! -s conftest.err' 5224 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 5219 5225 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 5220 5226 (eval $ac_try) 2>&5 … … 5682 5688 echo "$as_me:$LINENO: \$? = $ac_status" >&5 5683 5689 (exit $ac_status); } && 5684 { ac_try='test -z "$ac_c_werror_flag" 5685 || test ! -s conftest.err' 5690 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 5686 5691 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 5687 5692 (eval $ac_try) 2>&5 … … 5737 5742 echo "$as_me:$LINENO: \$? = $ac_status" >&5 5738 5743 (exit $ac_status); } && 5739 { ac_try='test -z "$ac_c_werror_flag" 5740 || test ! -s conftest.err' 5744 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 5741 5745 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 5742 5746 (eval $ac_try) 2>&5 … … 5925 5929 echo "$as_me:$LINENO: \$? = $ac_status" >&5 5926 5930 (exit $ac_status); } && 5927 { ac_try='test -z "$ac_c_werror_flag" 5928 || test ! -s conftest.err' 5931 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 5929 5932 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 5930 5933 (eval $ac_try) 2>&5 … … 5955 5958 echo "$as_me:$LINENO: \$? = $ac_status" >&5 5956 5959 (exit $ac_status); } && 5957 { ac_try='test -z "$ac_c_werror_flag" 5958 || test ! -s conftest.err' 5960 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 5959 5961 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 5960 5962 (eval $ac_try) 2>&5 … … 6026 6028 echo "$as_me:$LINENO: \$? = $ac_status" >&5 6027 6029 (exit $ac_status); } && 6028 { ac_try='test -z "$ac_c_werror_flag" 6029 || test ! -s conftest.err' 6030 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 6030 6031 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 6031 6032 (eval $ac_try) 2>&5 … … 6079 6080 echo "$as_me:$LINENO: \$? = $ac_status" >&5 6080 6081 (exit $ac_status); } && 6081 { ac_try='test -z "$ac_c_werror_flag" 6082 || test ! -s conftest.err' 6082 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 6083 6083 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 6084 6084 (eval $ac_try) 2>&5 … … 6151 6151 echo "$as_me:$LINENO: \$? = $ac_status" >&5 6152 6152 (exit $ac_status); } && 6153 { ac_try='test -z "$ac_c_werror_flag" 6154 || test ! -s conftest.err' 6153 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 6155 6154 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 6156 6155 (eval $ac_try) 2>&5 … … 6204 6203 echo "$as_me:$LINENO: \$? = $ac_status" >&5 6205 6204 (exit $ac_status); } && 6206 { ac_try='test -z "$ac_c_werror_flag" 6207 || test ! -s conftest.err' 6205 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 6208 6206 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 6209 6207 (eval $ac_try) 2>&5 … … 6279 6277 echo "$as_me:$LINENO: \$? = $ac_status" >&5 6280 6278 (exit $ac_status); } && 6281 { ac_try='test -z "$ac_c_werror_flag" 6282 || test ! -s conftest.err' 6279 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 6283 6280 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 6284 6281 (eval $ac_try) 2>&5 … … 6334 6331 echo "$as_me:$LINENO: \$? = $ac_status" >&5 6335 6332 (exit $ac_status); } && 6336 { ac_try='test -z "$ac_c_werror_flag" 6337 || test ! -s conftest.err' 6333 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 6338 6334 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 6339 6335 (eval $ac_try) 2>&5 … … 6402 6398 echo "$as_me:$LINENO: \$? = $ac_status" >&5 6403 6399 (exit $ac_status); } && 6404 { ac_try='test -z "$ac_c_werror_flag" 6405 || test ! -s conftest.err' 6400 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 6406 6401 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 6407 6402 (eval $ac_try) 2>&5 … … 6575 6570 echo "$as_me:$LINENO: \$? = $ac_status" >&5 6576 6571 (exit $ac_status); } && 6577 { ac_try='test -z "$ac_c_werror_flag" 6578 || test ! -s conftest.err' 6572 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 6579 6573 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 6580 6574 (eval $ac_try) 2>&5 … … 6648 6642 echo "$as_me:$LINENO: \$? = $ac_status" >&5 6649 6643 (exit $ac_status); } && 6650 { ac_try='test -z "$ac_c_werror_flag" 6651 || test ! -s conftest.err' 6644 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 6652 6645 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 6653 6646 (eval $ac_try) 2>&5 … … 6703 6696 echo "$as_me:$LINENO: \$? = $ac_status" >&5 6704 6697 (exit $ac_status); } && 6705 { ac_try='test -z "$ac_c_werror_flag" 6706 || test ! -s conftest.err' 6698 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 6707 6699 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 6708 6700 (eval $ac_try) 2>&5 … … 6775 6767 echo "$as_me:$LINENO: \$? = $ac_status" >&5 6776 6768 (exit $ac_status); } && 6777 { ac_try='test -z "$ac_c_werror_flag" 6778 || test ! -s conftest.err' 6769 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 6779 6770 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 6780 6771 (eval $ac_try) 2>&5 … … 6830 6821 echo "$as_me:$LINENO: \$? = $ac_status" >&5 6831 6822 (exit $ac_status); } && 6832 { ac_try='test -z "$ac_c_werror_flag" 6833 || test ! -s conftest.err' 6823 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 6834 6824 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 6835 6825 (eval $ac_try) 2>&5 … … 6956 6946 echo "$as_me:$LINENO: \$? = $ac_status" >&5 6957 6947 (exit $ac_status); } && 6958 { ac_try='test -z "$ac_c_werror_flag" 6959 || test ! -s conftest.err' 6948 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 6960 6949 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 6961 6950 (eval $ac_try) 2>&5 … … 6998 6987 6999 6988 6989 7000 6990 for ac_header in stdlib.h locale.h unistd.h limits.h fcntl.h string.h \ 7001 memory.h sys/param.h sys/ time.h sys/timeb.h6991 memory.h sys/param.h sys/resource.h sys/time.h sys/timeb.h 7002 6992 do 7003 6993 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` … … 7032 7022 echo "$as_me:$LINENO: \$? = $ac_status" >&5 7033 7023 (exit $ac_status); } && 7034 { ac_try='test -z "$ac_c_werror_flag" 7035 || test ! -s conftest.err' 7024 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 7036 7025 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 7037 7026 (eval $ac_try) 2>&5 … … 7195 7184 echo "$as_me:$LINENO: \$? = $ac_status" >&5 7196 7185 (exit $ac_status); } && 7197 { ac_try='test -z "$ac_c_werror_flag" 7198 || test ! -s conftest.err' 7186 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 7199 7187 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 7200 7188 (eval $ac_try) 2>&5 … … 7490 7478 echo "$as_me:$LINENO: \$? = $ac_status" >&5 7491 7479 (exit $ac_status); } && 7492 { ac_try='test -z "$ac_c_werror_flag" 7493 || test ! -s conftest.err' 7480 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 7494 7481 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 7495 7482 (eval $ac_try) 2>&5 … … 7561 7548 echo "$as_me:$LINENO: \$? = $ac_status" >&5 7562 7549 (exit $ac_status); } && 7563 { ac_try='test -z "$ac_c_werror_flag" 7564 || test ! -s conftest.err' 7550 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 7565 7551 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 7566 7552 (eval $ac_try) 2>&5 … … 7661 7647 echo "$as_me:$LINENO: \$? = $ac_status" >&5 7662 7648 (exit $ac_status); } && 7663 { ac_try='test -z "$ac_c_werror_flag" 7664 || test ! -s conftest.err' 7649 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 7665 7650 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 7666 7651 (eval $ac_try) 2>&5 … … 7730 7715 echo "$as_me:$LINENO: \$? = $ac_status" >&5 7731 7716 (exit $ac_status); } && 7732 { ac_try='test -z "$ac_c_werror_flag" 7733 || test ! -s conftest.err' 7717 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 7734 7718 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 7735 7719 (eval $ac_try) 2>&5 … … 7791 7775 echo "$as_me:$LINENO: \$? = $ac_status" >&5 7792 7776 (exit $ac_status); } && 7793 { ac_try='test -z "$ac_c_werror_flag" 7794 || test ! -s conftest.err' 7777 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 7795 7778 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 7796 7779 (eval $ac_try) 2>&5 … … 7869 7852 echo "$as_me:$LINENO: \$? = $ac_status" >&5 7870 7853 (exit $ac_status); } && 7871 { ac_try='test -z "$ac_c_werror_flag" 7872 || test ! -s conftest.err' 7854 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 7873 7855 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 7874 7856 (eval $ac_try) 2>&5 … … 7940 7922 echo "$as_me:$LINENO: \$? = $ac_status" >&5 7941 7923 (exit $ac_status); } && 7942 { ac_try='test -z "$ac_c_werror_flag" 7943 || test ! -s conftest.err' 7924 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 7944 7925 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 7945 7926 (eval $ac_try) 2>&5 … … 8017 7998 echo "$as_me:$LINENO: \$? = $ac_status" >&5 8018 7999 (exit $ac_status); } && 8019 { ac_try='test -z "$ac_c_werror_flag" 8020 || test ! -s conftest.err' 8000 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 8021 8001 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 8022 8002 (eval $ac_try) 2>&5 … … 8072 8052 echo "$as_me:$LINENO: \$? = $ac_status" >&5 8073 8053 (exit $ac_status); } && 8074 { ac_try='test -z "$ac_c_werror_flag" 8075 || test ! -s conftest.err' 8054 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 8076 8055 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 8077 8056 (eval $ac_try) 2>&5 … … 8124 8103 cat >conftest.$ac_ext <<_ACEOF 8125 8104 8126 #if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __EMX__ 8105 #if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __EMX__ && !defined __MSYS__ 8127 8106 neither MSDOS nor Windows nor OS2 8128 8107 #endif … … 8138 8117 echo "$as_me:$LINENO: \$? = $ac_status" >&5 8139 8118 (exit $ac_status); } && 8140 { ac_try='test -z "$ac_c_werror_flag" 8141 || test ! -s conftest.err' 8119 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 8142 8120 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 8143 8121 (eval $ac_try) 2>&5 … … 8254 8232 8255 8233 8234 8235 8236 8237 8238 8239 8256 8240 for ac_func in memcpy memmove strchr strdup mkstemp mktemp fdopen \ 8257 bsd_signal dup2 getcwd sigsetmask sigaction getgroups \ 8258 seteuid setegid setlinebuf setreuid setregid setvbuf pipe \ 8259 strerror strsignal 8241 bsd_signal dup2 getcwd realpath sigsetmask sigaction \ 8242 getgroups seteuid setegid setlinebuf setreuid setregid \ 8243 getrlimit setrlimit setvbuf pipe strerror strsignal \ 8244 lstat readlink atexit 8260 8245 do 8261 8246 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` … … 8325 8310 echo "$as_me:$LINENO: \$? = $ac_status" >&5 8326 8311 (exit $ac_status); } && 8327 { ac_try='test -z "$ac_c_werror_flag" 8328 || test ! -s conftest.err' 8312 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 8329 8313 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 8330 8314 (eval $ac_try) 2>&5 … … 8392 8376 echo "$as_me:$LINENO: \$? = $ac_status" >&5 8393 8377 (exit $ac_status); } && 8394 { ac_try='test -z "$ac_c_werror_flag" 8395 || test ! -s conftest.err' 8378 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 8396 8379 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 8397 8380 (eval $ac_try) 2>&5 … … 8432 8415 echo "$as_me:$LINENO: \$? = $ac_status" >&5 8433 8416 (exit $ac_status); } && 8434 { ac_try='test -z "$ac_c_werror_flag" 8435 || test ! -s conftest.err' 8417 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 8436 8418 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 8437 8419 (eval $ac_try) 2>&5 … … 8613 8595 echo "$as_me:$LINENO: \$? = $ac_status" >&5 8614 8596 (exit $ac_status); } && 8615 { ac_try='test -z "$ac_c_werror_flag" 8616 || test ! -s conftest.err' 8597 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 8617 8598 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 8618 8599 (eval $ac_try) 2>&5 … … 8695 8676 echo "$as_me:$LINENO: \$? = $ac_status" >&5 8696 8677 (exit $ac_status); } && 8697 { ac_try='test -z "$ac_c_werror_flag" 8698 || test ! -s conftest.err' 8678 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 8699 8679 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 8700 8680 (eval $ac_try) 2>&5 … … 8837 8817 echo "$as_me:$LINENO: \$? = $ac_status" >&5 8838 8818 (exit $ac_status); } && 8839 { ac_try='test -z "$ac_c_werror_flag" 8840 || test ! -s conftest.err' 8819 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 8841 8820 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 8842 8821 (eval $ac_try) 2>&5 … … 8976 8955 echo "$as_me:$LINENO: \$? = $ac_status" >&5 8977 8956 (exit $ac_status); } && 8978 { ac_try='test -z "$ac_c_werror_flag" 8979 || test ! -s conftest.err' 8957 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 8980 8958 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 8981 8959 (eval $ac_try) 2>&5 … … 9162 9140 echo "$as_me:$LINENO: \$? = $ac_status" >&5 9163 9141 (exit $ac_status); } && 9164 { ac_try='test -z "$ac_c_werror_flag" 9165 || test ! -s conftest.err' 9142 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 9166 9143 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 9167 9144 (eval $ac_try) 2>&5 … … 9205 9182 else 9206 9183 cat >conftest.$ac_ext <<_ACEOF 9207 /* By Ruediger Kuhlmann. */ 9208 #include <sys/types.h> 9209 #if HAVE_UNISTD_H 9210 # include <unistd.h> 9211 #endif 9212 /* Some systems only have a dummy stub for fork() */ 9213 int main () 9214 { 9215 if (fork() < 0) 9216 exit (1); 9217 exit (0); 9218 } 9184 /* confdefs.h. */ 9185 _ACEOF 9186 cat confdefs.h >>conftest.$ac_ext 9187 cat >>conftest.$ac_ext <<_ACEOF 9188 /* end confdefs.h. */ 9189 $ac_includes_default 9190 int 9191 main () 9192 { 9193 9194 /* By Ruediger Kuhlmann. */ 9195 if (fork() < 0) 9196 exit (1); 9197 exit (0); 9198 9199 ; 9200 return 0; 9201 } 9219 9202 _ACEOF 9220 9203 rm -f conftest$ac_exeext … … 9495 9478 echo "$as_me:$LINENO: \$? = $ac_status" >&5 9496 9479 (exit $ac_status); } && 9497 { ac_try='test -z "$ac_c_werror_flag" 9498 || test ! -s conftest.err' 9480 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 9499 9481 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 9500 9482 (eval $ac_try) 2>&5 … … 9590 9572 echo "$as_me:$LINENO: \$? = $ac_status" >&5 9591 9573 (exit $ac_status); } && 9592 { ac_try='test -z "$ac_c_werror_flag" 9593 || test ! -s conftest.err' 9574 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 9594 9575 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 9595 9576 (eval $ac_try) 2>&5 … … 9765 9746 echo "$as_me:$LINENO: \$? = $ac_status" >&5 9766 9747 (exit $ac_status); } && 9767 { ac_try='test -z "$ac_c_werror_flag" 9768 || test ! -s conftest.err' 9748 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 9769 9749 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 9770 9750 (eval $ac_try) 2>&5 … … 9867 9847 echo "$as_me:$LINENO: \$? = $ac_status" >&5 9868 9848 (exit $ac_status); } && 9869 { ac_try='test -z "$ac_c_werror_flag" 9870 || test ! -s conftest.err' 9849 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 9871 9850 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 9872 9851 (eval $ac_try) 2>&5 … … 9941 9920 echo "$as_me:$LINENO: \$? = $ac_status" >&5 9942 9921 (exit $ac_status); } && 9943 { ac_try='test -z "$ac_c_werror_flag" 9944 || test ! -s conftest.err' 9922 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 9945 9923 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 9946 9924 (eval $ac_try) 2>&5 … … 10021 9999 echo "$as_me:$LINENO: \$? = $ac_status" >&5 10022 10000 (exit $ac_status); } && 10023 { ac_try='test -z "$ac_c_werror_flag" 10024 || test ! -s conftest.err' 10001 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 10025 10002 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 10026 10003 (eval $ac_try) 2>&5 … … 10091 10068 echo "$as_me:$LINENO: \$? = $ac_status" >&5 10092 10069 (exit $ac_status); } && 10093 { ac_try='test -z "$ac_c_werror_flag" 10094 || test ! -s conftest.err' 10070 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 10095 10071 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 10096 10072 (eval $ac_try) 2>&5 … … 10160 10136 echo "$as_me:$LINENO: \$? = $ac_status" >&5 10161 10137 (exit $ac_status); } && 10162 { ac_try='test -z "$ac_c_werror_flag" 10163 || test ! -s conftest.err' 10138 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 10164 10139 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 10165 10140 (eval $ac_try) 2>&5 … … 10235 10210 echo "$as_me:$LINENO: \$? = $ac_status" >&5 10236 10211 (exit $ac_status); } && 10237 { ac_try='test -z "$ac_c_werror_flag" 10238 || test ! -s conftest.err' 10212 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 10239 10213 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 10240 10214 (eval $ac_try) 2>&5 … … 10340 10314 echo "$as_me:$LINENO: \$? = $ac_status" >&5 10341 10315 (exit $ac_status); } && 10342 { ac_try='test -z "$ac_c_werror_flag" 10343 || test ! -s conftest.err' 10316 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 10344 10317 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 10345 10318 (eval $ac_try) 2>&5 … … 10416 10389 echo "$as_me:$LINENO: \$? = $ac_status" >&5 10417 10390 (exit $ac_status); } && 10418 { ac_try='test -z "$ac_c_werror_flag" 10419 || test ! -s conftest.err' 10391 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 10420 10392 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 10421 10393 (eval $ac_try) 2>&5 … … 10569 10541 echo "$as_me:$LINENO: \$? = $ac_status" >&5 10570 10542 (exit $ac_status); } && 10571 { ac_try='test -z "$ac_c_werror_flag" 10572 || test ! -s conftest.err' 10543 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 10573 10544 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 10574 10545 (eval $ac_try) 2>&5 … … 10638 10609 echo "$as_me:$LINENO: \$? = $ac_status" >&5 10639 10610 (exit $ac_status); } && 10640 { ac_try='test -z "$ac_c_werror_flag" 10641 || test ! -s conftest.err' 10611 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 10642 10612 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 10643 10613 (eval $ac_try) 2>&5 … … 10816 10786 echo "$as_me:$LINENO: \$? = $ac_status" >&5 10817 10787 (exit $ac_status); } && 10818 { ac_try='test -z "$ac_c_werror_flag" 10819 || test ! -s conftest.err' 10788 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 10820 10789 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 10821 10790 (eval $ac_try) 2>&5 … … 10893 10862 echo "$as_me:$LINENO: \$? = $ac_status" >&5 10894 10863 (exit $ac_status); } && 10895 { ac_try='test -z "$ac_c_werror_flag" 10896 || test ! -s conftest.err' 10864 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 10897 10865 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 10898 10866 (eval $ac_try) 2>&5 … … 11048 11016 echo "$as_me:$LINENO: \$? = $ac_status" >&5 11049 11017 (exit $ac_status); } && 11050 { ac_try='test -z "$ac_c_werror_flag" 11051 || test ! -s conftest.err' 11018 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 11052 11019 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 11053 11020 (eval $ac_try) 2>&5 … … 11200 11167 echo "$as_me:$LINENO: \$? = $ac_status" >&5 11201 11168 (exit $ac_status); } && 11202 { ac_try='test -z "$ac_c_werror_flag" 11203 || test ! -s conftest.err' 11169 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 11204 11170 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 11205 11171 (eval $ac_try) 2>&5 … … 11352 11318 echo "$as_me:$LINENO: \$? = $ac_status" >&5 11353 11319 (exit $ac_status); } && 11354 { ac_try='test -z "$ac_c_werror_flag" 11355 || test ! -s conftest.err' 11320 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 11356 11321 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 11357 11322 (eval $ac_try) 2>&5 … … 11495 11460 echo "$as_me:$LINENO: \$? = $ac_status" >&5 11496 11461 (exit $ac_status); } && 11497 { ac_try='test -z "$ac_c_werror_flag" 11498 || test ! -s conftest.err' 11462 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 11499 11463 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 11500 11464 (eval $ac_try) 2>&5 … … 11540 11504 echo "$as_me:$LINENO: \$? = $ac_status" >&5 11541 11505 (exit $ac_status); } && 11542 { ac_try='test -z "$ac_c_werror_flag" 11543 || test ! -s conftest.err' 11506 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 11544 11507 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 11545 11508 (eval $ac_try) 2>&5 … … 11686 11649 echo "$as_me:$LINENO: \$? = $ac_status" >&5 11687 11650 (exit $ac_status); } && 11688 { ac_try='test -z "$ac_c_werror_flag" 11689 || test ! -s conftest.err' 11651 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 11690 11652 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 11691 11653 (eval $ac_try) 2>&5 … … 11728 11690 /* end confdefs.h. */ 11729 11691 $ac_includes_default 11692 #include <signal.h> 11693 /* NetBSD declares sys_siglist in unistd.h. */ 11694 #if HAVE_UNISTD_H 11695 # include <unistd.h> 11696 #endif 11697 11698 11730 11699 int 11731 11700 main () … … 11748 11717 echo "$as_me:$LINENO: \$? = $ac_status" >&5 11749 11718 (exit $ac_status); } && 11750 { ac_try='test -z "$ac_c_werror_flag" 11751 || test ! -s conftest.err' 11719 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 11752 11720 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 11753 11721 (eval $ac_try) 2>&5 … … 11782 11750 cat >>confdefs.h <<_ACEOF 11783 11751 #define HAVE_DECL_SYS_SIGLIST 0 11752 _ACEOF 11753 11754 11755 fi 11756 echo "$as_me:$LINENO: checking whether _sys_siglist is declared" >&5 11757 echo $ECHO_N "checking whether _sys_siglist is declared... $ECHO_C" >&6 11758 if test "${ac_cv_have_decl__sys_siglist+set}" = set; then 11759 echo $ECHO_N "(cached) $ECHO_C" >&6 11760 else 11761 cat >conftest.$ac_ext <<_ACEOF 11762 /* confdefs.h. */ 11763 _ACEOF 11764 cat confdefs.h >>conftest.$ac_ext 11765 cat >>conftest.$ac_ext <<_ACEOF 11766 /* end confdefs.h. */ 11767 $ac_includes_default 11768 #include <signal.h> 11769 /* NetBSD declares sys_siglist in unistd.h. */ 11770 #if HAVE_UNISTD_H 11771 # include <unistd.h> 11772 #endif 11773 11774 11775 int 11776 main () 11777 { 11778 #ifndef _sys_siglist 11779 char *p = (char *) _sys_siglist; 11780 #endif 11781 11782 ; 11783 return 0; 11784 } 11785 _ACEOF 11786 rm -f conftest.$ac_objext 11787 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 11788 (eval $ac_compile) 2>conftest.er1 11789 ac_status=$? 11790 grep -v '^ *+' conftest.er1 >conftest.err 11791 rm -f conftest.er1 11792 cat conftest.err >&5 11793 echo "$as_me:$LINENO: \$? = $ac_status" >&5 11794 (exit $ac_status); } && 11795 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 11796 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 11797 (eval $ac_try) 2>&5 11798 ac_status=$? 11799 echo "$as_me:$LINENO: \$? = $ac_status" >&5 11800 (exit $ac_status); }; } && 11801 { ac_try='test -s conftest.$ac_objext' 11802 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 11803 (eval $ac_try) 2>&5 11804 ac_status=$? 11805 echo "$as_me:$LINENO: \$? = $ac_status" >&5 11806 (exit $ac_status); }; }; then 11807 ac_cv_have_decl__sys_siglist=yes 11808 else 11809 echo "$as_me: failed program was:" >&5 11810 sed 's/^/| /' conftest.$ac_ext >&5 11811 11812 ac_cv_have_decl__sys_siglist=no 11813 fi 11814 rm -f conftest.err conftest.$ac_objext conftest.$ac_ext 11815 fi 11816 echo "$as_me:$LINENO: result: $ac_cv_have_decl__sys_siglist" >&5 11817 echo "${ECHO_T}$ac_cv_have_decl__sys_siglist" >&6 11818 if test $ac_cv_have_decl__sys_siglist = yes; then 11819 11820 cat >>confdefs.h <<_ACEOF 11821 #define HAVE_DECL__SYS_SIGLIST 1 11822 _ACEOF 11823 11824 11825 else 11826 cat >>confdefs.h <<_ACEOF 11827 #define HAVE_DECL__SYS_SIGLIST 0 11828 _ACEOF 11829 11830 11831 fi 11832 echo "$as_me:$LINENO: checking whether __sys_siglist is declared" >&5 11833 echo $ECHO_N "checking whether __sys_siglist is declared... $ECHO_C" >&6 11834 if test "${ac_cv_have_decl___sys_siglist+set}" = set; then 11835 echo $ECHO_N "(cached) $ECHO_C" >&6 11836 else 11837 cat >conftest.$ac_ext <<_ACEOF 11838 /* confdefs.h. */ 11839 _ACEOF 11840 cat confdefs.h >>conftest.$ac_ext 11841 cat >>conftest.$ac_ext <<_ACEOF 11842 /* end confdefs.h. */ 11843 $ac_includes_default 11844 #include <signal.h> 11845 /* NetBSD declares sys_siglist in unistd.h. */ 11846 #if HAVE_UNISTD_H 11847 # include <unistd.h> 11848 #endif 11849 11850 11851 int 11852 main () 11853 { 11854 #ifndef __sys_siglist 11855 char *p = (char *) __sys_siglist; 11856 #endif 11857 11858 ; 11859 return 0; 11860 } 11861 _ACEOF 11862 rm -f conftest.$ac_objext 11863 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 11864 (eval $ac_compile) 2>conftest.er1 11865 ac_status=$? 11866 grep -v '^ *+' conftest.er1 >conftest.err 11867 rm -f conftest.er1 11868 cat conftest.err >&5 11869 echo "$as_me:$LINENO: \$? = $ac_status" >&5 11870 (exit $ac_status); } && 11871 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 11872 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 11873 (eval $ac_try) 2>&5 11874 ac_status=$? 11875 echo "$as_me:$LINENO: \$? = $ac_status" >&5 11876 (exit $ac_status); }; } && 11877 { ac_try='test -s conftest.$ac_objext' 11878 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 11879 (eval $ac_try) 2>&5 11880 ac_status=$? 11881 echo "$as_me:$LINENO: \$? = $ac_status" >&5 11882 (exit $ac_status); }; }; then 11883 ac_cv_have_decl___sys_siglist=yes 11884 else 11885 echo "$as_me: failed program was:" >&5 11886 sed 's/^/| /' conftest.$ac_ext >&5 11887 11888 ac_cv_have_decl___sys_siglist=no 11889 fi 11890 rm -f conftest.err conftest.$ac_objext conftest.$ac_ext 11891 fi 11892 echo "$as_me:$LINENO: result: $ac_cv_have_decl___sys_siglist" >&5 11893 echo "${ECHO_T}$ac_cv_have_decl___sys_siglist" >&6 11894 if test $ac_cv_have_decl___sys_siglist = yes; then 11895 11896 cat >>confdefs.h <<_ACEOF 11897 #define HAVE_DECL___SYS_SIGLIST 1 11898 _ACEOF 11899 11900 11901 else 11902 cat >>confdefs.h <<_ACEOF 11903 #define HAVE_DECL___SYS_SIGLIST 0 11784 11904 _ACEOF 11785 11905 … … 11825 11945 echo "$as_me:$LINENO: \$? = $ac_status" >&5 11826 11946 (exit $ac_status); } && 11827 { ac_try='test -z "$ac_c_werror_flag" 11828 || test ! -s conftest.err' 11947 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 11829 11948 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 11830 11949 (eval $ac_try) 2>&5 … … 12011 12130 echo "$as_me:$LINENO: \$? = $ac_status" >&5 12012 12131 (exit $ac_status); } && 12013 { ac_try='test -z "$ac_c_werror_flag" 12014 || test ! -s conftest.err' 12132 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 12015 12133 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 12016 12134 (eval $ac_try) 2>&5 … … 12089 12207 echo "$as_me:$LINENO: \$? = $ac_status" >&5 12090 12208 (exit $ac_status); } && 12091 { ac_try='test -z "$ac_c_werror_flag" 12092 || test ! -s conftest.err' 12209 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 12093 12210 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 12094 12211 (eval $ac_try) 2>&5 … … 12231 12348 echo "$as_me:$LINENO: \$? = $ac_status" >&5 12232 12349 (exit $ac_status); } && 12233 { ac_try='test -z "$ac_c_werror_flag" 12234 || test ! -s conftest.err' 12350 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 12235 12351 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 12236 12352 (eval $ac_try) 2>&5 … … 12302 12418 echo "$as_me:$LINENO: \$? = $ac_status" >&5 12303 12419 (exit $ac_status); } && 12304 { ac_try='test -z "$ac_c_werror_flag" 12305 || test ! -s conftest.err' 12420 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 12306 12421 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 12307 12422 (eval $ac_try) 2>&5 … … 12384 12499 echo "$as_me:$LINENO: \$? = $ac_status" >&5 12385 12500 (exit $ac_status); } && 12386 { ac_try='test -z "$ac_c_werror_flag" 12387 || test ! -s conftest.err' 12501 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 12388 12502 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 12389 12503 (eval $ac_try) 2>&5 … … 12471 12585 echo "$as_me:$LINENO: \$? = $ac_status" >&5 12472 12586 (exit $ac_status); } && 12473 { ac_try='test -z "$ac_c_werror_flag" 12474 || test ! -s conftest.err' 12587 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 12475 12588 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 12476 12589 (eval $ac_try) 2>&5 … … 12572 12685 echo "$as_me:$LINENO: \$? = $ac_status" >&5 12573 12686 (exit $ac_status); } && 12574 { ac_try='test -z "$ac_c_werror_flag" 12575 || test ! -s conftest.err' 12687 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 12576 12688 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 12577 12689 (eval $ac_try) 2>&5 … … 12643 12755 echo "$as_me:$LINENO: \$? = $ac_status" >&5 12644 12756 (exit $ac_status); } && 12645 { ac_try='test -z "$ac_c_werror_flag" 12646 || test ! -s conftest.err' 12757 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 12647 12758 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 12648 12759 (eval $ac_try) 2>&5 … … 12725 12836 echo "$as_me:$LINENO: \$? = $ac_status" >&5 12726 12837 (exit $ac_status); } && 12727 { ac_try='test -z "$ac_c_werror_flag" 12728 || test ! -s conftest.err' 12838 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 12729 12839 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 12730 12840 (eval $ac_try) 2>&5 … … 12848 12958 echo "$as_me:$LINENO: \$? = $ac_status" >&5 12849 12959 (exit $ac_status); } && 12850 { ac_try='test -z "$ac_c_werror_flag" 12851 || test ! -s conftest.err' 12960 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 12852 12961 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 12853 12962 (eval $ac_try) 2>&5 … … 12919 13028 echo "$as_me:$LINENO: \$? = $ac_status" >&5 12920 13029 (exit $ac_status); } && 12921 { ac_try='test -z "$ac_c_werror_flag" 12922 || test ! -s conftest.err' 13030 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 12923 13031 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 12924 13032 (eval $ac_try) 2>&5 … … 13038 13146 echo "$as_me:$LINENO: \$? = $ac_status" >&5 13039 13147 (exit $ac_status); } && 13040 { ac_try='test -z "$ac_c_werror_flag" 13041 || test ! -s conftest.err' 13148 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 13042 13149 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 13043 13150 (eval $ac_try) 2>&5 … … 13109 13216 echo "$as_me:$LINENO: \$? = $ac_status" >&5 13110 13217 (exit $ac_status); } && 13111 { ac_try='test -z "$ac_c_werror_flag" 13112 || test ! -s conftest.err' 13218 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 13113 13219 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 13114 13220 (eval $ac_try) 2>&5 … … 13194 13300 echo "$as_me:$LINENO: \$? = $ac_status" >&5 13195 13301 (exit $ac_status); } && 13196 { ac_try='test -z "$ac_c_werror_flag" 13197 || test ! -s conftest.err' 13302 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 13198 13303 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 13199 13304 (eval $ac_try) 2>&5 … … 13326 13431 13327 13432 13433 # See if the user asked to handle case insensitive file systems. 13434 13435 13436 13437 # Check whether --enable-case-insensitive-file-system or --disable-case-insensitive-file-system was given. 13438 if test "${enable_case_insensitive_file_system+set}" = set; then 13439 enableval="$enable_case_insensitive_file_system" 13440 case_insensitive_fs="yes" cat >>confdefs.h <<\_ACEOF 13441 #define HAVE_CASE_INSENSITIVE_FS 1 13442 _ACEOF 13443 13444 else 13445 case_insensitive_fs="no" 13446 fi; 13447 13328 13448 # See if we can handle the job server feature, and if the user wants it. 13329 13449 … … 13371 13491 echo "$as_me:$LINENO: \$? = $ac_status" >&5 13372 13492 (exit $ac_status); } && 13373 { ac_try='test -z "$ac_c_werror_flag" 13374 || test ! -s conftest.err' 13493 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 13375 13494 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 13376 13495 (eval $ac_try) 2>&5 … … 13396 13515 echo "${ECHO_T}$make_cv_sa_restart" >&6 13397 13516 13398 # enable make_cv_sa_restart for OS/2 13517 if test "$make_cv_sa_restart" != no; then 13518 13519 cat >>confdefs.h <<\_ACEOF 13520 #define HAVE_SA_RESTART 1 13521 _ACEOF 13522 13523 fi 13524 13525 # enable make_cv_sa_restart for OS/2 so that the jobserver will be enabled, 13526 # but do it after HAVE_SA_RESTART has been defined. 13399 13527 case "$host_os" in 13400 13528 os2*) make_cv_sa_restart=yes ;; 13401 13529 esac 13402 13530 13403 if test "$make_cv_sa_restart" != no; then13404 13405 cat >>confdefs.h <<\_ACEOF13406 #define HAVE_SA_RESTART 113407 _ACEOF13408 13409 fi13410 13411 13531 case "$ac_cv_func_pipe/$ac_cv_func_sigaction/$make_cv_sa_restart/$has_wait_nohang/$make_cv_job_server" in 13412 13532 yes/yes/yes/yes/yes) … … 13414 13534 cat >>confdefs.h <<\_ACEOF 13415 13535 #define MAKE_JOBSERVER 1 13536 _ACEOF 13537 ;; 13538 esac 13539 13540 # if we have both lstat() and readlink() then we can support symlink 13541 # timechecks. 13542 case "$ac_cv_func_lstat/$ac_cv_func_readlink" in 13543 yes/yes) 13544 13545 cat >>confdefs.h <<\_ACEOF 13546 #define MAKE_SYMLINKS 1 13416 13547 _ACEOF 13417 13548 ;; … … 13535 13666 MAKE_HOST="$host" 13536 13667 13668 13669 w32_target_env=no 13670 13671 13672 if false; then 13673 WINDOWSENV_TRUE= 13674 WINDOWSENV_FALSE='#' 13675 else 13676 WINDOWSENV_TRUE='#' 13677 WINDOWSENV_FALSE= 13678 fi 13679 13680 13681 case "$host" in 13682 *-*-mingw32) 13683 13684 13685 if true; then 13686 WINDOWSENV_TRUE= 13687 WINDOWSENV_FALSE='#' 13688 else 13689 WINDOWSENV_TRUE='#' 13690 WINDOWSENV_FALSE= 13691 fi 13692 13693 w32_target_env=yes 13694 13695 cat >>confdefs.h <<\_ACEOF 13696 #define WINDOWS32 1 13697 _ACEOF 13698 13699 13700 cat >>confdefs.h <<\_ACEOF 13701 #define HAVE_DOS_PATHS 1 13702 _ACEOF 13703 13704 ;; 13705 esac 13537 13706 13538 13707 # Include the Maintainer's Makefile section, if it's here. … … 13618 13787 13619 13788 # Specify what files are to be created. 13620 # We only generate the build.sh if we have a build.sh.in; we won't have 13621 # one before we've created a distribution. 13622 13623 ac_config_files="$ac_config_files Makefile glob/Makefile po/Makefile.in config/Makefile doc/Makefile" 13624 13625 13626 if test -f $srcdir/build.sh.in; then 13627 ac_config_files="$ac_config_files build.sh" 13628 13629 fi 13789 ac_config_files="$ac_config_files Makefile glob/Makefile po/Makefile.in config/Makefile doc/Makefile w32/Makefile" 13630 13790 13631 13791 … … 13748 13908 Usually this means the macro was only invoked conditionally." >&5 13749 13909 echo "$as_me: error: conditional \"USE_LOCAL_GLOB\" was never defined. 13910 Usually this means the macro was only invoked conditionally." >&2;} 13911 { (exit 1); exit 1; }; } 13912 fi 13913 if test -z "${WINDOWSENV_TRUE}" && test -z "${WINDOWSENV_FALSE}"; then 13914 { { echo "$as_me:$LINENO: error: conditional \"WINDOWSENV\" was never defined. 13915 Usually this means the macro was only invoked conditionally." >&5 13916 echo "$as_me: error: conditional \"WINDOWSENV\" was never defined. 13917 Usually this means the macro was only invoked conditionally." >&2;} 13918 { (exit 1); exit 1; }; } 13919 fi 13920 if test -z "${WINDOWSENV_TRUE}" && test -z "${WINDOWSENV_FALSE}"; then 13921 { { echo "$as_me:$LINENO: error: conditional \"WINDOWSENV\" was never defined. 13922 Usually this means the macro was only invoked conditionally." >&5 13923 echo "$as_me: error: conditional \"WINDOWSENV\" was never defined. 13750 13924 Usually this means the macro was only invoked conditionally." >&2;} 13751 13925 { (exit 1); exit 1; }; } … … 14022 14196 cat >&5 <<_CSEOF 14023 14197 14024 This file was extended by GNU make $as_me 3.81 beta1, which was14198 This file was extended by GNU make $as_me 3.81, which was 14025 14199 generated by GNU Autoconf 2.59. Invocation command line was 14026 14200 … … 14085 14259 cat >>$CONFIG_STATUS <<_ACEOF 14086 14260 ac_cs_version="\\ 14087 GNU make config.status 3.81 beta114261 GNU make config.status 3.81 14088 14262 configured by $0, generated by GNU Autoconf 2.59, 14089 14263 with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" … … 14207 14381 "config/Makefile" ) CONFIG_FILES="$CONFIG_FILES config/Makefile" ;; 14208 14382 "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; 14209 " build.sh" ) CONFIG_FILES="$CONFIG_FILES build.sh" ;;14383 "w32/Makefile" ) CONFIG_FILES="$CONFIG_FILES w32/Makefile" ;; 14210 14384 "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; 14211 14385 "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; … … 14307 14481 s,@AUTOHEADER@,$AUTOHEADER,;t t 14308 14482 s,@MAKEINFO@,$MAKEINFO,;t t 14309 s,@AMTAR@,$AMTAR,;t t14310 14483 s,@install_sh@,$install_sh,;t t 14311 14484 s,@STRIP@,$STRIP,;t t … … 14316 14489 s,@SET_MAKE@,$SET_MAKE,;t t 14317 14490 s,@am__leading_dot@,$am__leading_dot,;t t 14491 s,@AMTAR@,$AMTAR,;t t 14492 s,@am__tar@,$am__tar,;t t 14493 s,@am__untar@,$am__untar,;t t 14318 14494 s,@CC@,$CC,;t t 14319 14495 s,@CFLAGS@,$CFLAGS,;t t … … 14373 14549 s,@USE_LOCAL_GLOB_FALSE@,$USE_LOCAL_GLOB_FALSE,;t t 14374 14550 s,@MAKE_HOST@,$MAKE_HOST,;t t 14551 s,@WINDOWSENV_TRUE@,$WINDOWSENV_TRUE,;t t 14552 s,@WINDOWSENV_FALSE@,$WINDOWSENV_FALSE,;t t 14375 14553 s,@LTLIBOBJS@,$LTLIBOBJS,;t t 14376 14554 /@MAINT_MAKEFILE@/r $MAINT_MAKEFILE … … 14542 14720 esac 14543 14721 14544 if test x"$ac_file" != x-; then14545 { echo "$as_me:$LINENO: creating $ac_file" >&514546 echo "$as_me: creating $ac_file" >&6;}14547 rm -f "$ac_file"14548 fi14549 14722 # Let's still pretend it is `configure' which instantiates (i.e., don't 14550 14723 # use $as_me), people would be surprised to read: … … 14585 14758 esac 14586 14759 done` || { (exit 1); exit 1; } 14760 14761 if test x"$ac_file" != x-; then 14762 { echo "$as_me:$LINENO: creating $ac_file" >&5 14763 echo "$as_me: creating $ac_file" >&6;} 14764 rm -f "$ac_file" 14765 fi 14587 14766 _ACEOF 14588 14767 cat >>$CONFIG_STATUS <<_ACEOF … … 14998 15177 continue 14999 15178 fi 15000 grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue 15001 # Extract the definition of DEP_FILES from the Makefile without 15002 # running `make'. 15003 DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` 15179 # Extract the definition of DEPDIR, am__include, and am__quote 15180 # from the Makefile without running `make'. 15181 DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` 15004 15182 test -z "$DEPDIR" && continue 15183 am__include=`sed -n 's/^am__include = //p' < "$mf"` 15184 test -z "am__include" && continue 15185 am__quote=`sed -n 's/^am__quote = //p' < "$mf"` 15005 15186 # When using ansi2knr, U may be empty or an underscore; expand it 15006 U=`sed -n -e '/^U = / s///p' < "$mf"` 15007 test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" 15008 # We invoke sed twice because it is the simplest approach to 15009 # changing $(DEPDIR) to its actual value in the expansion. 15010 for file in `sed -n -e ' 15011 /^DEP_FILES = .*\\\\$/ { 15012 s/^DEP_FILES = // 15013 :loop 15014 s/\\\\$// 15015 p 15016 n 15017 /\\\\$/ b loop 15018 p 15019 } 15020 /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ 15187 U=`sed -n 's/^U = //p' < "$mf"` 15188 # Find all dependency output files, they are included files with 15189 # $(DEPDIR) in their names. We invoke sed twice because it is the 15190 # simplest approach to changing $(DEPDIR) to its actual value in the 15191 # expansion. 15192 for file in `sed -n " 15193 s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ 15021 15194 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do 15022 15195 # Make sure the directory exists. … … 15207 15380 15208 15381 15209 15382 # We only generate the build.sh if we have a build.sh.in; we won't have 15383 # one before we've created a distribution. 15384 if test -f "$srcdir/build.sh.in"; then 15385 ./config.status --file build.sh 15386 chmod +x build.sh 15387 fi 15388 -
Property svn:executable
set to
-
vendor/gnumake/current/configure.bat
r54 r501 1 1 @echo off 2 rem Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 3 rem 2004, 2005, 2006 Free Software Foundation, Inc. 4 rem This file is part of GNU Make. 5 6 rem GNU Make is free software; you can redistribute it and/or modify it under 7 rem the terms of the GNU General Public License as published by the Free 8 rem Software Foundation; either version 2, or (at your option) any later 9 rem version. 10 11 rem GNU Make is distributed in the hope that it will be useful, but WITHOUT 12 rem ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 rem FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 14 rem more details. 15 16 rem You should have received a copy of the GNU General Public License along 17 rem with GNU Make; see the file COPYING. If not, write to the Free Software 18 rem Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 19 2 20 echo Configuring MAKE for DJGPP 3 21 -
vendor/gnumake/current/configure.in
r280 r501 1 1 # Process this file with autoconf to produce a configure script. 2 3 AC_INIT([GNU make],[3.81beta3],[[email protected]]) 2 # 3 # Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 4 # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 5 # This file is part of GNU Make. 6 # 7 # GNU Make is free software; you can redistribute it and/or modify it under the 8 # terms of the GNU General Public License as published by the Free Software 9 # Foundation; either version 2, or (at your option) any later version. 10 # 11 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 # 15 # You should have received a copy of the GNU General Public License along with 16 # GNU Make; see the file COPYING. If not, write to the Free Software 17 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 19 AC_INIT([GNU make],[3.81],[[email protected]]) 4 20 5 21 AC_PREREQ(2.59) 6 AC_REVISION([[$Id: configure.in,v 1.1 35 2005/05/10 01:38:18psmith Exp $]])22 AC_REVISION([[$Id: configure.in,v 1.142 2006/04/01 06:36:40 psmith Exp $]]) 7 23 8 24 # Autoconf setup … … 12 28 13 29 # Automake setup 14 AM_INIT_AUTOMAKE([1. 8.2])30 AM_INIT_AUTOMAKE([1.9]) 15 31 16 32 # Checks for programs. … … 138 154 getgroups seteuid setegid setlinebuf setreuid setregid \ 139 155 getrlimit setrlimit setvbuf pipe strerror strsignal \ 140 lstat readlink )156 lstat readlink atexit) 141 157 142 158 AC_FUNC_SETVBUF_REVERSED … … 168 184 fi 169 185 170 AC_CHECK_DECLS([sys_siglist],,, 171 [#include <signal.h> 186 AC_CHECK_DECLS([sys_siglist, _sys_siglist, __sys_siglist], , , 187 [AC_INCLUDES_DEFAULT 188 #include <signal.h> 172 189 /* NetBSD declares sys_siglist in unistd.h. */ 173 190 #if HAVE_UNISTD_H … … 434 451 # We only generate the build.sh if we have a build.sh.in; we won't have 435 452 # one before we've created a distribution. 436 if test -f build.sh.in; then453 if test -f "$srcdir/build.sh.in"; then 437 454 ./config.status --file build.sh 438 455 chmod +x build.sh -
vendor/gnumake/current/debug.h
r54 r501 1 1 /* Debugging macros and interface. 2 Copyright (C) 1999 Free Software Foundation, Inc. 2 Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 3 Foundation, Inc. 3 4 This file is part of GNU Make. 4 5 5 GNU Make is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2, or (at your option) 8 any later version. 6 GNU Make is free software; you can redistribute it and/or modify it under the 7 terms of the GNU General Public License as published by the Free Software 8 Foundation; either version 2, or (at your option) any later version. 9 9 10 GNU Make is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 10 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 13 15 You should have received a copy of the GNU General Public License 16 along with GNU Make; see the file COPYING. If not, write to 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 Boston, MA 02111-1307, USA. */ 19 14 You should have received a copy of the GNU General Public License along with 15 GNU Make; see the file COPYING. If not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 20 17 21 18 #define DB_NONE (0x000) -
vendor/gnumake/current/default.c
r280 r501 1 1 /* Data base of default implicit rules for GNU Make. 2 Copyright (C) 1988,89,90,91,92,93,94,95,96 Free Software Foundation, Inc. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 3 5 This file is part of GNU Make. 4 6 5 GNU Make is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2, or (at your option) 8 any later version. 9 10 GNU Make is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with GNU Make; see the file COPYING. If not, write to 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 Boston, MA 02111-1307, USA. */ 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 19 18 20 19 #include "make.h" -
vendor/gnumake/current/dep.h
r280 r501 1 1 /* Definitions of dependency data structures for GNU Make. 2 Copyright (C) 1988, 1989, 1991, 1992, 1993, 1996 Free Software Foundation, Inc. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 3 5 This file is part of GNU Make. 4 6 5 GNU Make is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2, or (at your option) 8 any later version. 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 9 10 10 GNU Make is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 14 15 You should have received a copy of the GNU General Public License 16 along with GNU Make; see the file COPYING. If not, write to 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 Boston, MA 02111-1307, USA. */ 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 19 18 20 19 /* Flag bits for the second argument to `read_makefile'. … … 30 29 /* Structure representing one dependency of a file. 31 30 Each struct file's `deps' points to a chain of these, 32 chained through the `next'. 31 chained through the `next'. `stem' is the stem for this 32 dep line of static pattern rule or NULL. 33 33 34 34 Note that the first two words of this match a struct nameseq. */ … … 38 38 struct dep *next; 39 39 char *name; 40 char *stem; 40 41 struct file *file; 41 42 unsigned int changed : 8; 42 43 unsigned int ignore_mtime : 1; 44 unsigned int staticpattern : 1; 43 45 unsigned int need_2nd_expansion : 1; 44 46 }; … … 73 75 #endif 74 76 75 extern struct dep *copy_dep_chain PARAMS ((struct dep *d)); 77 extern struct dep *alloc_dep PARAMS ((void)); 78 extern void free_dep PARAMS ((struct dep *d)); 79 extern struct dep *copy_dep_chain PARAMS ((const struct dep *d)); 80 extern void free_dep_chain PARAMS ((struct dep *d)); 76 81 extern void free_ns_chain PARAMS ((struct nameseq *n)); 77 82 extern struct dep *read_all_makefiles PARAMS ((char **makefiles)); -
vendor/gnumake/current/dir.c
r280 r501 1 1 /* Directory hashing for GNU Make. 2 Copyright (C) 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 2002,2003 Free Software Foundation, Inc. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 4 5 This file is part of GNU Make. 5 6 6 GNU Make is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2, or (at your option) 9 any later version. 10 11 GNU Make is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with GNU Make; see the file COPYING. If not, write to 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 Boston, MA 02111-1307, USA. */ 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 20 18 21 19 #include "make.h" … … 157 155 { 158 156 unsigned char uc = *name; 157 #ifdef HAVE_CASE_INSENSITIVE_FS 159 158 h = (h << 4) + (isupper (uc) ? tolower (uc) : uc); 159 #else 160 h = (h << 4) + uc; 161 #endif 160 162 name++; 161 163 g = h & 0xf0000000; … … 288 290 } 289 291 292 /* Sometimes it's OK to use subtraction to get this value: 293 result = X - Y; 294 But, if we're not sure of the type of X and Y they may be too large for an 295 int (on a 64-bit system for example). So, use ?: instead. 296 See Savannah bug #15534. 297 298 NOTE! This macro has side-effects! 299 */ 300 301 #define MAKECMP(_x,_y) ((_x)<(_y)?-1:((_x)==(_y)?0:1)) 302 290 303 static int 291 304 directory_contents_hash_cmp (const void *xv, const void *yv) … … 299 312 if (result) 300 313 return result; 301 result = x->ctime - y->ctime;314 result = MAKECMP(x->ctime, y->ctime); 302 315 if (result) 303 316 return result; 304 317 #else 305 318 # ifdef VMS 306 result = x->ino[0] - y->ino[0];319 result = MAKECMP(x->ino[0], y->ino[0]); 307 320 if (result) 308 321 return result; 309 result = x->ino[1] - y->ino[1];322 result = MAKECMP(x->ino[1], y->ino[1]); 310 323 if (result) 311 324 return result; 312 result = x->ino[2] - y->ino[2];325 result = MAKECMP(x->ino[2], y->ino[2]); 313 326 if (result) 314 327 return result; 315 328 # else 316 result = x->ino - y->ino;329 result = MAKECMP(x->ino, y->ino); 317 330 if (result) 318 331 return result; … … 320 333 #endif /* WINDOWS32 */ 321 334 322 return x->dev - y->dev;335 return MAKECMP(x->dev, y->dev); 323 336 } 324 337 … … 419 432 char fs_label[BUFSIZ]; 420 433 char fs_type[BUFSIZ]; 421 long fs_serno;422 long fs_flags;423 long fs_len;434 unsigned long fs_serno; 435 unsigned long fs_flags; 436 unsigned long fs_len; 424 437 #endif 425 438 #ifdef VMS … … 631 644 * on directories (ugh!). 632 645 */ 633 if (dir->path_key 634 && (dir->fs_flags & FS_FAT 635 || (stat(dir->path_key, &st) == 0 636 && st.st_mtime > dir->mtime))) 646 if (dir->path_key) 637 647 { 638 /* reset date stamp to show most recent re-process */ 639 dir->mtime = st.st_mtime; 640 641 /* make sure directory can still be opened */ 642 dir->dirstream = opendir(dir->path_key); 643 644 if (dir->dirstream) 645 rehash = 1; 646 else 647 return 0; /* couldn't re-read - fail */ 648 if ((dir->fs_flags & FS_FAT) != 0) 649 { 650 dir->mtime = time ((time_t *) 0); 651 rehash = 1; 652 } 653 else if (stat(dir->path_key, &st) == 0 && st.st_mtime > dir->mtime) 654 { 655 /* reset date stamp to show most recent re-process. */ 656 dir->mtime = st.st_mtime; 657 rehash = 1; 658 } 659 660 /* If it has been already read in, all done. */ 661 if (!rehash) 662 return 0; 663 664 /* make sure directory can still be opened; if not return. */ 665 dir->dirstream = opendir(dir->path_key); 666 if (!dir->dirstream) 667 return 0; 648 668 } 649 669 else -
vendor/gnumake/current/doc/Makefile.am
r53 r501 1 1 # -*-Makefile-*-, or close enough 2 # Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 3 # Foundation, Inc. 4 # This file is part of GNU Make. 5 # 6 # GNU Make is free software; you can redistribute it and/or modify it under the 7 # terms of the GNU General Public License as published by the Free Software 8 # Foundation; either version 2, or (at your option) any later version. 9 # 10 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 # 14 # You should have received a copy of the GNU General Public License along with 15 # GNU Make; see the file COPYING. If not, write to the Free Software 16 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2 17 3 18 TEXI2HTML = texi2html -
vendor/gnumake/current/doc/Makefile.in
r152 r501 1 # Makefile.in generated by automake 1. 8.2from Makefile.am.1 # Makefile.in generated by automake 1.9.6 from Makefile.am. 2 2 # @configure_input@ 3 3 4 4 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 5 # 2003, 2004 Free Software Foundation, Inc.5 # 2003, 2004, 2005 Free Software Foundation, Inc. 6 6 # This Makefile.in is free software; the Free Software Foundation 7 7 # gives unlimited permission to copy and/or distribute it, … … 16 16 17 17 # -*-Makefile-*-, or close enough 18 # Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 19 # Foundation, Inc. 20 # This file is part of GNU Make. 21 # 22 # GNU Make is free software; you can redistribute it and/or modify it under the 23 # terms of the GNU General Public License as published by the Free Software 24 # Foundation; either version 2, or (at your option) any later version. 25 # 26 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 27 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 28 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 29 # 30 # You should have received a copy of the GNU General Public License along with 31 # GNU Make; see the file COPYING. If not, write to the Free Software 32 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 33 srcdir = @srcdir@ 19 34 top_srcdir = @top_srcdir@ … … 36 51 PRE_UNINSTALL = : 37 52 POST_UNINSTALL = : 53 build_triplet = @build@ 38 54 host_triplet = @host@ 39 55 subdir = doc 40 56 DIST_COMMON = $(make_TEXINFOS) $(srcdir)/Makefile.am \ 41 $(srcdir)/Makefile.in 57 $(srcdir)/Makefile.in $(srcdir)/stamp-vti \ 58 $(srcdir)/version.texi 42 59 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 43 60 am__aclocal_m4_deps = $(top_srcdir)/config/dospaths.m4 \ … … 68 85 AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) 69 86 DVIPS = dvips 70 am__installdirs = $(DESTDIR)$(infodir)87 am__installdirs = "$(DESTDIR)$(infodir)" 71 88 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 72 89 ACLOCAL = @ACLOCAL@ … … 139 156 USE_NLS = @USE_NLS@ 140 157 VERSION = @VERSION@ 158 WINDOWSENV_FALSE = @WINDOWSENV_FALSE@ 159 WINDOWSENV_TRUE = @WINDOWSENV_TRUE@ 141 160 XGETTEXT = @XGETTEXT@ 142 161 ac_ct_CC = @ac_ct_CC@ … … 148 167 am__leading_dot = @am__leading_dot@ 149 168 am__quote = @am__quote@ 169 am__tar = @am__tar@ 170 am__untar = @am__untar@ 150 171 bindir = @bindir@ 151 172 build = @build@ … … 216 237 217 238 .texi.info: 218 restore=: && \ 219 backupdir="$(am__leading_dot)am$$$$" && \ 239 restore=: && backupdir="$(am__leading_dot)am$$$$" && \ 220 240 am__cwd=`pwd` && cd $(srcdir) && \ 221 241 rm -rf $$backupdir && mkdir $$backupdir && \ 222 for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ 223 if test -f $$f; then \ 224 mv $$f $$backupdir; \ 225 restore=mv; \ 226 fi; \ 227 done; \ 242 if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ 243 for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ 244 if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ 245 done; \ 246 else :; fi && \ 228 247 cd "$$am__cwd"; \ 229 248 if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ … … 237 256 $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \ 238 257 fi; \ 239 rm -rf $$backupdir; \ 240 exit $$rc 258 rm -rf $$backupdir; exit $$rc 241 259 242 260 .texi.dvi: … … 251 269 252 270 .texi.html: 253 $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ 254 -o $@ $< 255 if test ! -d $@ && test -d $(@:.html=); then \ 256 mv $(@:.html=) $@; else :; fi 257 $(srcdir)/make.info: make.texi $(make_TEXINFOS) 258 make.dvi: make.texi $(make_TEXINFOS) 259 make.pdf: make.texi $(make_TEXINFOS) 260 make.html: make.texi $(make_TEXINFOS) 271 rm -rf $(@:.html=.htp) 272 if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ 273 -o $(@:.html=.htp) $<; \ 274 then \ 275 rm -rf $@; \ 276 if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ 277 mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \ 278 else \ 279 if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ 280 rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \ 281 exit 1; \ 282 fi 283 $(srcdir)/make.info: make.texi $(srcdir)/version.texi $(make_TEXINFOS) 284 make.dvi: make.texi $(srcdir)/version.texi $(make_TEXINFOS) 285 make.pdf: make.texi $(srcdir)/version.texi $(make_TEXINFOS) 286 make.html: make.texi $(srcdir)/version.texi $(make_TEXINFOS) 287 $(srcdir)/version.texi: $(srcdir)/stamp-vti 288 $(srcdir)/stamp-vti: make.texi $(top_srcdir)/configure 289 @(dir=.; test -f ./make.texi || dir=$(srcdir); \ 290 set `$(SHELL) $(top_srcdir)/config/mdate-sh $$dir/make.texi`; \ 291 echo "@set UPDATED $$1 $$2 $$3"; \ 292 echo "@set UPDATED-MONTH $$2 $$3"; \ 293 echo "@set EDITION $(VERSION)"; \ 294 echo "@set VERSION $(VERSION)") > vti.tmp 295 @cmp -s vti.tmp $(srcdir)/version.texi \ 296 || (echo "Updating $(srcdir)/version.texi"; \ 297 cp vti.tmp $(srcdir)/version.texi) 298 -@rm -f vti.tmp 299 @cp $(srcdir)/version.texi $@ 300 301 mostlyclean-vti: 302 -rm -f vti.tmp 303 304 maintainer-clean-vti: 305 -rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi 261 306 .dvi.ps: 307 TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ 262 308 $(DVIPS) -o $@ $< 263 309 264 310 uninstall-info-am: 265 $(PRE_UNINSTALL)311 @$(PRE_UNINSTALL) 266 312 @if (install-info --version && \ 267 313 install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ … … 269 315 for file in $$list; do \ 270 316 relfile=`echo "$$file" | sed 's|^.*/||'`; \ 271 echo " install-info --info-dir= $(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$relfile"; \272 install-info --info-dir= $(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$relfile; \317 echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \ 318 install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \ 273 319 done; \ 274 320 else :; fi … … 278 324 relfile=`echo "$$file" | sed 's|^.*/||'`; \ 279 325 relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ 280 (if cd $(DESTDIR)$(infodir); then \281 echo " rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9])"; \326 (if cd "$(DESTDIR)$(infodir)"; then \ 327 echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \ 282 328 rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \ 283 329 else :; fi); \ … … 351 397 all-am: Makefile $(INFO_DEPS) 352 398 installdirs: 353 $(mkdir_p) $(DESTDIR)$(infodir) 399 for dir in "$(DESTDIR)$(infodir)"; do \ 400 test -z "$$dir" || $(mkdir_p) "$$dir"; \ 401 done 354 402 install: install-am 355 403 install-exec: install-exec-am … … 372 420 373 421 distclean-generic: 374 - rm -f $(CONFIG_CLEAN_FILES)422 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) 375 423 376 424 maintainer-clean-generic: … … 403 451 install-info-am: $(INFO_DEPS) 404 452 @$(NORMAL_INSTALL) 405 $(mkdir_p) $(DESTDIR)$(infodir)453 test -z "$(infodir)" || $(mkdir_p) "$(DESTDIR)$(infodir)" 406 454 @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ 407 455 list='$(INFO_DEPS)'; \ … … 416 464 if test -f $$ifile; then \ 417 465 relfile=`echo "$$ifile" | sed 's|^.*/||'`; \ 418 echo " $(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile"; \419 $(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile; \466 echo " $(INSTALL_DATA) '$$ifile' '$(DESTDIR)$(infodir)/$$relfile'"; \ 467 $(INSTALL_DATA) "$$ifile" "$(DESTDIR)$(infodir)/$$relfile"; \ 420 468 else : ; fi; \ 421 469 done; \ … … 427 475 for file in $$list; do \ 428 476 relfile=`echo "$$file" | sed 's|^.*/||'`; \ 429 echo " install-info --info-dir= $(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$relfile";\430 install-info --info-dir= $(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$relfile|| :;\477 echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\ 478 install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\ 431 479 done; \ 432 480 else : ; fi … … 438 486 -rm -f Makefile 439 487 maintainer-clean-am: distclean-am maintainer-clean-aminfo \ 440 maintainer-clean-generic 488 maintainer-clean-generic maintainer-clean-vti 441 489 442 490 mostlyclean: mostlyclean-am 443 491 444 mostlyclean-am: mostlyclean-aminfo mostlyclean-generic 492 mostlyclean-am: mostlyclean-aminfo mostlyclean-generic mostlyclean-vti 445 493 446 494 pdf: pdf-am … … 460 508 install-man install-strip installcheck installcheck-am \ 461 509 installdirs maintainer-clean maintainer-clean-aminfo \ 462 maintainer-clean-generic m ostlyclean mostlyclean-aminfo\463 mostlyclean- generic pdf pdf-am ps ps-am uninstall uninstall-am\464 uninstall-info-am510 maintainer-clean-generic maintainer-clean-vti mostlyclean \ 511 mostlyclean-aminfo mostlyclean-generic mostlyclean-vti pdf \ 512 pdf-am ps ps-am uninstall uninstall-am uninstall-info-am 465 513 466 514 -
vendor/gnumake/current/doc/fdl.texi
r152 r501 4 4 5 5 @cindex FDL, GNU Free Documentation License 6 @center Version 1. 1, March 20006 @center Version 1.2, November 2002 7 7 8 8 @display 9 Copyright @copyright{} 2000 Free Software Foundation, Inc.10 5 9 Temple Place, Suite 330, Boston, MA 02111-1307, USA9 Copyright @copyright{} 2000,2001,2002 Free Software Foundation, Inc. 10 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 11 11 12 12 Everyone is permitted to copy and distribute verbatim copies … … 19 19 20 20 The purpose of this License is to make a manual, textbook, or other 21 written document @dfn{free} in the sense of freedom: to assure everyone 22 the effective freedom to copy and redistribute it, with or without 23 modifying it, either commercially or noncommercially. Secondarily, 24 this License preserves for the author and publisher a way to get 25 credit for their work, while not being considered responsible for 26 modifications made by others.21 functional and useful document @dfn{free} in the sense of freedom: to 22 assure everyone the effective freedom to copy and redistribute it, 23 with or without modifying it, either commercially or noncommercially. 24 Secondarily, this License preserves for the author and publisher a way 25 to get credit for their work, while not being considered responsible 26 for modifications made by others. 27 27 28 28 This License is a kind of ``copyleft'', which means that derivative … … 42 42 APPLICABILITY AND DEFINITIONS 43 43 44 This License applies to any manual or other work that contains a 45 notice placed by the copyright holder saying it can be distributed 46 under the terms of this License. The ``Document'', below, refers to any 47 such manual or work. Any member of the public is a licensee, and is 48 addressed as ``you''. 44 This License applies to any manual or other work, in any medium, that 45 contains a notice placed by the copyright holder saying it can be 46 distributed under the terms of this License. Such a notice grants a 47 world-wide, royalty-free license, unlimited in duration, to use that 48 work under the conditions stated herein. The ``Document'', below, 49 refers to any such manual or work. Any member of the public is a 50 licensee, and is addressed as ``you''. You accept the license if you 51 copy, modify or distribute the work in a way requiring permission 52 under copyright law. 49 53 50 54 A ``Modified Version'' of the Document means any work containing the … … 52 56 modifications and/or translated into another language. 53 57 54 A ``Secondary Section'' is a named appendix or a front-matter section of55 the Document that deals exclusively with the relationship of the56 publishers or authors of the Document to the Document's overall subject57 (or to related matters) and contains nothing that could fall directly 58 within that overall subject. (For example, if the Document is in part a 59 textbook of mathematics, a Secondary Section may not explain any 60 mathematics.) The relationship could be a matter of historical58 A ``Secondary Section'' is a named appendix or a front-matter section 59 of the Document that deals exclusively with the relationship of the 60 publishers or authors of the Document to the Document's overall 61 subject (or to related matters) and contains nothing that could fall 62 directly within that overall subject. (Thus, if the Document is in 63 part a textbook of mathematics, a Secondary Section may not explain 64 any mathematics.) The relationship could be a matter of historical 61 65 connection with the subject or with related matters, or of legal, 62 66 commercial, philosophical, ethical or political position regarding … … 65 69 The ``Invariant Sections'' are certain Secondary Sections whose titles 66 70 are designated, as being those of Invariant Sections, in the notice 67 that says that the Document is released under this License. 71 that says that the Document is released under this License. If a 72 section does not fit the above definition of Secondary then it is not 73 allowed to be designated as Invariant. The Document may contain zero 74 Invariant Sections. If the Document does not identify any Invariant 75 Sections then there are none. 68 76 69 77 The ``Cover Texts'' are certain short passages of text that are listed, 70 78 as Front-Cover Texts or Back-Cover Texts, in the notice that says that 71 the Document is released under this License. 79 the Document is released under this License. A Front-Cover Text may 80 be at most 5 words, and a Back-Cover Text may be at most 25 words. 72 81 73 82 A ``Transparent'' copy of the Document means a machine-readable copy, 74 83 represented in a format whose specification is available to the 75 general public, whose contents can be viewed and edited directly and84 general public, that is suitable for revising the document 76 85 straightforwardly with generic text editors or (for images composed of 77 86 pixels) generic paint programs or (for drawings) some widely available … … 79 88 for automatic translation to a variety of formats suitable for input 80 89 to text formatters. A copy made in an otherwise Transparent file 81 format whose markup has been designed to thwart or discourage 82 subsequent modification by readers is not Transparent. A copy that is 83 not ``Transparent'' is called ``Opaque''. 90 format whose markup, or absence of markup, has been arranged to thwart 91 or discourage subsequent modification by readers is not Transparent. 92 An image format is not Transparent if used for any substantial amount 93 of text. A copy that is not ``Transparent'' is called ``Opaque''. 84 94 85 95 Examples of suitable formats for Transparent copies include plain 86 @sc{ascii} without markup, Texinfo input format, La@TeX{} input format, 87 @acronym{SGML} or @acronym{XML} using a publicly available 88 @acronym{DTD}, and standard-conforming simple @acronym{HTML} designed 89 for human modification. Opaque formats include PostScript, 90 @acronym{PDF}, proprietary formats that can be read and edited only by 91 proprietary word processors, @acronym{SGML} or @acronym{XML} for which 92 the @acronym{DTD} and/or processing tools are not generally available, 93 and the machine-generated @acronym{HTML} produced by some word 94 processors for output purposes only. 96 @sc{ascii} without markup, Texinfo input format, La@TeX{} input 97 format, @acronym{SGML} or @acronym{XML} using a publicly available 98 @acronym{DTD}, and standard-conforming simple @acronym{HTML}, 99 PostScript or @acronym{PDF} designed for human modification. Examples 100 of transparent image formats include @acronym{PNG}, @acronym{XCF} and 101 @acronym{JPG}. Opaque formats include proprietary formats that can be 102 read and edited only by proprietary word processors, @acronym{SGML} or 103 @acronym{XML} for which the @acronym{DTD} and/or processing tools are 104 not generally available, and the machine-generated @acronym{HTML}, 105 PostScript or @acronym{PDF} produced by some word processors for 106 output purposes only. 95 107 96 108 The ``Title Page'' means, for a printed book, the title page itself, … … 100 112 the text near the most prominent appearance of the work's title, 101 113 preceding the beginning of the body of the text. 114 115 A section ``Entitled XYZ'' means a named subunit of the Document whose 116 title either is precisely XYZ or contains XYZ in parentheses following 117 text that translates XYZ in another language. (Here XYZ stands for a 118 specific section name mentioned below, such as ``Acknowledgements'', 119 ``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title'' 120 of such a section when you modify the Document means that it remains a 121 section ``Entitled XYZ'' according to this definition. 122 123 The Document may include Warranty Disclaimers next to the notice which 124 states that this License applies to the Document. These Warranty 125 Disclaimers are considered to be included by reference in this 126 License, but only as regards disclaiming warranties: any other 127 implication that these Warranty Disclaimers may have is void and has 128 no effect on the meaning of this License. 102 129 103 130 @item … … 120 147 COPYING IN QUANTITY 121 148 122 If you publish printed copies of the Document numbering more than 100, 123 and the Document's license notice requires Cover Texts, you must enclose 124 the copies in covers that carry, clearly and legibly, all these Cover 149 If you publish printed copies (or copies in media that commonly have 150 printed covers) of the Document, numbering more than 100, and the 151 Document's license notice requires Cover Texts, you must enclose the 152 copies in covers that carry, clearly and legibly, all these Cover 125 153 Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on 126 154 the back cover. Both covers must also clearly and legibly identify … … 140 168 more than 100, you must either include a machine-readable Transparent 141 169 copy along with each Opaque copy, or state in or with each Opaque copy 142 a publicly-accessible computer-network location containing a complete 143 Transparent copy of the Document, free of added material, which the 144 general network-using public has access to download anonymously at no 145 charge using public-standard network protocols. If you use the latter 146 option, you must take reasonably prudent steps, when you begin 147 distribution of Opaque copies in quantity, to ensure that this 148 Transparent copy will remain thus accessible at the stated location 149 until at least one year after the last time you distribute an Opaque 150 copy (directly or through your agents or retailers) of that edition to 151 the public. 170 a computer-network location from which the general network-using 171 public has access to download using public-standard network protocols 172 a complete Transparent copy of the Document, free of added material. 173 If you use the latter option, you must take reasonably prudent steps, 174 when you begin distribution of Opaque copies in quantity, to ensure 175 that this Transparent copy will remain thus accessible at the stated 176 location until at least one year after the last time you distribute an 177 Opaque copy (directly or through your agents or retailers) of that 178 edition to the public. 152 179 153 180 It is requested, but not required, that you contact the authors of the … … 177 204 responsible for authorship of the modifications in the Modified 178 205 Version, together with at least five of the principal authors of the 179 Document (all of its principal authors, if it has less than five). 206 Document (all of its principal authors, if it has fewer than five), 207 unless they release you from this requirement. 180 208 181 209 @item … … 203 231 204 232 @item 205 Preserve the section entitled ``History'', and its title, and add to206 it an item stating at least the title, year, new authors, and233 Preserve the section Entitled ``History'', Preserve its Title, and add 234 to it an item stating at least the title, year, new authors, and 207 235 publisher of the Modified Version as given on the Title Page. If 208 there is no section entitled ``History'' in the Document, create one236 there is no section Entitled ``History'' in the Document, create one 209 237 stating the title, year, authors, and publisher of the Document as 210 238 given on its Title Page, then add an item describing the Modified … … 221 249 222 250 @item 223 In any section entitled ``Acknowledgments'' or ``Dedications'', 224 preserve the section's title, and preserve in the section all the225 substance and tone of each of the contributor acknowledg ments226 and/ordedications given therein.251 For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve 252 the Title of the section, and preserve in the section all the 253 substance and tone of each of the contributor acknowledgements and/or 254 dedications given therein. 227 255 228 256 @item … … 232 260 233 261 @item 234 Delete any section entitled ``Endorsements''. Such a section262 Delete any section Entitled ``Endorsements''. Such a section 235 263 may not be included in the Modified Version. 236 264 237 265 @item 238 Do not retitle any existing section as ``Endorsements'' 239 or to conflict in title with any Invariant Section. 266 Do not retitle any existing section to be Entitled ``Endorsements'' or 267 to conflict in title with any Invariant Section. 268 269 @item 270 Preserve any Warranty Disclaimers. 240 271 @end enumerate 241 272 … … 247 278 These titles must be distinct from any other section titles. 248 279 249 You may add a section entitled ``Endorsements'', provided it contains280 You may add a section Entitled ``Endorsements'', provided it contains 250 281 nothing but endorsements of your Modified Version by various 251 282 parties---for example, statements of peer review or that the text has … … 275 306 Invariant Sections of all of the original documents, unmodified, and 276 307 list them all as Invariant Sections of your combined work in its 277 license notice .308 license notice, and that you preserve all their Warranty Disclaimers. 278 309 279 310 The combined work need only contain one copy of this License, and … … 286 317 Invariant Sections in the license notice of the combined work. 287 318 288 In the combination, you must combine any sections entitled ``History''289 in the various original documents, forming one section entitled290 ``History''; likewise combine any sections entitled ``Acknowledgments'',291 and any sections entitled ``Dedications''. You must delete all sections292 entitled ``Endorsements.''319 In the combination, you must combine any sections Entitled ``History'' 320 in the various original documents, forming one section Entitled 321 ``History''; likewise combine any sections Entitled ``Acknowledgements'', 322 and any sections Entitled ``Dedications''. You must delete all 323 sections Entitled ``Endorsements.'' 293 324 294 325 @item … … 311 342 A compilation of the Document or its derivatives with other separate 312 343 and independent documents or works, in or on a volume of a storage or 313 distribution medium, does not as a whole count as a Modified Version314 of the Document, provided no compilation copyright is claimed for the 315 compilation. Such a compilation is called an ``aggregate'', and this 316 License does not apply to the other self-contained works thus compiled 317 with the Document, on account of their being thus compiled, if they 318 are not themselvesderivative works of the Document.344 distribution medium, is called an ``aggregate'' if the copyright 345 resulting from the compilation is not used to limit the legal rights 346 of the compilation's users beyond what the individual works permit. 347 When the Document is included in an aggregate, this License does not 348 apply to the other works in the aggregate which are not themselves 349 derivative works of the Document. 319 350 320 351 If the Cover Text requirement of section 3 is applicable to these 321 copies of the Document, then if the Document is less than one quarter 322 of the entire aggregate, the Document's Cover Texts may be placed on 323 covers that surround only the Document within the aggregate. 324 Otherwise they must appear on covers around the whole aggregate. 352 copies of the Document, then if the Document is less than one half of 353 the entire aggregate, the Document's Cover Texts may be placed on 354 covers that bracket the Document within the aggregate, or the 355 electronic equivalent of covers if the Document is in electronic form. 356 Otherwise they must appear on printed covers that bracket the whole 357 aggregate. 325 358 326 359 @item … … 333 366 translations of some or all Invariant Sections in addition to the 334 367 original versions of these Invariant Sections. You may include a 335 translation of this License provided that you also include the 336 original English version of this License. In case of a disagreement 337 between the translation and the original English version of this 338 License, the original English version will prevail. 368 translation of this License, and all the license notices in the 369 Document, and any Warranty Disclaimers, provided that you also include 370 the original English version of this License and the original versions 371 of those notices and disclaimers. In case of a disagreement between 372 the translation and the original version of this License or a notice 373 or disclaimer, the original version will prevail. 374 375 If a section in the Document is Entitled ``Acknowledgements'', 376 ``Dedications'', or ``History'', the requirement (section 4) to Preserve 377 its Title (section 1) will typically require changing the actual 378 title. 339 379 340 380 @item … … 379 419 Copyright (C) @var{year} @var{your name}. 380 420 Permission is granted to copy, distribute and/or modify this document 381 under the terms of the GNU Free Documentation License, Version 1. 1421 under the terms of the GNU Free Documentation License, Version 1.2 382 422 or any later version published by the Free Software Foundation; 383 with the Invariant Sections being @var{list their titles}, with the 384 Front-Cover Texts being @var{list}, and with the Back-Cover Texts being @var{list}. 385 A copy of the license is included in the section entitled ``GNU 423 with no Invariant Sections, no Front-Cover Texts, and no Back-Cover 424 Texts. A copy of the license is included in the section entitled ``GNU 386 425 Free Documentation License''. 387 426 @end group 388 427 @end smallexample 389 428 390 If you have no Invariant Sections, write ``with no Invariant Sections'' 391 instead of saying which ones are invariant. If you have no 392 Front-Cover Texts, write ``no Front-Cover Texts'' instead of 393 ``Front-Cover Texts being @var{list}''; likewise for Back-Cover Texts. 429 If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, 430 replace the ``with...Texts.'' line with this: 431 432 @smallexample 433 @group 434 with the Invariant Sections being @var{list their titles}, with 435 the Front-Cover Texts being @var{list}, and with the Back-Cover Texts 436 being @var{list}. 437 @end group 438 @end smallexample 439 440 If you have Invariant Sections without Cover Texts, or some other 441 combination of the three, merge those two alternatives to suit the 442 situation. 394 443 395 444 If your document contains nontrivial examples of program code, we -
vendor/gnumake/current/doc/make-stds.texi
r152 r501 9 9 @cindex standards for makefiles 10 10 11 @c Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001 Free12 @c Software Foundation, Inc.11 @c Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001, 12 @c 2004, 2005 Free Software Foundation, Inc. 13 13 14 14 @c Permission is granted to copy, distribute and/or modify this document … … 294 294 Installation directories should always be named by variables, so it is 295 295 easy to install in a nonstandard place. The standard names for these 296 variables are described below. They are based on a standard filesystem 297 layout; variants of it are used in SVR4, 4.4BSD, GNU/Linux, Ultrix v4, 298 and other modern operating systems. 296 variables and the values they should have in GNU packages are 297 described below. They are based on a standard filesystem layout; 298 variants of it are used in GNU/Linux and other modern operating 299 systems. 300 301 Installers are expected to override these values when calling 302 @command{make} (e.g., @kbd{make prefix=/usr install} or 303 @command{configure} (e.g., @kbd{configure --prefix=/usr}). GNU 304 packages should not try to guess which value should be appropriate for 305 these variables on the system they are being installed onto: use the 306 default settings specified here so that all GNU packages behave 307 identically, allowing the installer to achieve any desired layout. 299 308 300 309 These two variables set the root for the installation. All the other … … 356 365 @file{/usr/local/libexec}, but write it as @file{$(exec_prefix)/libexec}. 357 366 (If you are using Autoconf, write it as @samp{@@libexecdir@@}.) 367 368 The definition of @samp{libexecdir} is the same for all packages, so 369 you should install your data in a subdirectory thereof. Most packages 370 install their data under @file{$(libexecdir)/@var{package-name}/}, 371 possibly within additional subdirectories thereof, such as 372 @file{$(libexecdir)/@var{package-name}/@var{machine}/@var{version}}. 358 373 @end table 359 374 … … 378 393 architecture-independent, and it is generally not hard. 379 394 380 Therefore, here are the variables Makefiles should use to specify 381 directories:395 Here are the variables Makefiles should use to specify directories 396 to put these various kinds of files in: 382 397 383 398 @table @samp 399 @item datarootdir 400 The root of the directory tree for read-only architecture-independent 401 data files. This should normally be @file{/usr/local/share}, but 402 write it as @file{$(prefix)/share}. (If you are using Autoconf, write 403 it as @samp{@@datarootdir@@}.) @samp{datadir}'s default value is 404 based on this variable; so are @samp{infodir}, @samp{mandir}, and 405 others. 406 384 407 @item datadir 385 The directory for installing read-only architecture independent data 386 files. This should normally be @file{/usr/local/share}, but write it as 387 @file{$(prefix)/share}. 388 (If you are using Autoconf, write it as @samp{@@datadir@@}.) 389 As a special exception, see @file{$(infodir)} 390 and @file{$(includedir)} below. 408 The directory for installing idiosyncratic read-only 409 architecture-independent data files for this program. This is usually 410 the same place as @samp{datarootdir}, but we use the two separate 411 variables so that you can move these program-specific files without 412 altering the location for Info files, man pages, etc. 413 414 This should normally be @file{/usr/local/share}, but write it as 415 @file{$(datarootdir)}. (If you are using Autoconf, write it as 416 @samp{@@datadir@@}.) 417 418 The definition of @samp{datadir} is the same for all packages, so you 419 should install your data in a subdirectory thereof. Most packages 420 install their data under @file{$(datadir)/@var{package-name}/}. 391 421 392 422 @item sysconfdir … … 420 450 @file{$(prefix)/var}. 421 451 (If you are using Autoconf, write it as @samp{@@localstatedir@@}.) 422 423 @item libdir 424 The directory for object files and libraries of object code. Do not 425 install executables here, they probably ought to go in @file{$(libexecdir)} 426 instead. The value of @code{libdir} should normally be 427 @file{/usr/local/lib}, but write it as @file{$(exec_prefix)/lib}. 428 (If you are using Autoconf, write it as @samp{@@libdir@@}.) 429 430 @item infodir 431 The directory for installing the Info files for this package. By 432 default, it should be @file{/usr/local/info}, but it should be written 433 as @file{$(prefix)/info}. 434 (If you are using Autoconf, write it as @samp{@@infodir@@}.) 435 436 @item lispdir 437 The directory for installing any Emacs Lisp files in this package. By 438 default, it should be @file{/usr/local/share/emacs/site-lisp}, but it 439 should be written as @file{$(prefix)/share/emacs/site-lisp}. 440 441 If you are using Autoconf, write the default as @samp{@@lispdir@@}. 442 In order to make @samp{@@lispdir@@} work, you need the following lines 443 in your @file{configure.in} file: 444 445 @example 446 lispdir='$@{datadir@}/emacs/site-lisp' 447 AC_SUBST(lispdir) 448 @end example 449 452 @end table 453 454 These variables specify the directory for installing certain specific 455 types of files, if your program has them. Every GNU package should 456 have Info files, so every program needs @samp{infodir}, but not all 457 need @samp{libdir} or @samp{lispdir}. 458 459 @table @samp 450 460 @item includedir 451 461 @c rewritten to avoid overfull hbox --roland … … 482 492 To tell whether @file{foo.h} came from the Foo package, put a magic 483 493 string in the file---part of a comment---and @code{grep} for that string. 494 495 @item docdir 496 The directory for installing documentation files (other than Info) for 497 this package. By default, it should be 498 @file{/usr/local/share/doc/@var{yourpkg}}, but it should be written as 499 @file{$(datarootdir)/doc/@var{yourpkg}}. (If you are using Autoconf, 500 write it as @samp{@@docdir@@}.) The @var{yourpkg} subdirectory, which 501 may include a version number, prevents collisions among files with 502 common names, such as @file{README}. 503 504 @item infodir 505 The directory for installing the Info files for this package. By 506 default, it should be @file{/usr/local/share/info}, but it should be 507 written as @file{$(datarootdir)/info}. (If you are using Autoconf, 508 write it as @samp{@@infodir@@}.) @code{infodir} is separate from 509 @code{docdir} for compatibility with existing practice. 510 511 @item htmldir 512 @itemx dvidir 513 @itemx pdfdir 514 @itemx psdir 515 Directories for installing documentation files in the particular 516 format. (It is not required to support documentation in all these 517 formats.) They should all be set to @code{$(docdir)} by default. (If 518 you are using Autoconf, write them as @samp{@@htmldir@@}, 519 @samp{@@dvidir@@}, etc.) Packages which supply several translations 520 of their documentation should install them in 521 @samp{$(htmldir)/}@var{ll}, @samp{$(pdfdir)/}@var{ll}, etc. where 522 @var{ll} is a locale abbreviation such as @samp{en} or @samp{pt_BR}. 523 524 @item libdir 525 The directory for object files and libraries of object code. Do not 526 install executables here, they probably ought to go in @file{$(libexecdir)} 527 instead. The value of @code{libdir} should normally be 528 @file{/usr/local/lib}, but write it as @file{$(exec_prefix)/lib}. 529 (If you are using Autoconf, write it as @samp{@@libdir@@}.) 530 531 @item lispdir 532 The directory for installing any Emacs Lisp files in this package. By 533 default, it should be @file{/usr/local/share/emacs/site-lisp}, but it 534 should be written as @file{$(datarootdir)/emacs/site-lisp}. 535 536 If you are using Autoconf, write the default as @samp{@@lispdir@@}. 537 In order to make @samp{@@lispdir@@} work, you need the following lines 538 in your @file{configure.in} file: 539 540 @example 541 lispdir='$@{datarootdir@}/emacs/site-lisp' 542 AC_SUBST(lispdir) 543 @end example 544 545 @item localedir 546 The directory for installing locale-specific message catalogs for this 547 package. By default, it should be @file{/usr/local/share/locale}, but 548 it should be written as @file{$(datarootdir)/locale}. (If you are 549 using Autoconf, write it as @samp{@@localedir@@}.) This directory 550 usually has a subdirectory per locale. 484 551 @end table 485 552 … … 489 556 @item mandir 490 557 The top-level directory for installing the man pages (if any) for this 491 package. It will normally be @file{/usr/local/ man}, but you should492 write it as @file{$(prefix)/man}. 493 (If you are usingAutoconf, write it as @samp{@@mandir@@}.)558 package. It will normally be @file{/usr/local/share/man}, but you 559 should write it as @file{$(datarootdir)/man}. (If you are using 560 Autoconf, write it as @samp{@@mandir@@}.) 494 561 495 562 @item man1dir … … 536 603 # NOTE: This directory must exist when you start the install. 537 604 prefix = /usr/local 605 datarootdir = $(prefix)/share 606 datadir = $(datarootdir) 538 607 exec_prefix = $(prefix) 539 608 # Where to put the executable for the command `gcc'. … … 542 611 libexecdir = $(exec_prefix)/libexec 543 612 # Where to put the Info files. 544 infodir = $( prefix)/info613 infodir = $(datarootdir)/info 545 614 @end smallexample 546 615 … … 631 700 Categories}. 632 701 702 @item install-html 703 @itemx install-dvi 704 @itemx install-pdf 705 @itemx install-ps 706 These targets install documentation in formats other than Info; 707 they're intended to be called explicitly by the person installing the 708 package, if that format is desired. GNU prefers Info files, so these 709 must be installed by the @code{install} target. 710 711 When you have many documentation files to install, we recommend that 712 you avoid collisions and clutter by arranging for these targets to 713 install in subdirectories of the appropriate installation directory, 714 such as @code{htmldir}. As one example, if your package has multiple 715 manuals, and you wish to install HTML documentation with many files 716 (such as the ``split'' mode output by @code{makeinfo --html}), you'll 717 certainly want to use subdirectories, or two nodes with the same name 718 in different manuals will overwrite each other. 719 633 720 @item uninstall 634 721 Delete all the installed files---the copies that the @samp{install} 635 target creates.722 and @samp{install-*} targets create. 636 723 637 724 This rule should not modify the directories where compilation is done, … … 669 756 @item clean 670 757 671 Delete all files from the current directory that are normally created by 672 building the program. Don't delete the files that record the 673 configuration. Also preserve files that could be made by building, but 674 normally aren't because the distribution comes with them. 758 Delete all files in the current directory that are normally created by 759 building the program. Also delete files in other directories if they 760 are created by this makefile. However, don't delete the files that 761 record the configuration. Also preserve files that could be made by 762 building, but normally aren't because the distribution comes with 763 them. There is no need to delete parent directories that were created 764 with @samp{mkdir -p}, since they could have existed anyway. 675 765 676 766 Delete @file{.dvi} files here if they are not part of the distribution. 677 767 678 768 @item distclean 679 Delete all files from the current directory that are created by 680 configuring or building the program. If you have unpacked the source 681 and built the program without creating any other files, @samp{make 682 distclean} should leave only the files that were in the distribution. 769 Delete all files in the current directory (or created by this 770 makefile) that are created by configuring or building the program. If 771 you have unpacked the source and built the program without creating 772 any other files, @samp{make distclean} should leave only the files 773 that were in the distribution. However, there is no need to delete 774 parent directories that were created with @samp{mkdir -p}, since they 775 could have existed anyway. 683 776 684 777 @item mostlyclean … … 689 782 690 783 @item maintainer-clean 691 Delete almost everything from the current directory that can be692 reconstructed with this Makefile. This typically includes everything 693 deleted by @code{distclean}, plus more: C source files produced by 694 Bison, tags tables, Info files, andso on.784 Delete almost everything that can be reconstructed with this Makefile. 785 This typically includes everything deleted by @code{distclean}, plus 786 more: C source files produced by Bison, tags tables, Info files, and 787 so on. 695 788 696 789 The reason we say ``almost everything'' is that running the command 697 @samp{make maintainer-clean} should not delete @file{configure} even if 698 @file{configure} can be remade using a rule in the Makefile. More generally, 699 @samp{make maintainer-clean} should not delete anything that needs to 700 exist in order to run @file{configure} and then begin to build the 701 program. This is the only exception; @code{maintainer-clean} should 702 delete everything else that can be rebuilt. 790 @samp{make maintainer-clean} should not delete @file{configure} even 791 if @file{configure} can be remade using a rule in the Makefile. More 792 generally, @samp{make maintainer-clean} should not delete anything 793 that needs to exist in order to run @file{configure} and then begin to 794 build the program. Also, there is no need to delete parent 795 directories that were created with @samp{mkdir -p}, since they could 796 have existed anyway. These are the only exceptions; 797 @code{maintainer-clean} should delete everything else that can be 798 rebuilt. 703 799 704 800 The @samp{maintainer-clean} target is intended to be used by a maintainer of … … 744 840 745 841 @item dvi 746 Generate DVI files for all Texinfo documentation. 747 For example: 842 @itemx html 843 @itemx pdf 844 @itemx ps 845 Generate documentation files in the given format, if possible. 846 Here's an example rule for generating DVI files from Texinfo: 748 847 749 848 @smallexample … … 760 859 of formatting. @TeX{} is not distributed with Texinfo.} Alternatively, 761 860 write just the dependencies, and allow GNU @code{make} to provide the command. 861 862 Here's another example, this one for generating HTML from Texinfo: 863 864 @smallexample 865 html: foo.html 866 867 foo.html: foo.texi chap1.texi chap2.texi 868 $(TEXI2HTML) $(srcdir)/foo.texi 869 @end smallexample 870 871 @noindent 872 Again, you would define the variable @code{TEXI2HTML} in the Makefile; 873 for example, it might run @code{makeinfo --no-split --html} 874 (@command{makeinfo} is part of the Texinfo distribution). 762 875 763 876 @item dist … … 933 1046 Programs to build binary packages work by extracting the 934 1047 pre-installation and post-installation commands. Here is one way of 935 extracting the pre-installation commands: 936 937 @smallexample 938 make -n install -o all \ 1048 extracting the pre-installation commands (the @option{-s} option to 1049 @command{make} is needed to silence messages about entering 1050 subdirectories): 1051 1052 @smallexample 1053 make -s -n install -o all \ 939 1054 PRE_INSTALL=pre-install \ 940 1055 POST_INSTALL=post-install \ … … 947 1062 948 1063 @smallexample 949 $0 ~ /^ \t[ \t]*(normal_install|post_install)[ \t]*$/ @{on = 0@}1064 $0 ~ /^(normal-install|post-install)[ \t]*$/ @{on = 0@} 950 1065 on @{print $0@} 951 $0 ~ /^\t[ \t]*pre_install[ \t]*$/ @{on = 1@} 952 @end smallexample 953 954 The resulting file of pre-installation commands is executed as a shell 955 script as part of installing the binary package. 1066 $0 ~ /^pre-install[ \t]*$/ @{on = 1@} 1067 @end smallexample -
vendor/gnumake/current/doc/make.info
r152 r501 1 This is make.info, produced by makeinfo version 4.6 from make.texi. 1 This is make.info, produced by makeinfo version 4.8 from make.texi. 2 3 This file documents the GNU `make' utility, which determines 4 automatically which pieces of a large program need to be recompiled, 5 and issues the commands to recompile them. 6 7 This is Edition 0.70, last updated 1 April 2006, of `The GNU Make 8 Manual', for GNU `make' version 3.81. 9 10 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 11 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006 Free Software 12 Foundation, Inc. 13 14 Permission is granted to copy, distribute and/or modify this 15 document under the terms of the GNU Free Documentation License, 16 Version 1.2 or any later version published by the Free Software 17 Foundation; with no Invariant Sections, with the Front-Cover Texts 18 being "A GNU Manual," and with the Back-Cover Texts as in (a) 19 below. A copy of the license is included in the section entitled 20 "GNU Free Documentation License." 21 22 (a) The FSF's Back-Cover Text is: "You have freedom to copy and 23 modify this GNU Manual, like GNU software. Copies published by 24 the Free Software Foundation raise funds for GNU development." 2 25 3 26 INFO-DIR-SECTION GNU Packages … … 6 29 END-INFO-DIR-ENTRY 7 30 8 This file documents the GNU Make utility, which determines9 automatically which pieces of a large program need to be recompiled,10 and issues the commands to recompile them.11 12 This is Edition 0.61, last updated 02 May 2003, of `The GNU Make13 Manual', for `make', Version 3.81.14 15 Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,16 1998, 1999, 2000, 2002, 2003, 2004 Free Software Foundation, Inc.17 18 Permission is granted to copy, distribute and/or modify this document19 under the terms of the GNU Free Documentation License, Version 1.1 or20 any later version published by the Free Software Foundation; with no21 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover22 Texts. A copy of the license is included in the section entitled "GNU23 Free Documentation License".24 25 31 26 32 Indirect: 27 make.info-1: 99728 make.info-2: 30 050033 make.info-1: 1297 34 make.info-2: 301265 29 35 30 36 Tag Table: 31 37 (Indirect) 32 Node: Top997 33 Node: Overview13531 34 Node: Preparing14535 35 Node: Reading15507 36 Node: Bugs16426 37 Node: Introduction18248 38 Node: Rule Introduction19832 39 Node: Simple Makefile21568 40 Node: How Make Works25189 41 Node: Variables Simplify27677 42 Node: make Deduces29880 43 Node: Combine By Prerequisite31627 44 Node: Cleanup32658 45 Node: Makefiles34069 46 Node: Makefile Contents34952 47 Node: Makefile Names37899 48 Node: Include39498 49 Ref: Include-Footnote-143049 50 Node: MAKEFILES Variable43183 51 Node: MAKEFILE_LIST Variable44685 52 Node: Special Variables46004 53 Node: Remaking Makefiles46739 54 Node: Overriding Makefiles50981 55 Node: Reading Makefiles53031 56 Node: Rules55558 57 Node: Rule Example58226 58 Node: Rule Syntax59075 59 Node: Prerequisite Types61296 60 Node: Wildcards63064 61 Node: Wildcard Examples64747 62 Node: Wildcard Pitfall65991 63 Node: Wildcard Function67773 64 Node: Directory Search69550 65 Node: General Search70684 66 Node: Selective Search72387 67 Node: Search Algorithm75363 68 Node: Commands/Search77870 69 Node: Implicit/Search79205 70 Node: Libraries/Search80137 71 Node: Phony Targets82219 72 Node: Force Targets87195 73 Node: Empty Targets88232 74 Node: Special Targets89519 75 Node: Multiple Targets96215 76 Node: Multiple Rules98075 77 Node: Static Pattern100301 78 Node: Static Usage100943 79 Node: Static versus Implicit104664 80 Node: Double-Colon106394 81 Node: Automatic Prerequisites108041 82 Node: Commands112295 83 Node: Echoing113984 84 Node: Execution115262 85 Ref: Execution-Footnote-1119688 86 Node: Parallel119834 87 Node: Errors123417 88 Node: Interrupts127053 89 Node: Recursion128632 90 Node: MAKE Variable130715 91 Node: Variables/Recursion132966 92 Node: Options/Recursion138111 93 Node: -w Option143264 94 Node: Sequences144247 95 Node: Empty Commands147248 96 Node: Using Variables148414 97 Node: Reference151521 98 Node: Flavors153077 99 Node: Advanced158861 100 Node: Substitution Refs159358 101 Node: Computed Names160904 102 Node: Values165471 103 Node: Setting166376 104 Node: Appending168404 105 Node: Override Directive172319 106 Node: Defining173695 107 Node: Environment176151 108 Node: Target-specific178423 109 Node: Pattern-specific181380 110 Node: Conditionals182772 111 Node: Conditional Example183478 112 Node: Conditional Syntax186062 113 Node: Testing Flags190930 114 Node: Functions192024 115 Node: Syntax of Functions193366 116 Node: Text Functions195557 117 Node: File Name Functions203707 118 Node: Foreach Function208146 119 Node: If Function211346 120 Node: Call Function212614 121 Node: Value Function215496 122 Node: Eval Function216930 123 Node: Origin Function219236 124 Node: Shell Function222445 125 Node: Make Control Functions224026 126 Node: Running225456 127 Node: Makefile Arguments227441 128 Node: Goals228149 129 Node: Instead of Execution232704 130 Node: Avoiding Compilation235982 131 Node: Overriding237949 132 Node: Testing240239 133 Node: Options Summary242116 134 Node: Implicit Rules251547 135 Node: Using Implicit253691 136 Node: Catalogue of Rules257220 137 Node: Implicit Variables266203 138 Node: Chained Rules270429 139 Node: Pattern Rules274428 140 Node: Pattern Intro275954 141 Node: Pattern Examples278802 142 Node: Automatic Variables280597 143 Node: Pattern Match288760 144 Node: Match-Anything Rules290381 145 Node: Canceling Rules294242 146 Node: Last Resort294944 147 Node: Suffix Rules296781 148 Node: Implicit Rule Search300500 149 Node: Archives304009 150 Node: Archive Members304701 151 Node: Archive Update306297 152 Node: Archive Symbols308201 153 Node: Archive Pitfalls309421 154 Node: Archive Suffix Rules310134 155 Node: Features311671 156 Node: Missing320218 157 Node: Makefile Conventions323948 158 Node: Makefile Basics324728 159 Node: Utilities in Makefiles327885 160 Node: Command Variables330013 161 Node: Directory Variables333573 162 Node: Standard Targets344450 163 Ref: Standard Targets-Footnote-1355704 164 Node: Install Command Categories355804 165 Node: Quick Reference360369 166 Node: Error Messages370113 167 Node: Complex Makefile377782 168 Node: GNU Free Documentation License386462 169 Node: Concept Index406354 170 Node: Name Index451260 38 Node: Top1297 39 Node: Overview14702 40 Node: Preparing15712 41 Node: Reading16684 42 Node: Bugs17611 43 Node: Introduction19441 44 Node: Rule Introduction21033 45 Node: Simple Makefile22777 46 Node: How Make Works26406 47 Node: Variables Simplify29061 48 Node: make Deduces31267 49 Node: Combine By Prerequisite33007 50 Node: Cleanup34036 51 Node: Makefiles35455 52 Node: Makefile Contents36421 53 Node: Makefile Names39376 54 Node: Include40987 55 Ref: Include-Footnote-144619 56 Node: MAKEFILES Variable44753 57 Node: MAKEFILE_LIST Variable46263 58 Node: Special Variables47531 59 Node: Remaking Makefiles51038 60 Node: Overriding Makefiles55287 61 Node: Reading Makefiles57340 62 Node: Secondary Expansion60244 63 Node: Rules67678 64 Node: Rule Example70350 65 Node: Rule Syntax71207 66 Node: Prerequisite Types73710 67 Node: Wildcards75486 68 Node: Wildcard Examples77204 69 Node: Wildcard Pitfall78460 70 Node: Wildcard Function80249 71 Node: Directory Search82033 72 Node: General Search83175 73 Node: Selective Search84890 74 Node: Search Algorithm87878 75 Node: Commands/Search90397 76 Node: Implicit/Search91743 77 Node: Libraries/Search92687 78 Node: Phony Targets94779 79 Node: Force Targets99865 80 Node: Empty Targets100910 81 Node: Special Targets102208 82 Node: Multiple Targets109382 83 Node: Multiple Rules111257 84 Node: Static Pattern113493 85 Node: Static Usage114145 86 Node: Static versus Implicit117866 87 Node: Double-Colon119610 88 Node: Automatic Prerequisites121267 89 Node: Commands125545 90 Node: Command Syntax126753 91 Node: Splitting Lines128778 92 Node: Variables in Commands131759 93 Node: Echoing133086 94 Node: Execution134378 95 Ref: Execution-Footnote-1135629 96 Node: Choosing the Shell135775 97 Node: Parallel139744 98 Node: Errors143337 99 Node: Interrupts146983 100 Node: Recursion148570 101 Node: MAKE Variable150664 102 Node: Variables/Recursion152931 103 Node: Options/Recursion158372 104 Node: -w Option163537 105 Node: Sequences164532 106 Node: Empty Commands167544 107 Node: Using Variables168718 108 Node: Reference171831 109 Node: Flavors173390 110 Node: Advanced179128 111 Node: Substitution Refs179633 112 Node: Computed Names181186 113 Node: Values185730 114 Node: Setting186643 115 Node: Appending188679 116 Node: Override Directive192605 117 Node: Defining193989 118 Node: Environment196453 119 Node: Target-specific198702 120 Node: Pattern-specific201669 121 Node: Conditionals203071 122 Node: Conditional Example203781 123 Node: Conditional Syntax206358 124 Node: Testing Flags212083 125 Node: Functions213185 126 Node: Syntax of Functions214605 127 Node: Text Functions216804 128 Node: File Name Functions225375 129 Node: Conditional Functions230597 130 Node: Foreach Function232971 131 Node: Call Function236183 132 Node: Value Function239068 133 Node: Eval Function240505 134 Node: Origin Function242779 135 Node: Flavor Function245997 136 Node: Shell Function247063 137 Node: Make Control Functions248697 138 Node: Running250366 139 Node: Makefile Arguments252355 140 Node: Goals253071 141 Node: Instead of Execution257812 142 Node: Avoiding Compilation261098 143 Node: Overriding263073 144 Node: Testing265371 145 Node: Options Summary267256 146 Node: Implicit Rules277382 147 Node: Using Implicit279530 148 Node: Catalogue of Rules283069 149 Node: Implicit Variables292419 150 Node: Chained Rules297254 151 Node: Pattern Rules301265 152 Node: Pattern Intro302801 153 Node: Pattern Examples305698 154 Node: Automatic Variables307507 155 Node: Pattern Match314878 156 Node: Match-Anything Rules316514 157 Node: Canceling Rules320389 158 Node: Last Resort321105 159 Node: Suffix Rules322952 160 Node: Implicit Rule Search326681 161 Node: Archives330200 162 Node: Archive Members330898 163 Node: Archive Update332511 164 Node: Archive Symbols334425 165 Node: Archive Pitfalls335659 166 Node: Archive Suffix Rules336382 167 Node: Features337929 168 Node: Missing346484 169 Node: Makefile Conventions350222 170 Node: Makefile Basics351008 171 Node: Utilities in Makefiles354175 172 Node: Command Variables356313 173 Node: Directory Variables359883 174 Node: Standard Targets374023 175 Ref: Standard Targets-Footnote-1387142 176 Node: Install Command Categories387242 177 Node: Quick Reference391768 178 Node: Error Messages402464 179 Node: Complex Makefile410154 180 Node: GNU Free Documentation License418872 181 Node: Concept Index441321 182 Node: Name Index506510 171 183 172 184 End Tag Table -
vendor/gnumake/current/doc/make.info-1
r152 r501 1 This is make.info, produced by makeinfo version 4.6 from make.texi. 1 This is make.info, produced by makeinfo version 4.8 from make.texi. 2 3 This file documents the GNU `make' utility, which determines 4 automatically which pieces of a large program need to be recompiled, 5 and issues the commands to recompile them. 6 7 This is Edition 0.70, last updated 1 April 2006, of `The GNU Make 8 Manual', for GNU `make' version 3.81. 9 10 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 11 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006 Free Software 12 Foundation, Inc. 13 14 Permission is granted to copy, distribute and/or modify this 15 document under the terms of the GNU Free Documentation License, 16 Version 1.2 or any later version published by the Free Software 17 Foundation; with no Invariant Sections, with the Front-Cover Texts 18 being "A GNU Manual," and with the Back-Cover Texts as in (a) 19 below. A copy of the license is included in the section entitled 20 "GNU Free Documentation License." 21 22 (a) The FSF's Back-Cover Text is: "You have freedom to copy and 23 modify this GNU Manual, like GNU software. Copies published by 24 the Free Software Foundation raise funds for GNU development." 2 25 3 26 INFO-DIR-SECTION GNU Packages … … 6 29 END-INFO-DIR-ENTRY 7 30 8 This file documents the GNU Make utility, which determines 31 32 File: make.info, Node: Top, Next: Overview, Prev: (dir), Up: (dir) 33 34 GNU `make' 35 ********** 36 37 This file documents the GNU `make' utility, which determines 9 38 automatically which pieces of a large program need to be recompiled, 10 39 and issues the commands to recompile them. 11 40 12 This is Edition 0.61, last updated 02 May 2003, of `The GNU Make 13 Manual', for `make', Version 3.81. 14 15 Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 16 1998, 1999, 2000, 2002, 2003, 2004 Free Software Foundation, Inc. 17 18 Permission is granted to copy, distribute and/or modify this document 19 under the terms of the GNU Free Documentation License, Version 1.1 or 20 any later version published by the Free Software Foundation; with no 21 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover 22 Texts. A copy of the license is included in the section entitled "GNU 23 Free Documentation License". 24 25 26 File: make.info, Node: Top, Next: Overview, Prev: (dir), Up: (dir) 27 28 Make 29 **** 30 31 The GNU `make' utility automatically determines which pieces of a large 32 program need to be recompiled, and issues the commands to recompile 33 them. 34 35 This edition of the `GNU Make Manual', last updated 02 May 2003, 36 documents GNU `make' Version 3.81. 37 38 This manual describes `make' and contains the following chapters: 41 This is Edition 0.70, last updated 1 April 2006, of `The GNU Make 42 Manual', for GNU `make' version 3.81. 43 44 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 45 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006 Free Software 46 Foundation, Inc. 47 48 Permission is granted to copy, distribute and/or modify this 49 document under the terms of the GNU Free Documentation License, 50 Version 1.2 or any later version published by the Free Software 51 Foundation; with no Invariant Sections, with the Front-Cover Texts 52 being "A GNU Manual," and with the Back-Cover Texts as in (a) 53 below. A copy of the license is included in the section entitled 54 "GNU Free Documentation License." 55 56 (a) The FSF's Back-Cover Text is: "You have freedom to copy and 57 modify this GNU Manual, like GNU software. Copies published by 58 the Free Software Foundation raise funds for GNU development." 39 59 40 60 * Menu: … … 96 116 with another makefile. 97 117 * Reading Makefiles:: How makefiles are parsed. 118 * Secondary Expansion:: How and when secondary expansion is performed. 98 119 99 120 Writing Rules … … 106 127 * Phony Targets:: Using a target that is not a real file's name. 107 128 * Force Targets:: You can use a target without commands 108 or prerequisites to mark other 109 targetsas phony.129 or prerequisites to mark other targets 130 as phony. 110 131 * Empty Targets:: When only the date matters and the 111 132 files are empty. … … 147 168 Writing the Commands in Rules 148 169 170 * Command Syntax:: Command syntax features and pitfalls. 149 171 * Echoing:: How to control when commands are echoed. 150 172 * Execution:: How commands are executed. … … 155 177 * Sequences:: Defining canned sequences of commands. 156 178 * Empty Commands:: Defining useful, do-nothing commands. 179 180 Command Syntax 181 182 * Splitting Lines:: Breaking long command lines for readability. 183 * Variables in Commands:: Using `make' variables in commands. 184 185 Command Execution 186 187 * Choosing the Shell:: How `make' chooses the shell used 188 to run commands. 157 189 158 190 Recursive Use of `make' … … 200 232 * Text Functions:: General-purpose text manipulation functions. 201 233 * File Name Functions:: Functions for manipulating file names. 234 * Conditional Functions:: Functions that implement conditions. 202 235 * Foreach Function:: Repeat some text with controlled variation. 203 * If Function:: Conditionally expand a value.204 236 * Call Function:: Expand a user-defined function. 205 237 * Value Function:: Return the un-expanded value of a variable. 206 238 * Eval Function:: Evaluate the arguments as makefile syntax. 207 239 * Origin Function:: Find where a variable got its value. 240 * Flavor Function:: Find out the flavor of a variable. 208 241 * Shell Function:: Substitute the output of a shell command. 209 242 * Make Control Functions:: Functions that control how make runs. … … 233 266 * Chained Rules:: How to use a chain of implicit rules. 234 267 * Pattern Rules:: How to define new implicit rules. 235 * Last Resort:: How to defin ing commands for rules236 whichcannot find any.268 * Last Resort:: How to define commands for rules which 269 cannot find any. 237 270 * Suffix Rules:: The old-fashioned style of implicit rule. 238 271 * Implicit Rule Search:: The precise algorithm for applying … … 263 296 * Archive Symbols:: How to update archive symbol directories. 264 297 265 Makefile Conventions266 267 * Makefile Basics:: General Conventions for Makefiles268 * Utilities in Makefiles:: Utilities in Makefiles269 * Command Variables:: Variables for Specifying Commands270 * Directory Variables:: Variables for Installation Directories271 * Standard Targets:: Standard Targets for Users272 * Install Command Categories:: Three categories of commands in the `install'273 274 Copying This Manual275 276 298 277 299 File: make.info, Node: Overview, Next: Introduction, Prev: Top, Up: Top 278 300 279 Overview of `make'280 ****************** 301 1 Overview of `make' 302 ******************** 281 303 282 304 The `make' utility automatically determines which pieces of a large … … 287 309 288 310 GNU `make' conforms to section 6.2 of `IEEE Standard 1003.2-1992' 289 (POSIX.2). 311 (POSIX.2). 290 312 291 313 Our examples show C programs, since they are most common, but you … … 329 351 File: make.info, Node: Reading, Next: Bugs, Prev: Preparing, Up: Overview 330 352 331 How to Read This Manual332 ======================= 353 1.1 How to Read This Manual 354 =========================== 333 355 334 356 If you are new to `make', or are looking for a general introduction, … … 350 372 File: make.info, Node: Bugs, Prev: Reading, Up: Overview 351 373 352 Problems and Bugs353 ================= 374 1.2 Problems and Bugs 375 ===================== 354 376 355 377 If you have problems with GNU `make' or think you've found a bug, … … 393 415 File: make.info, Node: Introduction, Next: Makefiles, Prev: Overview, Up: Top 394 416 395 An Introduction to Makefiles396 **************************** 417 2 An Introduction to Makefiles 418 ****************************** 397 419 398 420 You need a file called a "makefile" to tell `make' what to do. Most 399 often, the makefile tells `make' how to compile and link a program. 421 often, the makefile tells `make' how to compile and link a program. 400 422 401 423 In this chapter, we will discuss a simple makefile that describes … … 412 434 Finally, if any source file has been recompiled, all the object files, 413 435 whether newly made or saved from previous compilations, must be linked 414 together to produce the new executable editor. 436 together to produce the new executable editor. 415 437 416 438 * Menu: … … 427 449 File: make.info, Node: Rule Introduction, Next: Simple Makefile, Prev: Introduction, Up: Introduction 428 450 429 What a Rule Looks Like430 ====================== 451 2.1 What a Rule Looks Like 452 ========================== 431 453 432 454 A simple makefile consists of "rules" with the following shape: … … 470 492 File: make.info, Node: Simple Makefile, Next: How Make Works, Prev: Rule Introduction, Up: Introduction 471 493 472 A Simple Makefile473 ================= 494 2.2 A Simple Makefile 495 ===================== 474 496 475 497 Here is a straightforward makefile that describes the way an executable … … 485 507 cc -o edit main.o kbd.o command.o display.o \ 486 508 insert.o search.o files.o utils.o 487 509 488 510 main.o : main.c defs.h 489 511 cc -c main.c … … 507 529 508 530 We split each long line into two lines using backslash-newline; this is 509 like using one long line, but is easier to read. 531 like using one long line, but is easier to read. 510 532 511 533 To use this makefile to create the executable file called `edit', … … 535 557 prerequisites. These shell commands say how to update the target file. 536 558 A tab character must come at the beginning of every command line to 537 distinguish command slines from other lines in the makefile. (Bear in559 distinguish command lines from other lines in the makefile. (Bear in 538 560 mind that `make' does not know anything about how the commands work. 539 561 It is up to you to supply commands that will update the target file 540 562 properly. All `make' does is execute the commands in the rule you have 541 specified when the target file needs to be updated.) 563 specified when the target file needs to be updated.) 542 564 543 565 The target `clean' is not a file, but merely the name of an action. … … 550 572 called "phony targets". *Note Phony Targets::, for information about 551 573 this kind of target. *Note Errors in Commands: Errors, to see how to 552 cause `make' to ignore errors from `rm' or any other command. 574 cause `make' to ignore errors from `rm' or any other command. 553 575 554 576 555 577 File: make.info, Node: How Make Works, Next: Variables Simplify, Prev: Simple Makefile, Up: Introduction 556 578 557 How `make' Processes a Makefile558 =============================== 579 2.3 How `make' Processes a Makefile 580 =================================== 559 581 560 582 By default, `make' starts with the first target (not targets whose 561 583 names start with `.'). This is called the "default goal". ("Goals" 562 are the targets that `make' strives ultimately to update. *Note 563 Arguments to Specify the Goals: Goals.) 584 are the targets that `make' strives ultimately to update. You can 585 override this behavior using the command line (*note Arguments to 586 Specify the Goals: Goals.) or with the `.DEFAULT_GOAL' special variable 587 (*note Other Special Variables: Special Variables.). 564 588 565 589 In the simple example of the previous section, the default goal is to … … 596 620 not exist, or if any of the object files are newer than it. If an 597 621 object file was just recompiled, it is now newer than `edit', so `edit' 598 is relinked. 622 is relinked. 599 623 600 624 Thus, if we change the file `insert.c' and run `make', `make' will … … 607 631 File: make.info, Node: Variables Simplify, Next: make Deduces, Prev: How Make Works, Up: Introduction 608 632 609 Variables Make Makefiles Simpler610 ================================ 633 2.4 Variables Make Makefiles Simpler 634 ==================================== 611 635 612 636 In our example, we had to list all the object files twice in the rule … … 641 665 objects = main.o kbd.o command.o display.o \ 642 666 insert.o search.o files.o utils.o 643 667 644 668 edit : $(objects) 645 669 cc -o edit $(objects) … … 666 690 File: make.info, Node: make Deduces, Next: Combine By Prerequisite, Prev: Variables Simplify, Up: Introduction 667 691 668 Letting `make' Deduce the Commands669 ================================== 692 2.5 Letting `make' Deduce the Commands 693 ====================================== 670 694 671 695 It is not necessary to spell out the commands for compiling the … … 686 710 objects = main.o kbd.o command.o display.o \ 687 711 insert.o search.o files.o utils.o 688 712 689 713 edit : $(objects) 690 714 cc -o edit $(objects) 691 715 692 716 main.o : defs.h 693 717 kbd.o : defs.h command.h … … 698 722 files.o : defs.h buffer.h command.h 699 723 utils.o : defs.h 700 724 701 725 .PHONY : clean 702 726 clean : … … 713 737 File: make.info, Node: Combine By Prerequisite, Next: Cleanup, Prev: make Deduces, Up: Introduction 714 738 715 Another Style of Makefile716 ========================= 739 2.6 Another Style of Makefile 740 ============================= 717 741 718 742 When the objects of a makefile are created only by implicit rules, an … … 723 747 objects = main.o kbd.o command.o display.o \ 724 748 insert.o search.o files.o utils.o 725 749 726 750 edit : $(objects) 727 751 cc -o edit $(objects) 728 752 729 753 $(objects) : defs.h 730 754 kbd.o command.o files.o : command.h … … 742 766 File: make.info, Node: Cleanup, Prev: Combine By Prerequisite, Up: Introduction 743 767 744 Rules for Cleaning the Directory745 ================================ 768 2.7 Rules for Cleaning the Directory 769 ==================================== 746 770 747 771 Compiling a program is not the only thing you might want to write rules … … 781 805 File: make.info, Node: Makefiles, Next: Rules, Prev: Introduction, Up: Top 782 806 783 Writing Makefiles784 ***************** 807 3 Writing Makefiles 808 ******************* 785 809 786 810 The information that tells `make' how to recompile a system comes from … … 799 823 with another makefile. 800 824 * Reading Makefiles:: How makefiles are parsed. 825 * Secondary Expansion:: How and when secondary expansion is performed. 801 826 802 827 803 828 File: make.info, Node: Makefile Contents, Next: Makefile Names, Prev: Makefiles, Up: Makefiles 804 829 805 What Makefiles Contain806 ====================== 830 3.1 What Makefiles Contain 831 ========================== 807 832 808 833 Makefiles contain five kinds of things: "explicit rules", "implicit … … 864 889 File: make.info, Node: Makefile Names, Next: Include, Prev: Makefile Contents, Up: Makefiles 865 890 866 What Name to Give Your Makefile867 =============================== 891 3.2 What Name to Give Your Makefile 892 =================================== 868 893 869 894 By default, when `make' looks for the makefile, it tries the following 870 names, in order: `GNUmakefile', `makefile' and `Makefile'. 895 names, in order: `GNUmakefile', `makefile' and `Makefile'. 871 896 872 897 Normally you should call your makefile either `makefile' or … … 891 916 concatenated in the order specified. The default makefile names 892 917 `GNUmakefile', `makefile' and `Makefile' are not checked automatically 893 if you specify `-f' or `--file'. 918 if you specify `-f' or `--file'. 894 919 895 920 896 921 File: make.info, Node: Include, Next: MAKEFILES Variable, Prev: Makefile Names, Up: Makefiles 897 922 898 Including Other Makefiles899 ========================= 923 3.3 Including Other Makefiles 924 ============================= 900 925 901 926 The `include' directive tells `make' to suspend reading the current … … 905 930 include FILENAMES... 906 931 907 FILENAMES can contain shell file name patterns. 932 FILENAMES can contain shell file name patterns. If FILENAMES is empty, 933 nothing is included and no error is printed. 908 934 909 935 Extra spaces are allowed and ignored at the beginning of the line, … … 942 968 than that of somehow appending the prerequisites to the end of the main 943 969 makefile as has been traditionally done with other versions of `make'. 944 *Note Automatic Prerequisites::. 970 *Note Automatic Prerequisites::. 945 971 946 972 If the specified name does not start with a slash, and the file is … … 980 1006 File: make.info, Node: MAKEFILES Variable, Next: MAKEFILE_LIST Variable, Prev: Include, Up: Makefiles 981 1007 982 The Variable `MAKEFILES'983 ======================== 1008 3.4 The Variable `MAKEFILES' 1009 ============================ 984 1010 985 1011 If the environment variable `MAKEFILES' is defined, `make' considers … … 1009 1035 File: make.info, Node: MAKEFILE_LIST Variable, Next: Special Variables, Prev: MAKEFILES Variable, Up: Makefiles 1010 1036 1011 The Variable `MAKEFILE_LIST'1012 ============================ 1037 3.5 The Variable `MAKEFILE_LIST' 1038 ================================ 1013 1039 1014 1040 As `make' reads various makefiles, including any obtained from the … … 1025 1051 If a makefile named `Makefile' has this content: 1026 1052 1027 name1 := $( word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))1028 1053 name1 := $(lastword $(MAKEFILE_LIST)) 1054 1029 1055 include inc.mk 1030 1031 name2 := $( word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))1032 1056 1057 name2 := $(lastword $(MAKEFILE_LIST)) 1058 1033 1059 all: 1034 1060 @echo name1 = $(name1) … … 1048 1074 File: make.info, Node: Special Variables, Next: Remaking Makefiles, Prev: MAKEFILE_LIST Variable, Up: Makefiles 1049 1075 1050 Other Special Variables 1051 ======================= 1052 1053 GNU `make' also supports a special variable. Note that any value you 1054 assign to this variable will be ignored; it will always return its 1055 special value. 1056 1057 The first special variable is `.VARIABLES'. When expanded, the 1058 value consists of a list of the _names_ of all global variables defined 1059 in all makefiles read up until that point. This includes variables 1060 which have empty values, as well as built-in variables (*note Variables 1061 Used by Implicit Rules: Implicit Variables.), but does not include any 1062 variables which are only defined in a target-specific context. 1076 3.6 Other Special Variables 1077 =========================== 1078 1079 GNU `make' also supports other special variables. Unless otherwise 1080 documented here, these values lose their special properties if they are 1081 set by a makefile or on the command line. 1082 1083 `.DEFAULT_GOAL' 1084 Sets the default goal to be used if no targets were specified on 1085 the command line (*note Arguments to Specify the Goals: Goals.). 1086 The `.DEFAULT_GOAL' variable allows you to discover the current 1087 default goal, restart the default goal selection algorithm by 1088 clearing its value, or to explicitly set the default goal. The 1089 following example illustrates these cases: 1090 1091 # Query the default goal. 1092 ifeq ($(.DEFAULT_GOAL),) 1093 $(warning no default goal is set) 1094 endif 1095 1096 .PHONY: foo 1097 foo: ; @echo $@ 1098 1099 $(warning default goal is $(.DEFAULT_GOAL)) 1100 1101 # Reset the default goal. 1102 .DEFAULT_GOAL := 1103 1104 .PHONY: bar 1105 bar: ; @echo $@ 1106 1107 $(warning default goal is $(.DEFAULT_GOAL)) 1108 1109 # Set our own. 1110 .DEFAULT_GOAL := foo 1111 1112 This makefile prints: 1113 1114 no default goal is set 1115 default goal is foo 1116 default goal is bar 1117 foo 1118 1119 Note that assigning more than one target name to `.DEFAULT_GOAL' is 1120 illegal and will result in an error. 1121 1122 `MAKE_RESTARTS' 1123 This variable is set only if this instance of `make' has restarted 1124 (*note How Makefiles Are Remade: Remaking Makefiles.): it will 1125 contain the number of times this instance has restarted. Note 1126 this is not the same as recursion (counted by the `MAKELEVEL' 1127 variable). You should not set, modify, or export this variable. 1128 1129 `.VARIABLES' 1130 Expands to a list of the _names_ of all global variables defined 1131 so far. This includes variables which have empty values, as well 1132 as built-in variables (*note Variables Used by Implicit Rules: 1133 Implicit Variables.), but does not include any variables which are 1134 only defined in a target-specific context. Note that any value 1135 you assign to this variable will be ignored; it will always return 1136 its special value. 1137 1138 `.FEATURES' 1139 Expands to a list of special features supported by this version of 1140 `make'. Possible values include: 1141 1142 `archives' 1143 Supports `ar' (archive) files using special filename syntax. 1144 *Note Using `make' to Update Archive Files: Archives. 1145 1146 `check-symlink' 1147 Supports the `-L' (`--check-symlink-times') flag. *Note 1148 Summary of Options: Options Summary. 1149 1150 `else-if' 1151 Supports "else if" non-nested conditionals. *Note Syntax of 1152 Conditionals: Conditional Syntax. 1153 1154 `jobserver' 1155 Supports "job server" enhanced parallel builds. *Note 1156 Parallel Execution: Parallel. 1157 1158 `second-expansion' 1159 Supports secondary expansion of prerequisite lists. 1160 1161 `order-only' 1162 Supports order-only prerequisites. *Note Types of 1163 Prerequisites: Prerequisite Types. 1164 1165 `target-specific' 1166 Supports target-specific and pattern-specific variable 1167 assignments. *Note Target-specific Variable Values: 1168 Target-specific. 1169 1170 1171 `.INCLUDE_DIRS' 1172 Expands to a list of directories that `make' searches for included 1173 makefiles (*note Including Other Makefiles: Include.). 1174 1063 1175 1064 1176 1065 1177 File: make.info, Node: Remaking Makefiles, Next: Overriding Makefiles, Prev: Special Variables, Up: Makefiles 1066 1178 1067 How Makefiles Are Remade1068 ======================== 1179 3.7 How Makefiles Are Remade 1180 ============================ 1069 1181 1070 1182 Sometimes makefiles can be remade from other files, such as RCS or SCCS … … 1103 1215 If you do not specify any makefiles to be read with `-f' or `--file' 1104 1216 options, `make' will try the default makefile names; *note What Name to 1105 Give Your Makefile: Makefile Names. .Unlike makefiles explicitly1217 Give Your Makefile: Makefile Names. Unlike makefiles explicitly 1106 1218 requested with `-f' or `--file' options, `make' is not certain that 1107 1219 these makefiles should exist. However, if a default makefile does not … … 1143 1255 File: make.info, Node: Overriding Makefiles, Next: Reading Makefiles, Prev: Remaking Makefiles, Up: Makefiles 1144 1256 1145 Overriding Part of Another Makefile1146 =================================== 1257 3.8 Overriding Part of Another Makefile 1258 ======================================= 1147 1259 1148 1260 Sometimes it is useful to have a makefile that is mostly just like … … 1164 1276 foo: 1165 1277 frobnicate > foo 1166 1278 1167 1279 %: force 1168 1280 @$(MAKE) -f Makefile $@ … … 1186 1298 1187 1299 1188 File: make.info, Node: Reading Makefiles, Prev: Overriding Makefiles, Up: Makefiles1189 1190 How `make' Reads a Makefile1191 =========================== 1300 File: make.info, Node: Reading Makefiles, Next: Secondary Expansion, Prev: Overriding Makefiles, Up: Makefiles 1301 1302 3.9 How `make' Reads a Makefile 1303 =============================== 1192 1304 1193 1305 GNU `make' does its work in two distinct phases. During the first … … 1224 1336 IMMEDIATE := IMMEDIATE 1225 1337 IMMEDIATE += DEFERRED or IMMEDIATE 1226 1338 1227 1339 define IMMEDIATE 1228 1340 DEFERRED … … 1238 1350 All instances of conditional syntax are parsed immediately, in their 1239 1351 entirety; this includes the `ifdef', `ifeq', `ifndef', and `ifneq' 1240 forms. 1352 forms. Of course this means that automatic variables cannot be used in 1353 conditional statements, as automatic variables are not set until the 1354 command script for that rule is invoked. If you need to use automatic 1355 variables in a conditional you _must_ use shell conditional syntax, in 1356 your command script proper, for these tests, not `make' conditionals. 1241 1357 1242 1358 Rule Definition … … 1254 1370 1255 1371 1372 File: make.info, Node: Secondary Expansion, Prev: Reading Makefiles, Up: Makefiles 1373 1374 3.10 Secondary Expansion 1375 ======================== 1376 1377 In the previous section we learned that GNU `make' works in two 1378 distinct phases: a read-in phase and a target-update phase (*note How 1379 `make' Reads a Makefile: Reading Makefiles.). GNU make also has the 1380 ability to enable a _second expansion_ of the prerequisites (only) for 1381 some or all targets defined in the makefile. In order for this second 1382 expansion to occur, the special target `.SECONDEXPANSION' must be 1383 defined before the first prerequisite list that makes use of this 1384 feature. 1385 1386 If that special target is defined then in between the two phases 1387 mentioned above, right at the end of the read-in phase, all the 1388 prerequisites of the targets defined after the special target are 1389 expanded a _second time_. In most circumstances this secondary 1390 expansion will have no effect, since all variable and function 1391 references will have been expanded during the initial parsing of the 1392 makefiles. In order to take advantage of the secondary expansion phase 1393 of the parser, then, it's necessary to _escape_ the variable or 1394 function reference in the makefile. In this case the first expansion 1395 merely un-escapes the reference but doesn't expand it, and expansion is 1396 left to the secondary expansion phase. For example, consider this 1397 makefile: 1398 1399 .SECONDEXPANSION: 1400 ONEVAR = onefile 1401 TWOVAR = twofile 1402 myfile: $(ONEVAR) $$(TWOVAR) 1403 1404 After the first expansion phase the prerequisites list of the 1405 `myfile' target will be `onefile' and `$(TWOVAR)'; the first 1406 (unescaped) variable reference to ONEVAR is expanded, while the second 1407 (escaped) variable reference is simply unescaped, without being 1408 recognized as a variable reference. Now during the secondary expansion 1409 the first word is expanded again but since it contains no variable or 1410 function references it remains the static value `onefile', while the 1411 second word is now a normal reference to the variable TWOVAR, which is 1412 expanded to the value `twofile'. The final result is that there are 1413 two prerequisites, `onefile' and `twofile'. 1414 1415 Obviously, this is not a very interesting case since the same result 1416 could more easily have been achieved simply by having both variables 1417 appear, unescaped, in the prerequisites list. One difference becomes 1418 apparent if the variables are reset; consider this example: 1419 1420 .SECONDEXPANSION: 1421 AVAR = top 1422 onefile: $(AVAR) 1423 twofile: $$(AVAR) 1424 AVAR = bottom 1425 1426 Here the prerequisite of `onefile' will be expanded immediately, and 1427 resolve to the value `top', while the prerequisite of `twofile' will 1428 not be full expanded until the secondary expansion and yield a value of 1429 `bottom'. 1430 1431 This is marginally more exciting, but the true power of this feature 1432 only becomes apparent when you discover that secondary expansions 1433 always take place within the scope of the automatic variables for that 1434 target. This means that you can use variables such as `$@', `$*', etc. 1435 during the second expansion and they will have their expected values, 1436 just as in the command script. All you have to do is defer the 1437 expansion by escaping the `$'. Also, secondary expansion occurs for 1438 both explicit and implicit (pattern) rules. Knowing this, the possible 1439 uses for this feature increase dramatically. For example: 1440 1441 .SECONDEXPANSION: 1442 main_OBJS := main.o try.o test.o 1443 lib_OBJS := lib.o api.o 1444 1445 main lib: $$($$@_OBJS) 1446 1447 Here, after the initial expansion the prerequisites of both the 1448 `main' and `lib' targets will be `$($@_OBJS)'. During the secondary 1449 expansion, the `$@' variable is set to the name of the target and so 1450 the expansion for the `main' target will yield `$(main_OBJS)', or 1451 `main.o try.o test.o', while the secondary expansion for the `lib' 1452 target will yield `$(lib_OBJS)', or `lib.o api.o'. 1453 1454 You can also mix functions here, as long as they are properly 1455 escaped: 1456 1457 main_SRCS := main.c try.c test.c 1458 lib_SRCS := lib.c api.c 1459 1460 .SECONDEXPANSION: 1461 main lib: $$(patsubst %.c,%.o,$$($$@_SRCS)) 1462 1463 This version allows users to specify source files rather than object 1464 files, but gives the same resulting prerequisites list as the previous 1465 example. 1466 1467 Evaluation of automatic variables during the secondary expansion 1468 phase, especially of the target name variable `$$@', behaves similarly 1469 to evaluation within command scripts. However, there are some subtle 1470 differences and "corner cases" which come into play for the different 1471 types of rule definitions that `make' understands. The subtleties of 1472 using the different automatic variables are described below. 1473 1474 Secondary Expansion of Explicit Rules 1475 ------------------------------------- 1476 1477 During the secondary expansion of explicit rules, `$$@' and `$$%' 1478 evaluate, respectively, to the file name of the target and, when the 1479 target is an archive member, the target member name. The `$$<' 1480 variable evaluates to the first prerequisite in the first rule for this 1481 target. `$$^' and `$$+' evaluate to the list of all prerequisites of 1482 rules _that have already appeared_ for the same target (`$$+' with 1483 repetitions and `$$^' without). The following example will help 1484 illustrate these behaviors: 1485 1486 .SECONDEXPANSION: 1487 1488 foo: foo.1 bar.1 $$< $$^ $$+ # line #1 1489 1490 foo: foo.2 bar.2 $$< $$^ $$+ # line #2 1491 1492 foo: foo.3 bar.3 $$< $$^ $$+ # line #3 1493 1494 In the first prerequisite list, all three variables (`$$<', `$$^', 1495 and `$$+') expand to the empty string. In the second, they will have 1496 values `foo.1', `foo.1 bar.1', and `foo.1 bar.1' respectively. In the 1497 third they will have values `foo.1', `foo.1 bar.1 foo.2 bar.2', and 1498 `foo.1 bar.1 foo.2 bar.2' respectively. 1499 1500 Rules undergo secondary expansion in makefile order, except that the 1501 rule with the command script is always evaluated last. 1502 1503 The variables `$$?' and `$$*' are not available and expand to the 1504 empty string. 1505 1506 Secondary Expansion of Static Pattern Rules 1507 ------------------------------------------- 1508 1509 Rules for secondary expansion of static pattern rules are identical to 1510 those for explicit rules, above, with one exception: for static pattern 1511 rules the `$$*' variable is set to the pattern stem. As with explicit 1512 rules, `$$?' is not available and expands to the empty string. 1513 1514 Secondary Expansion of Implicit Rules 1515 ------------------------------------- 1516 1517 As `make' searches for an implicit rule, it substitutes the stem and 1518 then performs secondary expansion for every rule with a matching target 1519 pattern. The value of the automatic variables is derived in the same 1520 fashion as for static pattern rules. As an example: 1521 1522 .SECONDEXPANSION: 1523 1524 foo: bar 1525 1526 foo foz: fo%: bo% 1527 1528 %oo: $$< $$^ $$+ $$* 1529 1530 When the implicit rule is tried for target `foo', `$$<' expands to 1531 `bar', `$$^' expands to `bar boo', `$$+' also expands to `bar boo', and 1532 `$$*' expands to `f'. 1533 1534 Note that the directory prefix (D), as described in *Note Implicit 1535 Rule Search Algorithm: Implicit Rule Search, is appended (after 1536 expansion) to all the patterns in the prerequisites list. As an 1537 example: 1538 1539 .SECONDEXPANSION: 1540 1541 /tmp/foo.o: 1542 1543 %.o: $$(addsuffix /%.c,foo bar) foo.h 1544 1545 The prerequisite list after the secondary expansion and directory 1546 prefix reconstruction will be `/tmp/foo/foo.c /tmp/var/bar/foo.c 1547 foo.h'. If you are not interested in this reconstruction, you can use 1548 `$$*' instead of `%' in the prerequisites list. 1549 1550 1256 1551 File: make.info, Node: Rules, Next: Commands, Prev: Makefiles, Up: Top 1257 1552 1258 Writing Rules1259 ************* 1553 4 Writing Rules 1554 *************** 1260 1555 1261 1556 A "rule" appears in the makefile and says when and how to remake … … 1288 1583 * Phony Targets:: Using a target that is not a real file's name. 1289 1584 * Force Targets:: You can use a target without commands 1290 or prerequisites to mark other 1291 targetsas phony.1585 or prerequisites to mark other targets 1586 as phony. 1292 1587 * Empty Targets:: When only the date matters and the 1293 1588 files are empty. … … 1306 1601 File: make.info, Node: Rule Example, Next: Rule Syntax, Prev: Rules, Up: Rules 1307 1602 1308 Rule Example1309 ============ 1603 4.1 Rule Example 1604 ================ 1310 1605 1311 1606 Here is an example of a rule: … … 1332 1627 File: make.info, Node: Rule Syntax, Next: Prerequisite Types, Prev: Rule Example, Up: Rules 1333 1628 1334 Rule Syntax1335 =========== 1629 4.2 Rule Syntax 1630 =============== 1336 1631 1337 1632 In general, a rule looks like this: … … 1358 1653 appear on the line after the prerequisites, with a tab character, or may 1359 1654 appear on the same line, with a semicolon. Either way, the effect is 1360 the same. *Note Writing the Commands in Rules: Commands. 1361 1362 Because dollar signs are used to start variable references, if you 1363 really want a dollar sign in a rule you must write two of them, `$$' 1364 (*note How to Use Variables: Using Variables.). You may split a long 1365 line by inserting a backslash followed by a newline, but this is not 1366 required, as `make' places no limit on the length of a line in a 1367 makefile. 1655 the same. There are other differences in the syntax of command lines. 1656 *Note Writing the Commands in Rules: Commands. 1657 1658 Because dollar signs are used to start `make' variable references, 1659 if you really want a dollar sign in a target or prerequisite you must 1660 write two of them, `$$' (*note How to Use Variables: Using Variables.). 1661 If you have enabled secondary expansion (*note Secondary Expansion::) 1662 and you want a literal dollar sign in the prerequisites lise, you must 1663 actually write _four_ dollar signs (`$$$$'). 1664 1665 You may split a long line by inserting a backslash followed by a 1666 newline, but this is not required, as `make' places no limit on the 1667 length of a line in a makefile. 1368 1668 1369 1669 A rule tells `make' two things: when the targets are out of date, … … 1387 1687 File: make.info, Node: Prerequisite Types, Next: Wildcards, Prev: Rule Syntax, Up: Rules 1388 1688 1389 Types of Prerequisites1390 ====================== 1689 4.3 Types of Prerequisites 1690 ========================== 1391 1691 1392 1692 There are actually two different types of prerequisites understood by … … 1423 1723 File: make.info, Node: Wildcards, Next: Directory Search, Prev: Prerequisite Types, Up: Rules 1424 1724 1425 Using Wildcard Characters in File Names1426 ======================================= 1725 4.4 Using Wildcard Characters in File Names 1726 =========================================== 1427 1727 1428 1728 A single file name can specify many files using "wildcard characters". … … 1440 1740 simulated by setting the environment variable HOME. 1441 1741 1442 Wildcard expansion happens automatically in targets, in1443 prerequisites, and in commands (where the shell does the expansion). 1444 In other contexts, wildcard expansion happens only if you request it 1445 explicitly with the `wildcard' function.1742 Wildcard expansion is performed by `make' automatically in targets 1743 and in prerequisites. In commands the shell is responsible for 1744 wildcard expansion. In other contexts, wildcard expansion happens only 1745 if you request it explicitly with the `wildcard' function. 1446 1746 1447 1747 The special significance of a wildcard character can be turned off by … … 1459 1759 File: make.info, Node: Wildcard Examples, Next: Wildcard Pitfall, Prev: Wildcards, Up: Wildcards 1460 1760 1461 Wildcard Examples1462 ----------------- 1761 4.4.1 Wildcard Examples 1762 ----------------------- 1463 1763 1464 1764 Wildcards can be used in the commands of a rule, where they are expanded … … 1499 1799 File: make.info, Node: Wildcard Pitfall, Next: Wildcard Function, Prev: Wildcard Examples, Up: Wildcards 1500 1800 1501 Pitfalls of Using Wildcards1502 --------------------------- 1801 4.4.2 Pitfalls of Using Wildcards 1802 --------------------------------- 1503 1803 1504 1804 Now here is an example of a naive way of using wildcard expansion, that … … 1508 1808 1509 1809 objects = *.o 1510 1810 1511 1811 foo : $(objects) 1512 1812 cc -o foo $(CFLAGS) $(objects) … … 1542 1842 File: make.info, Node: Wildcard Function, Prev: Wildcard Pitfall, Up: Wildcards 1543 1843 1544 The Function `wildcard'1545 ----------------------- 1844 4.4.3 The Function `wildcard' 1845 ----------------------------- 1546 1846 1547 1847 Wildcard expansion happens automatically in rules. But wildcard … … 1578 1878 1579 1879 objects := $(patsubst %.c,%.o,$(wildcard *.c)) 1580 1880 1581 1881 foo : $(objects) 1582 1882 cc -o foo $(objects) … … 1590 1890 File: make.info, Node: Directory Search, Next: Phony Targets, Prev: Wildcards, Up: Rules 1591 1891 1592 Searching Directories for Prerequisites1593 ======================================= 1892 4.5 Searching Directories for Prerequisites 1893 =========================================== 1594 1894 1595 1895 For large systems, it is often desirable to put sources in a separate … … 1614 1914 File: make.info, Node: General Search, Next: Selective Search, Prev: Directory Search, Up: Directory Search 1615 1915 1616 `VPATH': Search Path for All Prerequisites1617 ------------------------------------------ 1916 4.5.1 `VPATH': Search Path for All Prerequisites 1917 ------------------------------------------------ 1618 1918 1619 1919 The value of the `make' variable `VPATH' specifies a list of … … 1658 1958 File: make.info, Node: Selective Search, Next: Search Algorithm, Prev: General Search, Up: Directory Search 1659 1959 1660 The `vpath' Directive1661 --------------------- 1960 4.5.2 The `vpath' Directive 1961 --------------------------- 1662 1962 1663 1963 Similar to the `VPATH' variable, but more selective, is the `vpath' … … 1737 2037 File: make.info, Node: Search Algorithm, Next: Commands/Search, Prev: Selective Search, Up: Directory Search 1738 2038 1739 How Directory Searches are Performed1740 ------------------------------------ 2039 4.5.3 How Directory Searches are Performed 2040 ------------------------------------------ 1741 2041 1742 2042 When a prerequisite is found through directory search, regardless of … … 1795 2095 File: make.info, Node: Commands/Search, Next: Implicit/Search, Prev: Search Algorithm, Up: Directory Search 1796 2096 1797 Writing Shell Commands with Directory Search1798 -------------------------------------------- 2097 4.5.4 Writing Shell Commands with Directory Search 2098 -------------------------------------------------- 1799 2099 1800 2100 When a prerequisite is found in another directory through directory … … 1816 2116 compilation by implicit rules; we use it here for consistency so it will 1817 2117 affect all C compilations uniformly; *note Variables Used by Implicit 1818 Rules: Implicit Variables. .)2118 Rules: Implicit Variables.) 1819 2119 1820 2120 Often the prerequisites include header files as well, which you do … … 1829 2129 File: make.info, Node: Implicit/Search, Next: Libraries/Search, Prev: Commands/Search, Up: Directory Search 1830 2130 1831 Directory Search and Implicit Rules1832 ----------------------------------- 2131 4.5.5 Directory Search and Implicit Rules 2132 ----------------------------------------- 1833 2133 1834 2134 The search through the directories specified in `VPATH' or with `vpath' … … 1850 2150 File: make.info, Node: Libraries/Search, Prev: Implicit/Search, Up: Directory Search 1851 2151 1852 Directory Search for Link Libraries1853 ----------------------------------- 2152 4.5.6 Directory Search for Link Libraries 2153 ----------------------------------------- 1854 2154 1855 2155 Directory search applies in a special way to libraries used with the … … 1889 2189 word in the list will be used. 1890 2190 1891 The default value for `.LIBPATTERNS' is "`lib%.so lib%.a'", which2191 The default value for `.LIBPATTERNS' is `lib%.so lib%.a', which 1892 2192 provides the default behavior described above. 1893 2193 … … 1898 2198 File: make.info, Node: Phony Targets, Next: Force Targets, Prev: Directory Search, Up: Rules 1899 2199 1900 Phony Targets1901 ============= 2200 4.6 Phony Targets 2201 ================= 1902 2202 1903 2203 A phony target is one that is not really the name of a file. It is … … 1915 2215 Because the `rm' command does not create a file named `clean', probably 1916 2216 no such file will ever exist. Therefore, the `rm' command will be 1917 executed every time you say `make clean'. 2217 executed every time you say `make clean'. 1918 2218 1919 2219 The phony target will cease to work if anything ever does create a … … 1945 2245 Another example of the usefulness of phony targets is in conjunction 1946 2246 with recursive invocations of `make' (for more information, see *Note 1947 Recursive Use of `make': Recursion ). In this case the makefile will2247 Recursive Use of `make': Recursion.). In this case the makefile will 1948 2248 often contain a variable which lists a number of subdirectories to be 1949 2249 built. One way to handle this is with one rule whose command is a … … 1951 2251 1952 2252 SUBDIRS = foo bar baz 1953 2253 1954 2254 subdirs: 1955 2255 for dir in $(SUBDIRS); do \ … … 1963 2263 it will do so even if `make' is invoked with the `-k' option, which is 1964 2264 unfortunate. Second, and perhaps more importantly, you cannot take 1965 advantage of the parallel build capabilities of make using this method,1966 since there is only one rule.2265 advantage of `make''s ability to build targets in parallel (*note 2266 Parallel Execution: Parallel.), since there is only one rule. 1967 2267 1968 2268 By declaring the subdirectories as phony targets (you must do this as … … 1971 2271 1972 2272 SUBDIRS = foo bar baz 1973 2273 1974 2274 .PHONY: subdirs $(SUBDIRS) 1975 2275 1976 2276 subdirs: $(SUBDIRS) 1977 2277 1978 2278 $(SUBDIRS): 1979 2279 $(MAKE) -C $@ 1980 2280 1981 2281 foo: baz 1982 2282 … … 2002 2302 all : prog1 prog2 prog3 2003 2303 .PHONY : all 2004 2304 2005 2305 prog1 : prog1.o utils.o 2006 2306 cc -o prog1 prog1.o utils.o 2007 2307 2008 2308 prog2 : prog2.o 2009 2309 cc -o prog2 prog2.o 2010 2310 2011 2311 prog3 : prog3.o sort.o utils.o 2012 2312 cc -o prog3 prog3.o sort.o utils.o 2013 2313 2014 2314 Now you can say just `make' to remake all three programs, or specify as 2015 arguments the ones to remake (as in `make prog1 prog3'). 2315 arguments the ones to remake (as in `make prog1 prog3'). Phoniness is 2316 not inherited: the prerequisites of a phony target are not themselves 2317 phony, unless explicitly declared to be so. 2016 2318 2017 2319 When one phony target is a prerequisite of another, it serves as a … … 2020 2322 2021 2323 .PHONY: cleanall cleanobj cleandiff 2022 2324 2023 2325 cleanall : cleanobj cleandiff 2024 2326 rm program 2025 2327 2026 2328 cleanobj : 2027 2329 rm *.o 2028 2330 2029 2331 cleandiff : 2030 2332 rm *.diff … … 2033 2335 File: make.info, Node: Force Targets, Next: Empty Targets, Prev: Phony Targets, Up: Rules 2034 2336 2035 Rules without Commands or Prerequisites2036 ======================================= 2337 4.7 Rules without Commands or Prerequisites 2338 =========================================== 2037 2339 2038 2340 If a rule has no prerequisites or commands, and the target of the rule … … 2062 2364 File: make.info, Node: Empty Targets, Next: Special Targets, Prev: Force Targets, Up: Rules 2063 2365 2064 Empty Target Files to Record Events2065 =================================== 2366 4.8 Empty Target Files to Record Events 2367 ======================================= 2066 2368 2067 2369 The "empty target" is a variant of the phony target; it is used to hold … … 2084 2386 lpr -p $? 2085 2387 touch print 2086 2388 2087 2389 With this rule, `make print' will execute the `lpr' command if either 2088 2390 source file has changed since the last `make print'. The automatic … … 2093 2395 File: make.info, Node: Special Targets, Next: Multiple Targets, Prev: Empty Targets, Up: Rules 2094 2396 2095 Special Built-in Target Names2096 ============================= 2397 4.9 Special Built-in Target Names 2398 ================================= 2097 2399 2098 2400 Certain names have special meanings if they appear as targets. … … 2147 2449 intermediate). 2148 2450 2451 `.SECONDEXPANSION' 2452 If `.SECONDEXPANSION' is mentioned as a target anywhere in the 2453 makefile, then all prerequisite lists defined _after_ it appears 2454 will be expanded a second time after all makefiles have been read 2455 in. *Note Secondary Expansion: Secondary Expansion. 2456 2457 The prerequisites of the special target `.SUFFIXES' are the list 2458 of suffixes to be used in checking for suffix rules. *Note 2459 Old-Fashioned Suffix Rules: Suffix Rules. 2460 2149 2461 `.DELETE_ON_ERROR' 2150 2462 If `.DELETE_ON_ERROR' is mentioned as a target anywhere in the … … 2233 2545 File: make.info, Node: Multiple Targets, Next: Multiple Rules, Prev: Special Targets, Up: Rules 2234 2546 2235 Multiple Targets in a Rule2236 ========================== 2547 4.10 Multiple Targets in a Rule 2548 =============================== 2237 2549 2238 2550 A rule with multiple targets is equivalent to writing many rules, each … … 2258 2570 bigoutput littleoutput : text.g 2259 2571 generate text.g -$(subst output,,$@) > $@ 2260 2572 2261 2573 is equivalent to 2262 2574 … … 2280 2592 File: make.info, Node: Multiple Rules, Next: Static Pattern, Prev: Multiple Targets, Up: Rules 2281 2593 2282 Multiple Rules for One Target2283 ============================= 2594 4.11 Multiple Rules for One Target 2595 ================================== 2284 2596 2285 2597 One file can be the target of several rules. All the prerequisites … … 2331 2643 File: make.info, Node: Static Pattern, Next: Double-Colon, Prev: Multiple Rules, Up: Rules 2332 2644 2333 Static Pattern Rules2334 ==================== 2645 4.12 Static Pattern Rules 2646 ========================= 2335 2647 2336 2648 "Static pattern rules" are rules which specify multiple targets and … … 2348 2660 File: make.info, Node: Static Usage, Next: Static versus Implicit, Prev: Static Pattern, Up: Static Pattern 2349 2661 2350 Syntax of Static Pattern Rules2351 ------------------------------ 2662 4.12.1 Syntax of Static Pattern Rules 2663 ------------------------------------- 2352 2664 2353 2665 Here is the syntax of a static pattern rule: … … 2397 2709 2398 2710 objects = foo.o bar.o 2399 2711 2400 2712 all: $(objects) 2401 2713 2402 2714 $(objects): %.o: %.c 2403 2715 $(CC) -c $(CFLAGS) $< -o $@ … … 2414 2726 2415 2727 files = foo.elc bar.o lose.o 2416 2728 2417 2729 $(filter %.o,$(files)): %.o: %.c 2418 2730 $(CC) -c $(CFLAGS) $< -o $@ … … 2426 2738 from `foo.el'. 2427 2739 2428 Another example shows how to use `$*' in static pattern rules: 2740 Another example shows how to use `$*' in static pattern rules: 2429 2741 2430 2742 bigoutput littleoutput : %output : text.g … … 2437 2749 File: make.info, Node: Static versus Implicit, Prev: Static Usage, Up: Static Pattern 2438 2750 2439 Static Pattern Rules versus Implicit Rules2440 ------------------------------------------ 2751 4.12.2 Static Pattern Rules versus Implicit Rules 2752 ------------------------------------------------- 2441 2753 2442 2754 A static pattern rule has much in common with an implicit rule defined … … 2474 2786 File: make.info, Node: Double-Colon, Next: Automatic Prerequisites, Prev: Static Pattern, Up: Rules 2475 2787 2476 Double-Colon Rules2477 ================== 2788 4.13 Double-Colon Rules 2789 ======================= 2478 2790 2479 2791 "Double-colon" rules are rules written with `::' instead of `:' after … … 2511 2823 File: make.info, Node: Automatic Prerequisites, Prev: Double-Colon, Up: Rules 2512 2824 2513 Generating Prerequisites Automatically2514 ====================================== 2825 4.14 Generating Prerequisites Automatically 2826 =========================================== 2515 2827 2516 2828 In the makefile for a program, many of the rules you need to write often … … 2524 2836 would have to write dozens of such rules in your makefile. And, you 2525 2837 must always be very careful to update the makefile every time you add 2526 or remove an `#include'. 2838 or remove an `#include'. 2527 2839 2528 2840 To avoid this hassle, most modern C compilers can write these rules … … 2543 2855 makefile, so it can never be considered an intermediate file by implicit 2544 2856 rule search. This means that `make' won't ever remove the file after 2545 using it; *note Chains of Implicit Rules: Chained Rules. .2857 using it; *note Chains of Implicit Rules: Chained Rules. 2546 2858 2547 2859 With old `make' programs, it was traditional practice to use this … … 2567 2879 2568 2880 %.d: %.c 2569 2881 @set -e; rm -f $@; \ 2570 2882 $(CC) -M $(CPPFLAGS) $< > $@.$$$$; \ 2571 2883 sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \ … … 2574 2886 *Note Pattern Rules::, for information on defining pattern rules. The 2575 2887 `-e' flag to the shell causes it to exit immediately if the `$(CC)' 2576 command (or any other command) fails (exits with a nonzero status). 2888 command (or any other command) fails (exits with a nonzero status). 2577 2889 2578 2890 With the GNU C compiler, you may wish to use the `-MM' flag instead … … 2599 2911 2600 2912 sources = foo.c bar.c 2601 2913 2602 2914 include $(sources:.c=.d) 2603 2915 … … 2610 2922 2611 2923 Note that the `.d' files contain target definitions; you should be 2612 sure to place the `include' directive _after_ the first, default target2924 sure to place the `include' directive _after_ the first, default goal 2613 2925 in your makefiles or run the risk of having a random object file become 2614 the default target. *Note How Make Works::.2926 the default goal. *Note How Make Works::. 2615 2927 2616 2928 2617 2929 File: make.info, Node: Commands, Next: Using Variables, Prev: Rules, Up: Top 2618 2930 2619 Writing the Commands in Rules 2620 ***************************** 2621 2622 The commands of a rule consist of shell command lines to be executed one 2623 by one. Each command line must start with a tab, except that the first 2624 command line may be attached to the target-and-prerequisites line with a 2625 semicolon in between. Blank lines and lines of just comments may appear 2626 among the command lines; they are ignored. (But beware, an apparently 2627 "blank" line that begins with a tab is _not_ blank! It is an empty 2628 command; *note Empty Commands::.) 2931 5 Writing the Commands in Rules 2932 ******************************* 2933 2934 The commands of a rule consist of one or more shell command lines to be 2935 executed, one at a time, in the order they appear. Typically, the 2936 result of executing these commands is that the target of the rule is 2937 brought up to date. 2629 2938 2630 2939 Users use many different shell programs, but commands in makefiles … … 2632 2941 otherwise. *Note Command Execution: Execution. 2633 2942 2634 The shell that is in use determines whether comments can be written2635 on command lines, and what syntax they use. When the shell is2636 `/bin/sh', a `#' starts a comment that extends to the end of the line.2637 The `#' does not have to be at the beginning of a line. Text on a line2638 before a `#' is not part of the comment.2639 2640 2943 * Menu: 2641 2944 2945 * Command Syntax:: Command syntax features and pitfalls. 2642 2946 * Echoing:: How to control when commands are echoed. 2643 2947 * Execution:: How commands are executed. … … 2650 2954 2651 2955 2652 File: make.info, Node: Echoing, Next: Execution, Prev: Commands, Up: Commands 2653 2654 Command Echoing 2655 =============== 2956 File: make.info, Node: Command Syntax, Next: Echoing, Prev: Commands, Up: Commands 2957 2958 5.1 Command Syntax 2959 ================== 2960 2961 Makefiles have the unusual property that there are really two distinct 2962 syntaxes in one file. Most of the makefile uses `make' syntax (*note 2963 Writing Makefiles: Makefiles.). However, commands are meant to be 2964 interpreted by the shell and so they are written using shell syntax. 2965 The `make' program does not try to understand shell syntax: it performs 2966 only a very few specific translations on the content of the command 2967 before handing it to the shell. 2968 2969 Each command line must start with a tab, except that the first 2970 command line may be attached to the target-and-prerequisites line with a 2971 semicolon in between. _Any_ line in the makefile that begins with a 2972 tab and appears in a "rule context" (that is, after a rule has been 2973 started until another rule or variable definition) will be considered a 2974 command line for that rule. Blank lines and lines of just comments may 2975 appear among the command lines; they are ignored. 2976 2977 Some consequences of these rules include: 2978 2979 * A blank line that begins with a tab is not blank: it's an empty 2980 command (*note Empty Commands::). 2981 2982 * A comment in a command line is not a `make' comment; it will be 2983 passed to the shell as-is. Whether the shell treats it as a 2984 comment or not depends on your shell. 2985 2986 * A variable definition in a "rule context" which is indented by a 2987 tab as the first character on the line, will be considered a 2988 command line, not a `make' variable definition, and passed to the 2989 shell. 2990 2991 * A conditional expression (`ifdef', `ifeq', etc. *note Syntax of 2992 Conditionals: Conditional Syntax.) in a "rule context" which is 2993 indented by a tab as the first character on the line, will be 2994 considered a command line and be passed to the shell. 2995 2996 2997 * Menu: 2998 2999 * Splitting Lines:: Breaking long command lines for readability. 3000 * Variables in Commands:: Using `make' variables in commands. 3001 3002 3003 File: make.info, Node: Splitting Lines, Next: Variables in Commands, Prev: Command Syntax, Up: Command Syntax 3004 3005 5.1.1 Splitting Command Lines 3006 ----------------------------- 3007 3008 One of the few ways in which `make' does interpret command lines is 3009 checking for a backslash just before the newline. As in normal 3010 makefile syntax, a single command can be split into multiple lines in 3011 the makefile by placing a backslash before each newline. A sequence of 3012 lines like this is considered a single command, and one instance of the 3013 shell will be invoked to run it. 3014 3015 However, in contrast to how they are treated in other places in a 3016 makefile, backslash-newline pairs are _not_ removed from the command. 3017 Both the backslash and the newline characters are preserved and passed 3018 to the shell. How the backslash-newline is interpreted depends on your 3019 shell. If the first character of the next line after the 3020 backslash-newline is a tab, then that tab (and only that tab) is 3021 removed. Whitespace is never added to the command. 3022 3023 For example, this makefile: 3024 3025 all : 3026 @echo no\ 3027 space 3028 @echo no\ 3029 space 3030 @echo one \ 3031 space 3032 @echo one\ 3033 space 3034 3035 consists of four separate shell commands where the output is: 3036 3037 nospace 3038 nospace 3039 one space 3040 one space 3041 3042 As a more complex example, this makefile: 3043 3044 all : ; @echo 'hello \ 3045 world' ; echo "hello \ 3046 world" 3047 3048 will run one shell with a command script of: 3049 3050 echo 'hello \ 3051 world' ; echo "hello \ 3052 world" 3053 3054 which, according to shell quoting rules, will yield the following 3055 output: 3056 3057 hello \ 3058 world 3059 hello world 3060 3061 Notice how the backslash/newline pair was removed inside the string 3062 quoted with double quotes (`"..."'), but not from the string quoted 3063 with single quotes (`'...''). This is the way the default shell 3064 (`/bin/sh') handles backslash/newline pairs. If you specify a 3065 different shell in your makefiles it may treat them differently. 3066 3067 Sometimes you want to split a long line inside of single quotes, but 3068 you don't want the backslash-newline to appear in the quoted content. 3069 This is often the case when passing scripts to languages such as Perl, 3070 where extraneous backslashes inside the script can change its meaning 3071 or even be a syntax error. One simple way of handling this is to place 3072 the quoted string, or even the entire command, into a `make' variable 3073 then use the variable in the command. In this situation the newline 3074 quoting rules for makefiles will be used, and the backslash-newline 3075 will be removed. If we rewrite our example above using this method: 3076 3077 HELLO = 'hello \ 3078 world' 3079 3080 all : ; @echo $(HELLO) 3081 3082 we will get output like this: 3083 3084 hello world 3085 3086 If you like, you can also use target-specific variables (*note 3087 Target-specific Variable Values: Target-specific.) to obtain a tighter 3088 correspondence between the variable and the command that uses it. 3089 3090 3091 File: make.info, Node: Variables in Commands, Prev: Splitting Lines, Up: Command Syntax 3092 3093 5.1.2 Using Variables in Commands 3094 --------------------------------- 3095 3096 The other way in which `make' processes commands is by expanding any 3097 variable references in them (*note Basics of Variable References: 3098 Reference.). This occurs after make has finished reading all the 3099 makefiles and the target is determined to be out of date; so, the 3100 commands for targets which are not rebuilt are never expanded. 3101 3102 Variable and function references in commands have identical syntax 3103 and semantics to references elsewhere in the makefile. They also have 3104 the same quoting rules: if you want a dollar sign to appear in your 3105 command, you must double it (`$$'). For shells like the default shell, 3106 that use dollar signs to introduce variables, it's important to keep 3107 clear in your mind whether the variable you want to reference is a 3108 `make' variable (use a single dollar sign) or a shell variable (use two 3109 dollar signs). For example: 3110 3111 LIST = one two three 3112 all: 3113 for i in $(LIST); do \ 3114 echo $$i; \ 3115 done 3116 3117 results in the following command being passed to the shell: 3118 3119 for i in one two three; do \ 3120 echo $i; \ 3121 done 3122 3123 which generates the expected result: 3124 3125 one 3126 two 3127 three 3128 3129 3130 File: make.info, Node: Echoing, Next: Execution, Prev: Command Syntax, Up: Commands 3131 3132 5.2 Command Echoing 3133 =================== 2656 3134 2657 3135 Normally `make' prints each command line before it is executed. We … … 2682 3160 File: make.info, Node: Execution, Next: Parallel, Prev: Echoing, Up: Commands 2683 3161 2684 Command Execution2685 ================= 3162 5.3 Command Execution 3163 ===================== 2686 3164 2687 3165 When it is time to execute commands to update a target, they are 2688 executed by making a new subshell for each line. (In practice, `make' 2689 may take shortcuts that do not affect the results.) 2690 2691 *Please note:* this implies that shell commands such as `cd' that 2692 set variables local to each process will not affect the following 2693 command lines. (1) If you want to use `cd' to affect the next command, 2694 put the two on a single line with a semicolon between them. Then 2695 `make' will consider them a single command and pass them, together, to 2696 a shell which will execute them in sequence. For example: 3166 executed by invoking a new subshell for each command line. (In 3167 practice, `make' may take shortcuts that do not affect the results.) 3168 3169 *Please note:* this implies that setting shell variables and 3170 invoking shell commands such as `cd' that set a context local to each 3171 process will not affect the following command lines.(1) If you want to 3172 use `cd' to affect the next statement, put both statements in a single 3173 command line. Then `make' will invoke one shell to run the entire 3174 line, and the shell will execute the statements in sequence. For 3175 example: 2697 3176 2698 3177 foo : bar/lose 2699 cd bar; gobble lose > ../foo 2700 2701 If you would like to split a single shell command into multiple 2702 lines of text, you must use a backslash at the end of all but the last 2703 subline. Such a sequence of lines is combined into a single line, by 2704 deleting the backslash-newline sequences, before passing it to the 2705 shell. Thus, the following is equivalent to the preceding example: 2706 2707 foo : bar/lose 2708 cd bar; \ 2709 gobble lose > ../foo 2710 2711 The program used as the shell is taken from the variable `SHELL'. 2712 By default, the program `/bin/sh' is used. 3178 cd $(@D) && gobble $(@F) > ../$@ 3179 3180 Here we use the shell AND operator (`&&') so that if the `cd' command 3181 fails, the script will fail without trying to invoke the `gobble' 3182 command in the wrong directory, which could cause problems (in this 3183 case it would certainly cause `../foo' to be truncated, at least). 3184 3185 * Menu: 3186 3187 * Choosing the Shell:: How `make' chooses the shell used 3188 to run commands. 3189 3190 ---------- Footnotes ---------- 3191 3192 (1) On MS-DOS, the value of current working directory is *global*, so 3193 changing it _will_ affect the following command lines on those systems. 3194 3195 3196 File: make.info, Node: Choosing the Shell, Prev: Execution, Up: Execution 3197 3198 5.3.1 Choosing the Shell 3199 ------------------------ 3200 3201 The program used as the shell is taken from the variable `SHELL'. If 3202 this variable is not set in your makefile, the program `/bin/sh' is 3203 used as the shell. 3204 3205 Unlike most variables, the variable `SHELL' is never set from the 3206 environment. This is because the `SHELL' environment variable is used 3207 to specify your personal choice of shell program for interactive use. 3208 It would be very bad for personal choices like this to affect the 3209 functioning of makefiles. *Note Variables from the Environment: 3210 Environment. 3211 3212 Furthermore, when you do set `SHELL' in your makefile that value is 3213 _not_ exported in the environment to commands that `make' invokes. 3214 Instead, the value inherited from the user's environment, if any, is 3215 exported. You can override this behavior by explicitly exporting 3216 `SHELL' (*note Communicating Variables to a Sub-`make': 3217 Variables/Recursion.), forcing it to be passed in the environment to 3218 commands. 3219 3220 However, on MS-DOS and MS-Windows the value of `SHELL' in the 3221 environment *is* used, since on those systems most users do not set 3222 this variable, and therefore it is most likely set specifically to be 3223 used by `make'. On MS-DOS, if the setting of `SHELL' is not suitable 3224 for `make', you can set the variable `MAKESHELL' to the shell that 3225 `make' should use; if set it will be used as the shell instead of the 3226 value of `SHELL'. 3227 3228 Choosing a Shell in DOS and Windows 3229 ................................... 3230 3231 Choosing a shell in MS-DOS and MS-Windows is much more complex than on 3232 other systems. 2713 3233 2714 3234 On MS-DOS, if `SHELL' is not set, the value of the variable … … 2756 3276 2757 3277 The effect of the above DOS-specific processing is that a Makefile 2758 that says `SHELL = /bin/sh' (as many Unix makefiles do), will work on 2759 MS-DOS unaltered if you have e.g. `sh.exe' installed in some directory 2760 along your `PATH'. 2761 2762 Unlike most variables, the variable `SHELL' is never set from the 2763 environment. This is because the `SHELL' environment variable is used 2764 to specify your personal choice of shell program for interactive use. 2765 It would be very bad for personal choices like this to affect the 2766 functioning of makefiles. *Note Variables from the Environment: 2767 Environment. However, on MS-DOS and MS-Windows the value of `SHELL' in 2768 the environment *is* used, since on those systems most users do not set 2769 this variable, and therefore it is most likely set specifically to be 2770 used by `make'. On MS-DOS, if the setting of `SHELL' is not suitable 2771 for `make', you can set the variable `MAKESHELL' to the shell that 2772 `make' should use; this will override the value of `SHELL'. 2773 2774 ---------- Footnotes ---------- 2775 2776 (1) On MS-DOS, the value of current working directory is *global*, 2777 so changing it _will_ affect the following command lines on those 2778 systems. 3278 that contains `SHELL = /bin/sh' (as many Unix makefiles do), will work 3279 on MS-DOS unaltered if you have e.g. `sh.exe' installed in some 3280 directory along your `PATH'. 2779 3281 2780 3282 2781 3283 File: make.info, Node: Parallel, Next: Errors, Prev: Execution, Up: Commands 2782 3284 2783 Parallel Execution2784 ================== 3285 5.4 Parallel Execution 3286 ====================== 2785 3287 2786 3288 GNU `make' knows how to execute several commands at once. Normally, … … 2808 3310 streams of all but one running command. This means that attempting to 2809 3311 read from standard input will usually be a fatal error (a `Broken pipe' 2810 signal) for most child processes if there are several. 3312 signal) for most child processes if there are several. 2811 3313 2812 3314 It is unpredictable which command will have a valid standard input … … 2857 3359 File: make.info, Node: Errors, Next: Interrupts, Prev: Parallel, Up: Commands 2858 3360 2859 Errors in Commands2860 ================== 3361 5.5 Errors in Commands 3362 ====================== 2861 3363 2862 3364 After each shell command returns, `make' looks at its exit status. If … … 2916 3418 program as possible, perhaps to find several independent problems so 2917 3419 that you can correct them all before the next attempt to compile. This 2918 is why Emacs' `compile' command passes the `-k' flag by default. 3420 is why Emacs' `compile' command passes the `-k' flag by default. 2919 3421 2920 3422 Usually when a command fails, if it has changed the target file at … … 2933 3435 File: make.info, Node: Interrupts, Next: Recursion, Prev: Errors, Up: Commands 2934 3436 2935 Interrupting or Killing `make'2936 ============================== 3437 5.6 Interrupting or Killing `make' 3438 ================================== 2937 3439 2938 3440 If `make' gets a fatal signal while a command is executing, it may … … 2964 3466 File: make.info, Node: Recursion, Next: Sequences, Prev: Interrupts, Up: Commands 2965 3467 2966 Recursive Use of `make'2967 ======================= 3468 5.7 Recursive Use of `make' 3469 =========================== 2968 3470 2969 3471 Recursive use of `make' means using `make' as a command in a makefile. … … 2981 3483 subsystem: 2982 3484 $(MAKE) -C subdir 2983 3485 2984 3486 You can write recursive `make' commands just by copying this example, 2985 3487 but there are many things to know about how they work and why, and about … … 3011 3513 File: make.info, Node: MAKE Variable, Next: Variables/Recursion, Prev: Recursion, Up: Recursion 3012 3514 3013 How the `MAKE' Variable Works3014 ----------------------------- 3515 5.7.1 How the `MAKE' Variable Works 3516 ----------------------------------- 3015 3517 3016 3518 Recursive `make' commands should always use the variable `MAKE', not … … 3024 3526 is `cd subdir && /bin/make'. If you use a special version of `make' to 3025 3527 run the top-level makefile, the same special version will be executed 3026 for recursive invocations. 3528 for recursive invocations. 3027 3529 3028 3530 As a special feature, using the variable `MAKE' in the commands of a … … 3042 3544 file named `subsystem' and do nothing else. What you really want it to 3043 3545 do is run `cd subdir && make -t'; but that would require executing the 3044 command, and `-t' says not to execute commands. 3546 command, and `-t' says not to execute commands. 3045 3547 3046 3548 The special feature makes this do what you want: whenever a command … … 3056 3558 File: make.info, Node: Variables/Recursion, Next: Options/Recursion, Prev: MAKE Variable, Up: Recursion 3057 3559 3058 Communicating Variables to a Sub-`make'3059 --------------------------------------- 3560 5.7.2 Communicating Variables to a Sub-`make' 3561 --------------------------------------------- 3060 3562 3061 3563 Variable values of the top-level `make' can be passed to the sub-`make' … … 3076 3578 characters other than letters, numbers, and underscores. 3077 3579 3078 The special variables `SHELL' and `MAKEFLAGS' are always exported 3079 (unless you unexport them). `MAKEFILES' is exported if you set it to 3080 anything. 3580 The value of the `make' variable `SHELL' is not exported. Instead, 3581 the value of the `SHELL' variable from the invoking environment is 3582 passed to the sub-`make'. You can force `make' to export its value for 3583 `SHELL' by using the `export' directive, described below. *Note 3584 Choosing the Shell::. 3585 3586 The special variable `MAKEFLAGS' is always exported (unless you 3587 unexport it). `MAKEFILES' is exported if you set it to anything. 3081 3588 3082 3589 `make' automatically passes down variable values that were defined … … 3153 3660 `.EXPORT_ALL_VARIABLES' instead of using the `export' directive. This 3154 3661 will be ignored by old `make's, while the `export' directive will cause 3155 a syntax error. 3662 a syntax error. 3156 3663 3157 3664 Likewise, you can use `unexport' by itself to tell `make' _not_ to … … 3186 3693 File: make.info, Node: Options/Recursion, Next: -w Option, Prev: Variables/Recursion, Up: Recursion 3187 3694 3188 Communicating Options to a Sub-`make'3189 ------------------------------------- 3695 5.7.3 Communicating Options to a Sub-`make' 3696 ------------------------------------------- 3190 3697 3191 3698 Flags such as `-s' and `-k' are passed automatically to the sub-`make' … … 3291 3798 File: make.info, Node: -w Option, Prev: Options/Recursion, Up: Recursion 3292 3799 3293 The `--print-directory' Option3294 ------------------------------ 3800 5.7.4 The `--print-directory' Option 3801 ------------------------------------ 3295 3802 3296 3803 If you use several levels of recursive `make' invocations, the `-w' or … … 3317 3824 File: make.info, Node: Sequences, Next: Empty Commands, Prev: Recursion, Up: Commands 3318 3825 3319 Defining Canned Command Sequences3320 ================================= 3826 5.8 Defining Canned Command Sequences 3827 ===================================== 3321 3828 3322 3829 When the same sequence of commands is useful in making various targets, … … 3332 3839 mv y.tab.c $@ 3333 3840 endef 3334 3841 3335 3842 Here `run-yacc' is the name of the variable being defined; `endef' 3336 3843 marks the end of the definition; the lines in between are the commands. … … 3392 3899 File: make.info, Node: Empty Commands, Prev: Sequences, Up: Commands 3393 3900 3394 Using Empty Commands3395 ==================== 3901 5.9 Using Empty Commands 3902 ======================== 3396 3903 3397 3904 It is sometimes useful to define commands which do nothing. This is … … 3421 3928 File: make.info, Node: Using Variables, Next: Conditionals, Prev: Commands, Up: Top 3422 3929 3423 How to Use Variables3424 ******************** 3930 6 How to Use Variables 3931 ********************** 3425 3932 3426 3933 A "variable" is a name defined in a makefile to represent a string of … … 3428 3935 explicit request into targets, prerequisites, commands, and other parts 3429 3936 of the makefile. (In some other versions of `make', variables are 3430 called "macros".) 3937 called "macros".) 3431 3938 3432 3939 Variables and functions in all parts of a makefile are expanded when … … 3483 3990 File: make.info, Node: Reference, Next: Flavors, Prev: Using Variables, Up: Using Variables 3484 3991 3485 Basics of Variable References3486 ============================= 3992 6.1 Basics of Variable References 3993 ================================= 3487 3994 3488 3995 To substitute a variable's value, write a dollar sign followed by the … … 3500 4007 program : $(objects) 3501 4008 cc -o program $(objects) 3502 4009 3503 4010 $(objects) : defs.h 3504 4011 … … 3523 4030 File: make.info, Node: Flavors, Next: Advanced, Prev: Reference, Up: Using Variables 3524 4031 3525 The Two Flavors of Variables3526 ============================ 4032 6.2 The Two Flavors of Variables 4033 ================================ 3527 4034 3528 4035 There are two ways that a variable in GNU `make' can have a value; we … … 3544 4051 bar = $(ugh) 3545 4052 ugh = Huh? 3546 4053 3547 4054 all:;echo $(foo) 3548 4055 … … 3564 4071 3565 4072 because it will cause an infinite loop in the variable expansion. 3566 (Actually `make' detects the infinite loop and reports an error.) 4073 (Actually `make' detects the infinite loop and reports an error.) 3567 4074 3568 4075 Another disadvantage is that any functions (*note Functions for … … 3605 4112 3606 4113 ifeq (0,${MAKELEVEL}) 3607 cur-dir := $(shell pwd)3608 4114 whoami := $(shell whoami) 3609 4115 host-type := $(shell arch) … … 3615 4121 3616 4122 ${subdirs}: 3617 ${MAKE} cur-dir=${cur-dir}/$@-C $@ all4123 ${MAKE} -C $@ all 3618 4124 3619 4125 Simply expanded variables generally make complicated makefile … … 3669 4175 File: make.info, Node: Advanced, Next: Values, Prev: Flavors, Up: Using Variables 3670 4176 3671 Advanced Features for Reference to Variables3672 ============================================ 4177 6.3 Advanced Features for Reference to Variables 4178 ================================================ 3673 4179 3674 4180 This section describes some advanced features you can use to reference … … 3684 4190 File: make.info, Node: Substitution Refs, Next: Computed Names, Prev: Advanced, Up: Advanced 3685 4191 3686 Substitution References3687 ----------------------- 4192 6.3.1 Substitution References 4193 ----------------------------- 3688 4194 3689 4195 A "substitution reference" substitutes the value of a variable with … … 3717 4223 3718 4224 For example: 3719 4225 3720 4226 foo := a.o b.o c.o 3721 4227 bar := $(foo:%.o=%.c) … … 3726 4232 File: make.info, Node: Computed Names, Prev: Substitution Refs, Up: Advanced 3727 4233 3728 Computed Variable Names3729 ----------------------- 4234 6.3.2 Computed Variable Names 4235 ----------------------------- 3730 4236 3731 4237 Computed variable names are a complicated concept needed only for … … 3798 4304 a_dirs := dira dirb 3799 4305 1_dirs := dir1 dir2 3800 4306 3801 4307 a_files := filea fileb 3802 4308 1_files := file1 file2 3803 4309 3804 4310 ifeq "$(use_a)" "yes" 3805 4311 a1 := a … … 3807 4313 a1 := 1 3808 4314 endif 3809 4315 3810 4316 ifeq "$(use_dirs)" "yes" 3811 4317 df := dirs … … 3813 4319 df := files 3814 4320 endif 3815 4321 3816 4322 dirs := $($(a1)_$(df)) 3817 4323 … … 3823 4329 a_objects := a.o b.o c.o 3824 4330 1_objects := 1.o 2.o 3.o 3825 4331 3826 4332 sources := $($(a1)_objects:.o=.c) 3827 4333 … … 3839 4345 func := strip 3840 4346 endif 3841 4347 3842 4348 bar := a d b g q c 3843 4349 3844 4350 foo := $($(func) $(bar)) 3845 4351 … … 3869 4375 File: make.info, Node: Values, Next: Setting, Prev: Advanced, Up: Using Variables 3870 4376 3871 How Variables Get Their Values3872 ============================== 4377 6.4 How Variables Get Their Values 4378 ================================== 3873 4379 3874 4380 Variables can get values in several different ways: … … 3894 4400 File: make.info, Node: Setting, Next: Appending, Prev: Values, Up: Using Variables 3895 4401 3896 Setting Variables3897 ================= 4402 6.5 Setting Variables 4403 ===================== 3898 4404 3899 4405 To set a variable from the makefile, write a line starting with the … … 3947 4453 File: make.info, Node: Appending, Next: Override Directive, Prev: Setting, Up: Using Variables 3948 4454 3949 Appending More Text to Variables3950 ================================ 4455 6.6 Appending More Text to Variables 4456 ==================================== 3951 4457 3952 4458 Often it is useful to add more text to the value of a variable already … … 3983 4489 it a simply-expanded variable, `+=' adds to that simply-expanded 3984 4490 definition, and expands the new text before appending it to the old 3985 value just as `:=' does ( *note Setting Variables: Setting., for a full3986 explanation of `:='). In fact,4491 value just as `:=' does (see *Note Setting Variables: Setting, for a 4492 full explanation of `:='). In fact, 3987 4493 3988 4494 variable := value … … 3990 4496 3991 4497 is exactly equivalent to: 4498 3992 4499 3993 4500 variable := value … … 4022 4529 The first line defines the `CFLAGS' variable with a reference to another 4023 4530 variable, `includes'. (`CFLAGS' is used by the rules for C 4024 compilation; *note Catalogue of Implicit Rules: Catalogue of Rules. .)4531 compilation; *note Catalogue of Implicit Rules: Catalogue of Rules.) 4025 4532 Using `=' for the definition makes `CFLAGS' a recursively-expanded 4026 4533 variable, meaning `$(includes) -O' is _not_ expanded when `make' … … 4044 4551 File: make.info, Node: Override Directive, Next: Defining, Prev: Appending, Up: Using Variables 4045 4552 4046 The `override' Directive4047 ======================== 4553 6.7 The `override' Directive 4554 ============================ 4048 4555 4049 4556 If a variable has been set with a command argument (*note Overriding … … 4088 4595 File: make.info, Node: Defining, Next: Environment, Prev: Override Directive, Up: Using Variables 4089 4596 4090 Defining Variables Verbatim4091 =========================== 4597 6.8 Defining Variables Verbatim 4598 =============================== 4092 4599 4093 4600 Another way to set the value of a variable is to use the `define' … … 4147 4654 File: make.info, Node: Environment, Next: Target-specific, Prev: Defining, Up: Using Variables 4148 4655 4149 Variables from the Environment4150 ============================== 4656 6.9 Variables from the Environment 4657 ================================== 4151 4658 4152 4659 Variables in `make' can come from the environment in which `make' is 4153 4660 run. Every environment variable that `make' sees when it starts up is 4154 transformed into a `make' variable with the same name and value. But4155 an explicit assignment in the makefile, or with a command argument, 4156 overrides the environment. (If the `-e' flag is specified, then values 4157 from the environment override assignments in the makefile. *Note 4158 Summary of Options: Options Summary. But this is not recommended4661 transformed into a `make' variable with the same name and value. 4662 However, an explicit assignment in the makefile, or with a command 4663 argument, overrides the environment. (If the `-e' flag is specified, 4664 then values from the environment override assignments in the makefile. 4665 *Note Summary of Options: Options Summary. But this is not recommended 4159 4666 practice.) 4160 4667 … … 4163 4670 you prefer. This is safe for variables with standard or conventional 4164 4671 meanings because you know that no makefile will use them for other 4165 things. ( But this is not totally reliable; some makefiles set `CFLAGS'4166 explicitly and therefore are not affected by the value in the4672 things. (Note this is not totally reliable; some makefiles set 4673 `CFLAGS' explicitly and therefore are not affected by the value in the 4167 4674 environment.) 4168 4675 4169 When `make' is invoked recursively, variables defined in the outer4170 invocation can be passed to inner invocations through the environment 4171 (*note Recursive Use of `make': Recursion.). By default, only 4172 variables that came from the environment or the command line are passed 4173 to recursive invocations. You can use the `export' directive to pass 4174 other variables. *Note Communicating Variables to a Sub-`make': 4175 Variables /Recursion, for full details.4676 When `make' runs a command script, variables defined in the makefile 4677 are placed into the environment of that command. This allows you to 4678 pass values to sub-`make' invocations (*note Recursive Use of `make': 4679 Recursion.). By default, only variables that came from the environment 4680 or the command line are passed to recursive invocations. You can use 4681 the `export' directive to pass other variables. *Note Communicating 4682 Variables to a Sub-`make': Variables/Recursion, for full details. 4176 4683 4177 4684 Other use of variables from the environment is not recommended. It … … 4184 4691 which is normally present in the environment to specify the user's 4185 4692 choice of interactive shell. It would be very undesirable for this 4186 choice to affect `make'. So `make' ignores the environment value of 4187 `SHELL' (except on MS-DOS and MS-Windows, where `SHELL' is usually not 4188 set. *Note Special handling of SHELL on MS-DOS: Execution.) 4693 choice to affect `make'; so, `make' handles the `SHELL' environment 4694 variable in a special way; see *Note Choosing the Shell::. 4189 4695 4190 4696 4191 4697 File: make.info, Node: Target-specific, Next: Pattern-specific, Prev: Environment, Up: Using Variables 4192 4698 4193 Target-specific Variable Values4194 =============================== 4699 6.10 Target-specific Variable Values 4700 ==================================== 4195 4701 4196 4702 Variable values in `make' are usually global; that is, they are the … … 4261 4767 File: make.info, Node: Pattern-specific, Prev: Target-specific, Up: Using Variables 4262 4768 4263 Pattern-specific Variable Values4264 ================================ 4769 6.11 Pattern-specific Variable Values 4770 ===================================== 4265 4771 4266 4772 In addition to target-specific variable values (*note Target-specific … … 4299 4805 File: make.info, Node: Conditionals, Next: Functions, Prev: Using Variables, Up: Top 4300 4806 4301 Conditional Parts of Makefiles4302 ****************************** 4807 7 Conditional Parts of Makefiles 4808 ******************************** 4303 4809 4304 4810 A "conditional" causes part of a makefile to be obeyed or ignored … … 4318 4824 File: make.info, Node: Conditional Example, Next: Conditional Syntax, Prev: Conditionals, Up: Conditionals 4319 4825 4320 Example of a Conditional4321 ======================== 4826 7.1 Example of a Conditional 4827 ============================ 4322 4828 4323 4829 The following example of a conditional tells `make' to use one set of … … 4330 4836 libs_for_gcc = -lgnu 4331 4837 normal_libs = 4332 4838 4333 4839 foo: $(objects) 4334 4840 ifeq ($(CC),gcc) … … 4380 4886 libs_for_gcc = -lgnu 4381 4887 normal_libs = 4382 4888 4383 4889 ifeq ($(CC),gcc) 4384 4890 libs=$(libs_for_gcc) … … 4386 4892 libs=$(normal_libs) 4387 4893 endif 4388 4894 4389 4895 foo: $(objects) 4390 4896 $(CC) -o foo $(objects) $(libs) … … 4393 4899 File: make.info, Node: Conditional Syntax, Next: Testing Flags, Prev: Conditional Example, Up: Conditionals 4394 4900 4395 Syntax of Conditionals4396 ====================== 4901 7.2 Syntax of Conditionals 4902 ========================== 4397 4903 4398 4904 The syntax of a simple conditional with no `else' is as follows: … … 4414 4920 endif 4415 4921 4416 If the condition is true, TEXT-IF-TRUE is used; otherwise, 4417 TEXT-IF-FALSE is used instead. The TEXT-IF-FALSE can be any number of 4418 lines of text. 4922 or: 4923 4924 CONDITIONAL-DIRECTIVE 4925 TEXT-IF-ONE-IS-TRUE 4926 else CONDITIONAL-DIRECTIVE 4927 TEXT-IF-TRUE 4928 else 4929 TEXT-IF-FALSE 4930 endif 4931 4932 There can be as many "`else' CONDITIONAL-DIRECTIVE" clauses as 4933 necessary. Once a given condition is true, TEXT-IF-TRUE is used and no 4934 other clause is used; if no condition is true then TEXT-IF-FALSE is 4935 used. The TEXT-IF-TRUE and TEXT-IF-FALSE can be any number of lines of 4936 text. 4419 4937 4420 4938 The syntax of the CONDITIONAL-DIRECTIVE is the same whether the 4421 conditional is simple or complex. There are four different directives 4422 that test different conditions. Here is a table of them: 4939 conditional is simple or complex; after an `else' or not. There are 4940 four different directives that test different conditions. Here is a 4941 table of them: 4423 4942 4424 4943 `ifeq (ARG1, ARG2)' … … 4456 4975 4457 4976 `ifdef VARIABLE-NAME' 4458 If the variable VARIABLE-NAME has a non-empty value, the 4459 TEXT-IF-TRUE is effective; otherwise, the TEXT-IF-FALSE, if any, 4460 is effective. Variables that have never been defined have an 4461 empty value. The variable VARIABLE-NAME is itself expanded, so it 4462 could be a variable or function that expands to the name of a 4463 variable. 4977 The `ifdef' form takes the _name_ of a variable as its argument, 4978 not a reference to a variable. The value of that variable has a 4979 non-empty value, the TEXT-IF-TRUE is effective; otherwise, the 4980 TEXT-IF-FALSE, if any, is effective. Variables that have never 4981 been defined have an empty value. The text VARIABLE-NAME is 4982 expanded, so it could be a variable or function that expands to 4983 the name of a variable. For example: 4984 4985 bar = true 4986 foo = bar 4987 ifdef $(foo) 4988 frobozz = yes 4989 endif 4990 4991 The variable reference `$(foo)' is expanded, yielding `bar', which 4992 is considered to be the name of a variable. The variable `bar' is 4993 not expanded, but its value is examined to determine if it is 4994 non-empty. 4464 4995 4465 4996 Note that `ifdef' only tests whether a variable has a value. It … … 4491 5022 If the variable VARIABLE-NAME has an empty value, the TEXT-IF-TRUE 4492 5023 is effective; otherwise, the TEXT-IF-FALSE, if any, is effective. 5024 The rules for expansion and testing of VARIABLE-NAME are identical 5025 to the `ifdef' directive. 4493 5026 4494 5027 Extra spaces are allowed and ignored at the beginning of the … … 4525 5058 File: make.info, Node: Testing Flags, Prev: Conditional Syntax, Up: Conditionals 4526 5059 4527 Conditionals that Test Flags4528 ============================ 5060 7.3 Conditionals that Test Flags 5061 ================================ 4529 5062 4530 5063 You can write a conditional that tests `make' command flags such as … … 4556 5089 File: make.info, Node: Functions, Next: Running, Prev: Conditionals, Up: Top 4557 5090 4558 Functions for Transforming Text4559 ******************************* 5091 8 Functions for Transforming Text 5092 ********************************* 4560 5093 4561 5094 "Functions" allow you to do text processing in the makefile to compute … … 4571 5104 * Text Functions:: General-purpose text manipulation functions. 4572 5105 * File Name Functions:: Functions for manipulating file names. 5106 * Conditional Functions:: Functions that implement conditions. 4573 5107 * Foreach Function:: Repeat some text with controlled variation. 4574 * If Function:: Conditionally expand a value.4575 5108 * Call Function:: Expand a user-defined function. 4576 5109 * Value Function:: Return the un-expanded value of a variable. 4577 5110 * Eval Function:: Evaluate the arguments as makefile syntax. 4578 5111 * Origin Function:: Find where a variable got its value. 5112 * Flavor Function:: Find out the flavor of a variable. 4579 5113 * Shell Function:: Substitute the output of a shell command. 4580 5114 * Make Control Functions:: Functions that control how make runs. … … 4583 5117 File: make.info, Node: Syntax of Functions, Next: Text Functions, Prev: Functions, Up: Functions 4584 5118 4585 Function Call Syntax4586 ==================== 5119 8.1 Function Call Syntax 5120 ======================== 4587 5121 4588 5122 A function call resembles a variable reference. It looks like this: … … 4637 5171 File: make.info, Node: Text Functions, Next: File Name Functions, Prev: Syntax of Functions, Up: Functions 4638 5172 4639 Functions for String Substitution and Analysis4640 ============================================== 5173 8.2 Functions for String Substitution and Analysis 5174 ================================================== 4641 5175 4642 5176 Here are some functions that operate on strings: … … 4803 5337 `$(wordlist S,E,TEXT)' 4804 5338 Returns the list of words in TEXT starting with word S and ending 4805 with word E (inclusive). The legitimate values of S and E start4806 from 1. If S is bigger than the number of words in TEXT, the4807 value is empty. If E is bigger than the number of words in TEXT,4808 words up to the end of TEXT are returned. If S is greater than E,4809 nothing is returned. For example,5339 with word E (inclusive). The legitimate values of S start from 1; 5340 E may start from 0. If S is bigger than the number of words in 5341 TEXT, the value is empty. If E is bigger than the number of words 5342 in TEXT, words up to the end of TEXT are returned. If S is 5343 greater than E, nothing is returned. For example, 4810 5344 4811 5345 $(wordlist 2, 3, foo bar baz) … … 4829 5363 same as `$(word 1,TEXT)', the `firstword' function is retained for 4830 5364 its simplicity. 5365 5366 `$(lastword NAMES...)' 5367 The argument NAMES is regarded as a series of names, separated by 5368 whitespace. The value is the last name in the series. 5369 5370 For example, 5371 5372 $(lastword foo bar) 5373 5374 produces the result `bar'. Although `$(lastword TEXT)' is the 5375 same as `$(word $(words TEXT),TEXT)', the `lastword' function was 5376 added for its simplicity and better performance. 4831 5377 4832 5378 Here is a realistic example of the use of `subst' and `patsubst'. … … 4857 5403 4858 5404 4859 File: make.info, Node: File Name Functions, Next: Foreach Function, Prev: Text Functions, Up: Functions4860 4861 Functions for File Names4862 ======================== 5405 File: make.info, Node: File Name Functions, Next: Conditional Functions, Prev: Text Functions, Up: Functions 5406 5407 8.3 Functions for File Names 5408 ============================ 4863 5409 4864 5410 Several of the built-in expansion functions relate specifically to … … 4969 5515 File Names: Wildcards. 4970 5516 4971 4972 File: make.info, Node: Foreach Function, Next: If Function, Prev: File Name Functions, Up: Functions 4973 4974 The `foreach' Function 4975 ====================== 5517 `$(realpath NAMES...)' 5518 For each file name in NAMES return the canonical absolute name. A 5519 canonical name does not contain any `.' or `..' components, nor 5520 any repeated path separators (`/') or symlinks. In case of a 5521 failure the empty string is returned. Consult the `realpath(3)' 5522 documentation for a list of possible failure causes. 5523 5524 `$(abspath NAMES...)' 5525 For each file name in NAMES return an absolute name that does not 5526 contain any `.' or `..' components, nor any repeated path 5527 separators (`/'). Note that, in contrast to `realpath' function, 5528 `abspath' does not resolve symlinks and does not require the file 5529 names to refer to an existing file or directory. Use the 5530 `wildcard' function to test for existence. 5531 5532 5533 File: make.info, Node: Conditional Functions, Next: Foreach Function, Prev: File Name Functions, Up: Functions 5534 5535 8.4 Functions for Conditionals 5536 ============================== 5537 5538 There are three functions that provide conditional expansion. A key 5539 aspect of these functions is that not all of the arguments are expanded 5540 initially. Only those arguments which need to be expanded, will be 5541 expanded. 5542 5543 `$(if CONDITION,THEN-PART[,ELSE-PART])' 5544 The `if' function provides support for conditional expansion in a 5545 functional context (as opposed to the GNU `make' makefile 5546 conditionals such as `ifeq' (*note Syntax of Conditionals: 5547 Conditional Syntax.). 5548 5549 The first argument, CONDITION, first has all preceding and 5550 trailing whitespace stripped, then is expanded. If it expands to 5551 any non-empty string, then the condition is considered to be true. 5552 If it expands to an empty string, the condition is considered to 5553 be false. 5554 5555 If the condition is true then the second argument, THEN-PART, is 5556 evaluated and this is used as the result of the evaluation of the 5557 entire `if' function. 5558 5559 If the condition is false then the third argument, ELSE-PART, is 5560 evaluated and this is the result of the `if' function. If there is 5561 no third argument, the `if' function evaluates to nothing (the 5562 empty string). 5563 5564 Note that only one of the THEN-PART or the ELSE-PART will be 5565 evaluated, never both. Thus, either can contain side-effects 5566 (such as `shell' function calls, etc.) 5567 5568 `$(or CONDITION1[,CONDITION2[,CONDITION3...]])' 5569 The `or' function provides a "short-circuiting" OR operation. 5570 Each argument is expanded, in order. If an argument expands to a 5571 non-empty string the processing stops and the result of the 5572 expansion is that string. If, after all arguments are expanded, 5573 all of them are false (empty), then the result of the expansion is 5574 the empty string. 5575 5576 `$(and CONDITION1[,CONDITION2[,CONDITION3...]])' 5577 The `and' function provides a "short-circuiting" AND operation. 5578 Each argument is expanded, in order. If an argument expands to an 5579 empty string the processing stops and the result of the expansion 5580 is the empty string. If all arguments expand to a non-empty 5581 string then the result of the expansion is the expansion of the 5582 last argument. 5583 5584 5585 5586 File: make.info, Node: Foreach Function, Next: Call Function, Prev: Conditional Functions, Up: Functions 5587 5588 8.5 The `foreach' Function 5589 ========================== 4976 5590 4977 5591 The `foreach' function is very different from other functions. It … … 5045 5659 5046 5660 5047 File: make.info, Node: If Function, Next: Call Function, Prev: Foreach Function, Up: Functions 5048 5049 The `if' Function 5050 ================= 5051 5052 The `if' function provides support for conditional expansion in a 5053 functional context (as opposed to the GNU `make' makefile conditionals 5054 such as `ifeq' (*note Syntax of Conditionals: Conditional Syntax.). 5055 5056 An `if' function call can contain either two or three arguments: 5057 5058 $(if CONDITION,THEN-PART[,ELSE-PART]) 5059 5060 The first argument, CONDITION, first has all preceding and trailing 5061 whitespace stripped, then is expanded. If it expands to any non-empty 5062 string, then the condition is considered to be true. If it expands to 5063 an empty string, the condition is considered to be false. 5064 5065 If the condition is true then the second argument, THEN-PART, is 5066 evaluated and this is used as the result of the evaluation of the entire 5067 `if' function. 5068 5069 If the condition is false then the third argument, ELSE-PART, is 5070 evaluated and this is the result of the `if' function. If there is no 5071 third argument, the `if' function evaluates to nothing (the empty 5072 string). 5073 5074 Note that only one of the THEN-PART or the ELSE-PART will be 5075 evaluated, never both. Thus, either can contain side-effects (such as 5076 `shell' function calls, etc.) 5077 5078 5079 File: make.info, Node: Call Function, Next: Value Function, Prev: If Function, Up: Functions 5080 5081 The `call' Function 5082 =================== 5661 File: make.info, Node: Call Function, Next: Value Function, Prev: Foreach Function, Up: Functions 5662 5663 8.6 The `call' Function 5664 ======================= 5083 5665 5084 5666 The `call' function is unique in that it can be used to create new … … 5119 5701 5120 5702 reverse = $(2) $(1) 5121 5703 5122 5704 foo = $(call reverse,a,b) 5123 5705 … … 5128 5710 5129 5711 pathsearch = $(firstword $(wildcard $(addsuffix /$(1),$(subst :, ,$(PATH))))) 5130 5712 5131 5713 LS := $(call pathsearch,ls) 5132 5714 … … 5156 5738 File: make.info, Node: Value Function, Next: Eval Function, Prev: Call Function, Up: Functions 5157 5739 5158 The `value' Function5159 ==================== 5740 8.7 The `value' Function 5741 ======================== 5160 5742 5161 5743 The `value' function provides a way for you to use the value of a … … 5180 5762 5181 5763 FOO = $PATH 5182 5764 5183 5765 all: 5184 5766 @echo $(FOO) … … 5196 5778 File: make.info, Node: Eval Function, Next: Origin Function, Prev: Value Function, Up: Functions 5197 5779 5198 The `eval' Function5199 =================== 5780 8.8 The `eval' Function 5781 ======================= 5200 5782 5201 5783 The `eval' function is very special: it allows you to define new … … 5228 5810 5229 5811 PROGRAMS = server client 5230 5812 5231 5813 server_OBJS = server.o server_priv.o server_access.o 5232 5814 server_LIBS = priv protocol 5233 5815 5234 5816 client_OBJS = client.o client_api.o client_mem.o 5235 5817 client_LIBS = protocol 5236 5818 5237 5819 # Everything after this is generic 5238 5820 5239 5821 .PHONY: all 5240 5822 all: $(PROGRAMS) 5241 5823 5242 5824 define PROGRAM_template 5243 5825 $(1): $$($(1)_OBJS) $$($(1)_LIBS:%=-l%) 5244 5826 ALL_OBJS += $$($(1)_OBJS) 5245 5827 endef 5246 5828 5247 5829 $(foreach prog,$(PROGRAMS),$(eval $(call PROGRAM_template,$(prog)))) 5248 5830 5249 5831 $(PROGRAMS): 5250 5832 $(LINK.o) $^ $(LDLIBS) -o $@ 5251 5833 5252 5834 clean: 5253 5835 rm -f $(ALL_OBJS) $(PROGRAMS) 5254 5836 5255 5837 5256 File: make.info, Node: Origin Function, Next: ShellFunction, Prev: Eval Function, Up: Functions5257 5258 The `origin' Function5259 ===================== 5838 File: make.info, Node: Origin Function, Next: Flavor Function, Prev: Eval Function, Up: Functions 5839 5840 8.9 The `origin' Function 5841 ========================= 5260 5842 5261 5843 The `origin' function is unlike most other functions in that it does … … 5340 5922 5341 5923 5342 File: make.info, Node: Shell Function, Next: Make Control Functions, Prev: Origin Function, Up: Functions 5343 5344 The `shell' Function 5345 ==================== 5924 File: make.info, Node: Flavor Function, Next: Shell Function, Prev: Origin Function, Up: Functions 5925 5926 8.10 The `flavor' Function 5927 ========================== 5928 5929 The `flavor' function is unlike most other functions (and like `origin' 5930 function) in that it does not operate on the values of variables; it 5931 tells you something _about_ a variable. Specifically, it tells you the 5932 flavor of a variable (*note The Two Flavors of Variables: Flavors.). 5933 5934 The syntax of the `flavor' function is: 5935 5936 $(flavor VARIABLE) 5937 5938 Note that VARIABLE is the _name_ of a variable to inquire about; not 5939 a _reference_ to that variable. Therefore you would not normally use a 5940 `$' or parentheses when writing it. (You can, however, use a variable 5941 reference in the name if you want the name not to be a constant.) 5942 5943 The result of this function is a string that identifies the flavor 5944 of the variable VARIABLE: 5945 5946 `undefined' 5947 if VARIABLE was never defined. 5948 5949 `recursive' 5950 if VARIABLE is a recursively expanded variable. 5951 5952 `simple' 5953 if VARIABLE is a simply expanded variable. 5954 5955 5956 5957 File: make.info, Node: Shell Function, Next: Make Control Functions, Prev: Flavor Function, Up: Functions 5958 5959 8.11 The `shell' Function 5960 ========================= 5346 5961 5347 5962 The `shell' function is unlike any other function other than the … … 5374 5989 5375 5990 sets `files' to the expansion of `*.c'. Unless `make' is using a very 5376 strange shell, this has the same result as `$(wildcard *.c)'. 5991 strange shell, this has the same result as `$(wildcard *.c)' (as long 5992 as at least one `.c' file exists). 5377 5993 5378 5994 5379 5995 File: make.info, Node: Make Control Functions, Prev: Shell Function, Up: Functions 5380 5996 5381 Functions That Control Make5382 =========================== 5997 8.12 Functions That Control Make 5998 ================================ 5383 5999 5384 6000 These functions control the way make runs. Generally, they are used to … … 5403 6019 5404 6020 ERR = $(error found an error!) 5405 6021 5406 6022 .PHONY: err 5407 6023 err: ; $(ERR) … … 5418 6034 The result of the expansion of this function is the empty string. 5419 6035 6036 `$(info TEXT...)' 6037 This function does nothing more than print its (expanded) 6038 argument(s) to standard output. No makefile name or line number 6039 is added. The result of the expansion of this function is the 6040 empty string. 6041 5420 6042 5421 6043 File: make.info, Node: Running, Next: Implicit Rules, Prev: Functions, Up: Top 5422 6044 5423 How to Run `make'5424 ***************** 6045 9 How to Run `make' 6046 ******************* 5425 6047 5426 6048 A makefile that says how to recompile a program can be used in more … … 5468 6090 File: make.info, Node: Makefile Arguments, Next: Goals, Prev: Running, Up: Running 5469 6091 5470 Arguments to Specify the Makefile5471 ================================= 6092 9.1 Arguments to Specify the Makefile 6093 ===================================== 5472 6094 5473 6095 The way to specify the name of the makefile is with the `-f' or … … 5486 6108 File: make.info, Node: Goals, Next: Instead of Execution, Prev: Makefile Arguments, Up: Running 5487 6109 5488 Arguments to Specify the Goals5489 ============================== 6110 9.2 Arguments to Specify the Goals 6111 ================================== 5490 6112 5491 6113 The "goals" are the targets that `make' should strive ultimately to … … 5498 6120 program or programs they describe. If the first rule in the makefile 5499 6121 has several targets, only the first target in the rule becomes the 5500 default goal, not the whole list. 5501 5502 You can specify a different goal or goals with arguments to `make'. 5503 Use the name of the goal as an argument. If you specify several goals, 5504 `make' processes each of them in turn, in the order you name them. 6122 default goal, not the whole list. You can manage the selection of the 6123 default goal from within your makefile using the `.DEFAULT_GOAL' 6124 variable (*note Other Special Variables: Special Variables.). 6125 6126 You can also specify a different goal or goals with command-line 6127 arguments to `make'. Use the name of the goal as an argument. If you 6128 specify several goals, `make' processes each of them in turn, in the 6129 order you name them. 5505 6130 5506 6131 Any target in the makefile may be specified as a goal (unless it … … 5520 6145 5521 6146 sources = foo.c bar.c 5522 6147 5523 6148 ifneq ($(MAKECMDGOALS),clean) 5524 6149 include $(sources:.c=.d) … … 5600 6225 File: make.info, Node: Instead of Execution, Next: Avoiding Compilation, Prev: Goals, Up: Running 5601 6226 5602 Instead of Executing the Commands5603 ================================= 6227 9.3 Instead of Executing the Commands 6228 ===================================== 5604 6229 5605 6230 The makefile tells `make' how to tell whether a target is up to date, … … 5679 6304 File: make.info, Node: Avoiding Compilation, Next: Overriding, Prev: Instead of Execution, Up: Running 5680 6305 5681 Avoiding Recompilation of Some Files5682 ==================================== 6306 9.4 Avoiding Recompilation of Some Files 6307 ======================================== 5683 6308 5684 6309 Sometimes you may have changed a source file but you do not want to … … 5722 6347 File: make.info, Node: Overriding, Next: Testing, Prev: Avoiding Compilation, Up: Running 5723 6348 5724 Overriding Variables5725 ==================== 6349 9.5 Overriding Variables 6350 ======================== 5726 6351 5727 6352 An argument that contains `=' specifies the value of a variable: `V=X' … … 5774 6399 File: make.info, Node: Testing, Next: Options Summary, Prev: Overriding, Up: Running 5775 6400 5776 Testing the Compilation of a Program5777 ==================================== 6401 9.6 Testing the Compilation of a Program 6402 ======================================== 5778 6403 5779 6404 Normally, when an error happens in executing a shell command, `make' … … 5810 6435 File: make.info, Node: Options Summary, Prev: Testing, Up: Running 5811 6436 5812 Summary of Options5813 ================== 6437 9.7 Summary of Options 6438 ====================== 5814 6439 5815 6440 Here is a table of all the options `make' understands: … … 5824 6449 Consider all targets out-of-date. GNU `make' proceeds to consider 5825 6450 targets and their prerequisites using the normal algorithms; 5826 however, all these targets are remade, regardless of the status of 5827 their prerequisites. 6451 however, all targets so considered are always remade regardless of 6452 the status of their prerequisites. To avoid infinite recursion, if 6453 `MAKE_RESTARTS' (*note Other Special Variables: Special 6454 Variables.) is set to a number greater than 0 this option is 6455 disabled when considering whether to remake makefiles (*note How 6456 Makefiles Are Remade: Remaking Makefiles.). 5828 6457 5829 6458 `-C DIR' … … 5930 6559 floating-point number). With no argument, removes a previous load 5931 6560 limit. *Note Parallel Execution: Parallel. 6561 6562 `-L' 6563 `--check-symlink-times' 6564 On systems that support symbolic links, this option causes `make' 6565 to consider the timestamps on any symbolic links in addition to the 6566 timestamp on the file referenced by those links. When this option 6567 is provided, the most recent timestamp among the file and the 6568 symbolic links is taken as the modification time for this target 6569 file. 5932 6570 5933 6571 `-n' … … 6052 6690 File: make.info, Node: Implicit Rules, Next: Archives, Prev: Running, Up: Top 6053 6691 6054 Using Implicit Rules6055 ******************** 6692 10 Using Implicit Rules 6693 *********************** 6056 6694 6057 6695 Certain standard ways of remaking target files are used very often. For … … 6090 6728 * Chained Rules:: How to use a chain of implicit rules. 6091 6729 * Pattern Rules:: How to define new implicit rules. 6092 * Last Resort:: How to defin ing commands for rules6093 whichcannot find any.6730 * Last Resort:: How to define commands for rules which 6731 cannot find any. 6094 6732 * Suffix Rules:: The old-fashioned style of implicit rule. 6095 6733 * Implicit Rule Search:: The precise algorithm for applying … … 6099 6737 File: make.info, Node: Using Implicit, Next: Catalogue of Rules, Prev: Implicit Rules, Up: Implicit Rules 6100 6738 6101 Using Implicit Rules6102 ==================== 6739 10.1 Using Implicit Rules 6740 ========================= 6103 6741 6104 6742 To allow `make' to find a customary method for updating a target file, … … 6173 6811 File: make.info, Node: Catalogue of Rules, Next: Implicit Variables, Prev: Using Implicit, Up: Implicit Rules 6174 6812 6175 Catalogue of Implicit Rules6176 =========================== 6813 10.2 Catalogue of Implicit Rules 6814 ================================ 6177 6815 6178 6816 Here is a catalogue of predefined implicit rules which are always … … 6182 6820 `--no-builtin-rules' option cancels all predefined rules. 6183 6821 6822 This manual only documents the default rules available on POSIX-based 6823 operating systems. Other operating systems, such as VMS, Windows, 6824 OS/2, etc. may have different sets of default rules. To see the full 6825 list of default rules and variables available in your version of GNU 6826 `make', run `make -p' in a directory with no makefile. 6827 6184 6828 Not all of these rules will always be defined, even when the `-r' 6185 6829 option is not given. Many of the predefined implicit rules are … … 6187 6831 depends on the "suffix list" (the list of prerequisites of the special 6188 6832 target `.SUFFIXES'). The default suffix list is: `.out', `.a', `.ln', 6189 `.o', `.c', `.cc', `.C', `. p', `.f', `.F', `.r', `.y', `.l', `.s',6190 `. S', `.mod', `.sym', `.def', `.h', `.info', `.dvi', `.tex', `.texinfo',6191 `.texi ', `.txinfo', `.w', `.ch' `.web', `.sh', `.elc', `.el'. All of6192 the implicit rules described below whose prerequisites have one of 6193 these suffixes are actually suffix rules. If you modify the suffix 6194 list, the only predefined suffix rules in effect will be those named by 6195 one or two of the suffixes that are on the list you specify; rules 6196 whose suffixes fail to be on the list are disabled. *Note 6197 Old-Fashioned Suffix Rules: Suffix Rules, for full details on suffix 6198 rules.6833 `.o', `.c', `.cc', `.C', `.cpp', `.p', `.f', `.F', `.r', `.y', `.l', 6834 `.s', `.S', `.mod', `.sym', `.def', `.h', `.info', `.dvi', `.tex', 6835 `.texinfo', `.texi', `.txinfo', `.w', `.ch' `.web', `.sh', `.elc', 6836 `.el'. All of the implicit rules described below whose prerequisites 6837 have one of these suffixes are actually suffix rules. If you modify 6838 the suffix list, the only predefined suffix rules in effect will be 6839 those named by one or two of the suffixes that are on the list you 6840 specify; rules whose suffixes fail to be on the list are disabled. 6841 *Note Old-Fashioned Suffix Rules: Suffix Rules, for full details on 6842 suffix rules. 6199 6843 6200 6844 Compiling C programs … … 6203 6847 6204 6848 Compiling C++ programs 6205 `N.o' is made automatically from `N.cc' or `N.C' with a command of 6206 the form `$(CXX) -c $(CPPFLAGS) $(CXXFLAGS)'. We encourage you to 6207 use the suffix `.cc' for C++ source files instead of `.C'. 6849 `N.o' is made automatically from `N.cc', `N.cpp', or `N.C' with a 6850 command of the form `$(CXX) -c $(CPPFLAGS) $(CXXFLAGS)'. We 6851 encourage you to use the suffix `.cc' for C++ source files instead 6852 of `.C'. 6208 6853 6209 6854 Compiling Pascal programs … … 6379 7024 File: make.info, Node: Implicit Variables, Next: Chained Rules, Prev: Catalogue of Rules, Up: Implicit Rules 6380 7025 6381 Variables Used by Implicit Rules6382 ================================ 7026 10.3 Variables Used by Implicit Rules 7027 ===================================== 6383 7028 6384 7029 The commands in built-in implicit rules make liberal use of certain 6385 predefined variables. You can alter the se variables in the makefile,6386 with arguments to `make', or in the environment to alter how the 6387 implicit rules work without redefining the rules themselves. You can 6388 cancel all variables used by implicit rules with the `-R' or7030 predefined variables. You can alter the values of these variables in 7031 the makefile, with arguments to `make', or in the environment to alter 7032 how the implicit rules work without redefining the rules themselves. 7033 You can cancel all variables used by implicit rules with the `-R' or 6389 7034 `--no-builtin-variables' option. 6390 7035 … … 6406 7051 argument, separate them with spaces. 6407 7052 6408 Here is a table of variables used as names of programs in built-in 6409 rules: 7053 The following tables describe of some of the more commonly-used 7054 predefined variables. This list is not exhaustive, and the default 7055 values shown here may not be what are selected by `make' for your 7056 environment. To see the complete list of predefined variables for your 7057 instance of GNU `make' you can run `make -p' in a directory with no 7058 makefiles. 7059 7060 Here is a table of some of the more common variables used as names of 7061 programs in built-in rules: makefiles. 6410 7062 6411 7063 `AR' 6412 Archive-maintaining program; default `ar'. 7064 Archive-maintaining program; default `ar'. 6413 7065 6414 7066 `AS' 6415 Program for doing assembly; default `as'.7067 Program for compiling assembly files; default `as'. 6416 7068 6417 7069 `CC' 6418 Program for compiling C programs; default `cc'. 7070 Program for compiling C programs; default `cc'. 7071 7072 `CO' 7073 Program for checking out files from RCS; default `co'. 6419 7074 6420 7075 `CXX' 6421 Program for compiling C++ programs; default `g++'. 7076 Program for compiling C++ programs; default `g++'. 6422 7077 6423 7078 `CO' 6424 Program for extracting a file from RCS; default `co'. 7079 Program for extracting a file from RCS; default `co'. 6425 7080 6426 7081 `CPP' … … 6430 7085 `FC' 6431 7086 Program for compiling or preprocessing Fortran and Ratfor programs; 6432 default `f77'. 7087 default `f77'. 6433 7088 6434 7089 `GET' 6435 Program for extracting a file from SCCS; default `get'. 7090 Program for extracting a file from SCCS; default `get'. 6436 7091 6437 7092 `LEX' 6438 Program to use to turn Lex grammars into C programs or Ratfor 6439 programs; default `lex'. 7093 Program to use to turn Lex grammars into source code; default 7094 `lex'. 7095 7096 `YACC' 7097 Program to use to turn Yacc grammars into source code; default 7098 `yacc'. 7099 7100 `LINT' 7101 Program to use to run lint on source code; default `lint'. 7102 7103 `M2C' 7104 Program to use to compile Modula-2 source code; default `m2c'. 6440 7105 6441 7106 `PC' 6442 Program for compiling Pascal programs; default `pc'. 6443 6444 `YACC' 6445 Program to use to turn Yacc grammars into C programs; default 6446 `yacc'. 6447 6448 `YACCR' 6449 Program to use to turn Yacc grammars into Ratfor programs; default 6450 `yacc -r'. 7107 Program for compiling Pascal programs; default `pc'. 6451 7108 6452 7109 `MAKEINFO' 6453 7110 Program to convert a Texinfo source file into an Info file; default 6454 `makeinfo'. 7111 `makeinfo'. 6455 7112 6456 7113 `TEX' 6457 Program to make TeX DVI files from TeX source; default `tex'. 7114 Program to make TeX DVI files from TeX source; default `tex'. 6458 7115 6459 7116 `TEXI2DVI' 6460 7117 Program to make TeX DVI files from Texinfo source; default 6461 `texi2dvi'. 7118 `texi2dvi'. 6462 7119 6463 7120 `WEAVE' 6464 Program to translate Web into TeX; default `weave'. 7121 Program to translate Web into TeX; default `weave'. 6465 7122 6466 7123 `CWEAVE' 6467 Program to translate C Web into TeX; default `cweave'. 7124 Program to translate C Web into TeX; default `cweave'. 6468 7125 6469 7126 `TANGLE' 6470 Program to translate Web into Pascal; default `tangle'. 7127 Program to translate Web into Pascal; default `tangle'. 6471 7128 6472 7129 `CTANGLE' 6473 Program to translate C Web into C; default `ctangle'. 7130 Program to translate C Web into C; default `ctangle'. 6474 7131 6475 7132 `RM' 6476 Command to remove a file; default `rm -f'. 7133 Command to remove a file; default `rm -f'. 6477 7134 6478 7135 Here is a table of variables whose values are additional arguments … … 6513 7170 Extra flags to give to Lex. 6514 7171 7172 `YFLAGS' 7173 Extra flags to give to Yacc. 7174 6515 7175 `PFLAGS' 6516 7176 Extra flags to give to the Pascal compiler. … … 6519 7179 Extra flags to give to the Fortran compiler for Ratfor programs. 6520 7180 6521 ` YFLAGS'6522 Extra flags to give to Yacc.7181 `LINTFLAGS' 7182 Extra flags to give to lint. 6523 7183 6524 7184 6525 7185 File: make.info, Node: Chained Rules, Next: Pattern Rules, Prev: Implicit Variables, Up: Implicit Rules 6526 7186 6527 Chains of Implicit Rules6528 ======================== 7187 10.4 Chains of Implicit Rules 7188 ============================= 6529 7189 6530 7190 Sometimes a file can be made by a sequence of implicit rules. For … … 6578 7238 as a prerequisite of the special target `.PRECIOUS' to preserve 6579 7239 intermediate files made by implicit rules whose target patterns match 6580 that file's name; see *Note Interrupts::. 7240 that file's name; see *Note Interrupts::. 6581 7241 6582 7242 A chain can involve more than two implicit rules. For example, it is … … 6600 7260 earlier in the ordering of rules. 6601 7261 6602 6603 File: make.info, Node: Pattern Rules, Next: Last Resort, Prev: Chained Rules, Up: Implicit Rules6604 6605 Defining and Redefining Pattern Rules6606 =====================================6607 6608 You define an implicit rule by writing a "pattern rule". A pattern6609 rule looks like an ordinary rule, except that its target contains the6610 character `%' (exactly one of them). The target is considered a6611 pattern for matching file names; the `%' can match any nonempty6612 substring, while other characters match only themselves. The6613 prerequisites likewise use `%' to show how their names relate to the6614 target name.6615 6616 Thus, a pattern rule `%.o : %.c' says how to make any file `STEM.o'6617 from another file `STEM.c'.6618 6619 Note that expansion using `%' in pattern rules occurs *after* any6620 variable or function expansions, which take place when the makefile is6621 read. *Note How to Use Variables: Using Variables, and *Note Functions6622 for Transforming Text: Functions.6623 6624 * Menu:6625 6626 * Pattern Intro:: An introduction to pattern rules.6627 * Pattern Examples:: Examples of pattern rules.6628 * Automatic Variables:: How to use automatic variables in the6629 commands of implicit rules.6630 * Pattern Match:: How patterns match.6631 * Match-Anything Rules:: Precautions you should take prior to6632 defining rules that can match any6633 target file whatever.6634 * Canceling Rules:: How to override or cancel built-in rules.6635 6636 6637 File: make.info, Node: Pattern Intro, Next: Pattern Examples, Prev: Pattern Rules, Up: Pattern Rules6638 6639 Introduction to Pattern Rules6640 -----------------------------6641 6642 A pattern rule contains the character `%' (exactly one of them) in the6643 target; otherwise, it looks exactly like an ordinary rule. The target6644 is a pattern for matching file names; the `%' matches any nonempty6645 substring, while other characters match only themselves.6646 6647 For example, `%.c' as a pattern matches any file name that ends in6648 `.c'. `s.%.c' as a pattern matches any file name that starts with6649 `s.', ends in `.c' and is at least five characters long. (There must6650 be at least one character to match the `%'.) The substring that the6651 `%' matches is called the "stem".6652 6653 `%' in a prerequisite of a pattern rule stands for the same stem6654 that was matched by the `%' in the target. In order for the pattern6655 rule to apply, its target pattern must match the file name under6656 consideration, and its prerequisite patterns must name files that exist6657 or can be made. These files become prerequisites of the target.6658 6659 Thus, a rule of the form6660 6661 %.o : %.c ; COMMAND...6662 6663 specifies how to make a file `N.o', with another file `N.c' as its6664 prerequisite, provided that `N.c' exists or can be made.6665 6666 There may also be prerequisites that do not use `%'; such a6667 prerequisite attaches to every file made by this pattern rule. These6668 unvarying prerequisites are useful occasionally.6669 6670 A pattern rule need not have any prerequisites that contain `%', or6671 in fact any prerequisites at all. Such a rule is effectively a general6672 wildcard. It provides a way to make any file that matches the target6673 pattern. *Note Last Resort::.6674 6675 Pattern rules may have more than one target. Unlike normal rules,6676 this does not act as many different rules with the same prerequisites6677 and commands. If a pattern rule has multiple targets, `make' knows that6678 the rule's commands are responsible for making all of the targets. The6679 commands are executed only once to make all the targets. When searching6680 for a pattern rule to match a target, the target patterns of a rule6681 other than the one that matches the target in need of a rule are6682 incidental: `make' worries only about giving commands and prerequisites6683 to the file presently in question. However, when this file's commands6684 are run, the other targets are marked as having been updated themselves.6685 6686 The order in which pattern rules appear in the makefile is important6687 since this is the order in which they are considered. Of equally6688 applicable rules, only the first one found is used. The rules you6689 write take precedence over those that are built in. Note however, that6690 a rule whose prerequisites actually exist or are mentioned always takes6691 priority over a rule with prerequisites that must be made by chaining6692 other implicit rules.6693 6694 6695 File: make.info, Node: Pattern Examples, Next: Automatic Variables, Prev: Pattern Intro, Up: Pattern Rules6696 6697 Pattern Rule Examples6698 ---------------------6699 6700 Here are some examples of pattern rules actually predefined in `make'.6701 First, the rule that compiles `.c' files into `.o' files:6702 6703 %.o : %.c6704 $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@6705 6706 defines a rule that can make any file `X.o' from `X.c'. The command6707 uses the automatic variables `$@' and `$<' to substitute the names of6708 the target file and the source file in each case where the rule applies6709 (*note Automatic Variables::).6710 6711 Here is a second built-in rule:6712 6713 % :: RCS/%,v6714 $(CO) $(COFLAGS) $<6715 6716 defines a rule that can make any file `X' whatsoever from a6717 corresponding file `X,v' in the subdirectory `RCS'. Since the target6718 is `%', this rule will apply to any file whatever, provided the6719 appropriate prerequisite file exists. The double colon makes the rule6720 "terminal", which means that its prerequisite may not be an intermediate6721 file (*note Match-Anything Pattern Rules: Match-Anything Rules.).6722 6723 This pattern rule has two targets:6724 6725 %.tab.c %.tab.h: %.y6726 bison -d $<6727 6728 This tells `make' that the command `bison -d X.y' will make both6729 `X.tab.c' and `X.tab.h'. If the file `foo' depends on the files6730 `parse.tab.o' and `scan.o' and the file `scan.o' depends on the file6731 `parse.tab.h', when `parse.y' is changed, the command `bison -d parse.y'6732 will be executed only once, and the prerequisites of both `parse.tab.o'6733 and `scan.o' will be satisfied. (Presumably the file `parse.tab.o'6734 will be recompiled from `parse.tab.c' and the file `scan.o' from6735 `scan.c', while `foo' is linked from `parse.tab.o', `scan.o', and its6736 other prerequisites, and it will execute happily ever after.)6737 6738 6739 File: make.info, Node: Automatic Variables, Next: Pattern Match, Prev: Pattern Examples, Up: Pattern Rules6740 6741 Automatic Variables6742 -------------------6743 6744 Suppose you are writing a pattern rule to compile a `.c' file into a6745 `.o' file: how do you write the `cc' command so that it operates on the6746 right source file name? You cannot write the name in the command,6747 because the name is different each time the implicit rule is applied.6748 6749 What you do is use a special feature of `make', the "automatic6750 variables". These variables have values computed afresh for each rule6751 that is executed, based on the target and prerequisites of the rule.6752 In this example, you would use `$@' for the object file name and `$<'6753 for the source file name.6754 6755 It's very important that you recognize the limited scope in which6756 automatic variable values are available: they only have values within6757 the command script. In particular, you cannot use them anywhere within6758 the target or prerequisite lists of a rule; they have no value there6759 and will expand to the empty string. A common mistake is attempting to6760 use `$@' within the prerequisites list in a rule; this will not work.6761 However, see below for information on the SysV-style `$$@' variables.6762 6763 Here is a table of automatic variables:6764 6765 `$@'6766 The file name of the target of the rule. If the target is an6767 archive member, then `$@' is the name of the archive file. In a6768 pattern rule that has multiple targets (*note Introduction to6769 Pattern Rules: Pattern Intro.), `$@' is the name of whichever6770 target caused the rule's commands to be run.6771 6772 `$%'6773 The target member name, when the target is an archive member.6774 *Note Archives::. For example, if the target is `foo.a(bar.o)'6775 then `$%' is `bar.o' and `$@' is `foo.a'. `$%' is empty when the6776 target is not an archive member.6777 6778 `$<'6779 The name of the first prerequisite. If the target got its6780 commands from an implicit rule, this will be the first6781 prerequisite added by the implicit rule (*note Implicit Rules::).6782 6783 `$?'6784 The names of all the prerequisites that are newer than the target,6785 with spaces between them. For prerequisites which are archive6786 members, only the member named is used (*note Archives::).6787 6788 `$^'6789 The names of all the prerequisites, with spaces between them. For6790 prerequisites which are archive members, only the member named is6791 used (*note Archives::). A target has only one prerequisite on6792 each other file it depends on, no matter how many times each file6793 is listed as a prerequisite. So if you list a prerequisite more6794 than once for a target, the value of `$^' contains just one copy6795 of the name.6796 6797 `$+'6798 This is like `$^', but prerequisites listed more than once are6799 duplicated in the order they were listed in the makefile. This is6800 primarily useful for use in linking commands where it is6801 meaningful to repeat library file names in a particular order.6802 6803 `$*'6804 The stem with which an implicit rule matches (*note How Patterns6805 Match: Pattern Match.). If the target is `dir/a.foo.b' and the6806 target pattern is `a.%.b' then the stem is `dir/foo'. The stem is6807 useful for constructing names of related files.6808 6809 In a static pattern rule, the stem is part of the file name that6810 matched the `%' in the target pattern.6811 6812 In an explicit rule, there is no stem; so `$*' cannot be determined6813 in that way. Instead, if the target name ends with a recognized6814 suffix (*note Old-Fashioned Suffix Rules: Suffix Rules.), `$*' is6815 set to the target name minus the suffix. For example, if the6816 target name is `foo.c', then `$*' is set to `foo', since `.c' is a6817 suffix. GNU `make' does this bizarre thing only for compatibility6818 with other implementations of `make'. You should generally avoid6819 using `$*' except in implicit rules or static pattern rules.6820 6821 If the target name in an explicit rule does not end with a6822 recognized suffix, `$*' is set to the empty string for that rule.6823 6824 `$?' is useful even in explicit rules when you wish to operate on6825 only the prerequisites that have changed. For example, suppose that an6826 archive named `lib' is supposed to contain copies of several object6827 files. This rule copies just the changed object files into the archive:6828 6829 lib: foo.o bar.o lose.o win.o6830 ar r lib $?6831 6832 Of the variables listed above, four have values that are single file6833 names, and three have values that are lists of file names. These seven6834 have variants that get just the file's directory name or just the file6835 name within the directory. The variant variables' names are formed by6836 appending `D' or `F', respectively. These variants are semi-obsolete6837 in GNU `make' since the functions `dir' and `notdir' can be used to get6838 a similar effect (*note Functions for File Names: File Name6839 Functions.). Note, however, that the `D' variants all omit the6840 trailing slash which always appears in the output of the `dir'6841 function. Here is a table of the variants:6842 6843 `$(@D)'6844 The directory part of the file name of the target, with the6845 trailing slash removed. If the value of `$@' is `dir/foo.o' then6846 `$(@D)' is `dir'. This value is `.' if `$@' does not contain a6847 slash.6848 6849 `$(@F)'6850 The file-within-directory part of the file name of the target. If6851 the value of `$@' is `dir/foo.o' then `$(@F)' is `foo.o'. `$(@F)'6852 is equivalent to `$(notdir $@)'.6853 6854 `$(*D)'6855 `$(*F)'6856 The directory part and the file-within-directory part of the stem;6857 `dir' and `foo' in this example.6858 6859 `$(%D)'6860 `$(%F)'6861 The directory part and the file-within-directory part of the target6862 archive member name. This makes sense only for archive member6863 targets of the form `ARCHIVE(MEMBER)' and is useful only when6864 MEMBER may contain a directory name. (*Note Archive Members as6865 Targets: Archive Members.)6866 6867 `$(<D)'6868 `$(<F)'6869 The directory part and the file-within-directory part of the first6870 prerequisite.6871 6872 `$(^D)'6873 `$(^F)'6874 Lists of the directory parts and the file-within-directory parts6875 of all prerequisites.6876 6877 `$(+D)'6878 `$(+F)'6879 Lists of the directory parts and the file-within-directory parts6880 of all prerequisites, including multiple instances of duplicated6881 prerequisites.6882 6883 `$(?D)'6884 `$(?F)'6885 Lists of the directory parts and the file-within-directory parts of6886 all prerequisites that are newer than the target.6887 6888 Note that we use a special stylistic convention when we talk about6889 these automatic variables; we write "the value of `$<'", rather than6890 "the variable `<'" as we would write for ordinary variables such as6891 `objects' and `CFLAGS'. We think this convention looks more natural in6892 this special case. Please do not assume it has a deep significance;6893 `$<' refers to the variable named `<' just as `$(CFLAGS)' refers to the6894 variable named `CFLAGS'. You could just as well use `$(<)' in place of6895 `$<'.6896 6897 GNU `make' provides support for the SysV `make' feature that allows6898 special variable references `$$@', `$$(@D)', and `$$(@F)' (note the6899 required double-"$"!) to appear with the _prerequisites list_ (normal6900 automatic variables are available only within a command script). When6901 appearing in a prerequisites list, these variables are expanded to the6902 name of the target, the directory component of the target, and the file6903 component of the target, respectively.6904 6905 Note that these variables are available only within explicit and6906 static pattern (*note Static Pattern Rules: Static Pattern.) rules;6907 they have no special significance within implicit (suffix or pattern)6908 rules. Also note that while SysV `make' actually expands its entire6909 prerequisite list _twice_, GNU `make' does not behave this way: instead6910 it simply expands these special variables without re-expanding any6911 other part of the prerequisites list.6912 6913 This somewhat bizarre feature is included only to provide some6914 compatibility with SysV makefiles. In a native GNU `make' file there6915 are other ways to accomplish the same results. This feature is6916 disabled if the special pseudo target `.POSIX' is defined.6917 6918 6919 File: make.info, Node: Pattern Match, Next: Match-Anything Rules, Prev: Automatic Variables, Up: Pattern Rules6920 6921 How Patterns Match6922 ------------------6923 6924 A target pattern is composed of a `%' between a prefix and a suffix,6925 either or both of which may be empty. The pattern matches a file name6926 only if the file name starts with the prefix and ends with the suffix,6927 without overlap. The text between the prefix and the suffix is called6928 the "stem". Thus, when the pattern `%.o' matches the file name6929 `test.o', the stem is `test'. The pattern rule prerequisites are6930 turned into actual file names by substituting the stem for the character6931 `%'. Thus, if in the same example one of the prerequisites is written6932 as `%.c', it expands to `test.c'.6933 6934 When the target pattern does not contain a slash (and it usually does6935 not), directory names in the file names are removed from the file name6936 before it is compared with the target prefix and suffix. After the6937 comparison of the file name to the target pattern, the directory names,6938 along with the slash that ends them, are added on to the prerequisite6939 file names generated from the pattern rule's prerequisite patterns and6940 the file name. The directories are ignored only for the purpose of6941 finding an implicit rule to use, not in the application of that rule.6942 Thus, `e%t' matches the file name `src/eat', with `src/a' as the stem.6943 When prerequisites are turned into file names, the directories from the6944 stem are added at the front, while the rest of the stem is substituted6945 for the `%'. The stem `src/a' with a prerequisite pattern `c%r' gives6946 the file name `src/car'.6947 6948 6949 File: make.info, Node: Match-Anything Rules, Next: Canceling Rules, Prev: Pattern Match, Up: Pattern Rules6950 6951 Match-Anything Pattern Rules6952 ----------------------------6953 6954 When a pattern rule's target is just `%', it matches any file name6955 whatever. We call these rules "match-anything" rules. They are very6956 useful, but it can take a lot of time for `make' to think about them,6957 because it must consider every such rule for each file name listed6958 either as a target or as a prerequisite.6959 6960 Suppose the makefile mentions `foo.c'. For this target, `make'6961 would have to consider making it by linking an object file `foo.c.o',6962 or by C compilation-and-linking in one step from `foo.c.c', or by6963 Pascal compilation-and-linking from `foo.c.p', and many other6964 possibilities.6965 6966 We know these possibilities are ridiculous since `foo.c' is a C6967 source file, not an executable. If `make' did consider these6968 possibilities, it would ultimately reject them, because files such as6969 `foo.c.o' and `foo.c.p' would not exist. But these possibilities are so6970 numerous that `make' would run very slowly if it had to consider them.6971 6972 To gain speed, we have put various constraints on the way `make'6973 considers match-anything rules. There are two different constraints6974 that can be applied, and each time you define a match-anything rule you6975 must choose one or the other for that rule.6976 6977 One choice is to mark the match-anything rule as "terminal" by6978 defining it with a double colon. When a rule is terminal, it does not6979 apply unless its prerequisites actually exist. Prerequisites that6980 could be made with other implicit rules are not good enough. In other6981 words, no further chaining is allowed beyond a terminal rule.6982 6983 For example, the built-in implicit rules for extracting sources from6984 RCS and SCCS files are terminal; as a result, if the file `foo.c,v' does6985 not exist, `make' will not even consider trying to make it as an6986 intermediate file from `foo.c,v.o' or from `RCS/SCCS/s.foo.c,v'. RCS6987 and SCCS files are generally ultimate source files, which should not be6988 remade from any other files; therefore, `make' can save time by not6989 looking for ways to remake them.6990 6991 If you do not mark the match-anything rule as terminal, then it is6992 nonterminal. A nonterminal match-anything rule cannot apply to a file6993 name that indicates a specific type of data. A file name indicates a6994 specific type of data if some non-match-anything implicit rule target6995 matches it.6996 6997 For example, the file name `foo.c' matches the target for the pattern6998 rule `%.c : %.y' (the rule to run Yacc). Regardless of whether this6999 rule is actually applicable (which happens only if there is a file7000 `foo.y'), the fact that its target matches is enough to prevent7001 consideration of any nonterminal match-anything rules for the file7002 `foo.c'. Thus, `make' will not even consider trying to make `foo.c' as7003 an executable file from `foo.c.o', `foo.c.c', `foo.c.p', etc.7004 7005 The motivation for this constraint is that nonterminal match-anything7006 rules are used for making files containing specific types of data (such7007 as executable files) and a file name with a recognized suffix indicates7008 some other specific type of data (such as a C source file).7009 7010 Special built-in dummy pattern rules are provided solely to recognize7011 certain file names so that nonterminal match-anything rules will not be7012 considered. These dummy rules have no prerequisites and no commands,7013 and they are ignored for all other purposes. For example, the built-in7014 implicit rule7015 7016 %.p :7017 7018 exists to make sure that Pascal source files such as `foo.p' match a7019 specific target pattern and thereby prevent time from being wasted7020 looking for `foo.p.o' or `foo.p.c'.7021 7022 Dummy pattern rules such as the one for `%.p' are made for every7023 suffix listed as valid for use in suffix rules (*note Old-Fashioned7024 Suffix Rules: Suffix Rules.).7025 7026 7027 File: make.info, Node: Canceling Rules, Prev: Match-Anything Rules, Up: Pattern Rules7028 7029 Canceling Implicit Rules7030 ------------------------7031 7032 You can override a built-in implicit rule (or one you have defined7033 yourself) by defining a new pattern rule with the same target and7034 prerequisites, but different commands. When the new rule is defined,7035 the built-in one is replaced. The new rule's position in the sequence7036 of implicit rules is determined by where you write the new rule.7037 7038 You can cancel a built-in implicit rule by defining a pattern rule7039 with the same target and prerequisites, but no commands. For example,7040 the following would cancel the rule that runs the assembler:7041 7042 %.o : %.s7043 7044 7045 File: make.info, Node: Last Resort, Next: Suffix Rules, Prev: Pattern Rules, Up: Implicit Rules7046 7047 Defining Last-Resort Default Rules7048 ==================================7049 7050 You can define a last-resort implicit rule by writing a terminal7051 match-anything pattern rule with no prerequisites (*note Match-Anything7052 Rules::). This is just like any other pattern rule; the only thing7053 special about it is that it will match any target. So such a rule's7054 commands are used for all targets and prerequisites that have no7055 commands of their own and for which no other implicit rule applies.7056 7057 For example, when testing a makefile, you might not care if the7058 source files contain real data, only that they exist. Then you might7059 do this:7060 7061 %::7062 touch $@7063 7064 to cause all the source files needed (as prerequisites) to be created7065 automatically.7066 7067 You can instead define commands to be used for targets for which7068 there are no rules at all, even ones which don't specify commands. You7069 do this by writing a rule for the target `.DEFAULT'. Such a rule's7070 commands are used for all prerequisites which do not appear as targets7071 in any explicit rule, and for which no implicit rule applies.7072 Naturally, there is no `.DEFAULT' rule unless you write one.7073 7074 If you use `.DEFAULT' with no commands or prerequisites:7075 7076 .DEFAULT:7077 7078 the commands previously stored for `.DEFAULT' are cleared. Then `make'7079 acts as if you had never defined `.DEFAULT' at all.7080 7081 If you do not want a target to get the commands from a match-anything7082 pattern rule or `.DEFAULT', but you also do not want any commands to be7083 run for the target, you can give it empty commands (*note Defining7084 Empty Commands: Empty Commands.).7085 7086 You can use a last-resort rule to override part of another makefile.7087 *Note Overriding Part of Another Makefile: Overriding Makefiles.7088 7089 7090 File: make.info, Node: Suffix Rules, Next: Implicit Rule Search, Prev: Last Resort, Up: Implicit Rules7091 7092 Old-Fashioned Suffix Rules7093 ==========================7094 7095 "Suffix rules" are the old-fashioned way of defining implicit rules for7096 `make'. Suffix rules are obsolete because pattern rules are more7097 general and clearer. They are supported in GNU `make' for7098 compatibility with old makefiles. They come in two kinds:7099 "double-suffix" and "single-suffix".7100 7101 A double-suffix rule is defined by a pair of suffixes: the target7102 suffix and the source suffix. It matches any file whose name ends with7103 the target suffix. The corresponding implicit prerequisite is made by7104 replacing the target suffix with the source suffix in the file name. A7105 two-suffix rule whose target and source suffixes are `.o' and `.c' is7106 equivalent to the pattern rule `%.o : %.c'.7107 7108 A single-suffix rule is defined by a single suffix, which is the7109 source suffix. It matches any file name, and the corresponding implicit7110 prerequisite name is made by appending the source suffix. A7111 single-suffix rule whose source suffix is `.c' is equivalent to the7112 pattern rule `% : %.c'.7113 7114 Suffix rule definitions are recognized by comparing each rule's7115 target against a defined list of known suffixes. When `make' sees a7116 rule whose target is a known suffix, this rule is considered a7117 single-suffix rule. When `make' sees a rule whose target is two known7118 suffixes concatenated, this rule is taken as a double-suffix rule.7119 7120 For example, `.c' and `.o' are both on the default list of known7121 suffixes. Therefore, if you define a rule whose target is `.c.o',7122 `make' takes it to be a double-suffix rule with source suffix `.c' and7123 target suffix `.o'. Here is the old-fashioned way to define the rule7124 for compiling a C source file:7125 7126 .c.o:7127 $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<7128 7129 Suffix rules cannot have any prerequisites of their own. If they7130 have any, they are treated as normal files with funny names, not as7131 suffix rules. Thus, the rule:7132 7133 .c.o: foo.h7134 $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<7135 7136 tells how to make the file `.c.o' from the prerequisite file `foo.h',7137 and is not at all like the pattern rule:7138 7139 %.o: %.c foo.h7140 $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<7141 7142 which tells how to make `.o' files from `.c' files, and makes all `.o'7143 files using this pattern rule also depend on `foo.h'.7144 7145 Suffix rules with no commands are also meaningless. They do not7146 remove previous rules as do pattern rules with no commands (*note7147 Canceling Implicit Rules: Canceling Rules.). They simply enter the7148 suffix or pair of suffixes concatenated as a target in the data base.7149 7150 The known suffixes are simply the names of the prerequisites of the7151 special target `.SUFFIXES'. You can add your own suffixes by writing a7152 rule for `.SUFFIXES' that adds more prerequisites, as in:7153 7154 .SUFFIXES: .hack .win7155 7156 which adds `.hack' and `.win' to the end of the list of suffixes.7157 7158 If you wish to eliminate the default known suffixes instead of just7159 adding to them, write a rule for `.SUFFIXES' with no prerequisites. By7160 special dispensation, this eliminates all existing prerequisites of7161 `.SUFFIXES'. You can then write another rule to add the suffixes you7162 want. For example,7163 7164 .SUFFIXES: # Delete the default suffixes7165 .SUFFIXES: .c .o .h # Define our suffix list7166 7167 The `-r' or `--no-builtin-rules' flag causes the default list of7168 suffixes to be empty.7169 7170 The variable `SUFFIXES' is defined to the default list of suffixes7171 before `make' reads any makefiles. You can change the list of suffixes7172 with a rule for the special target `.SUFFIXES', but that does not alter7173 this variable.7174 -
vendor/gnumake/current/doc/make.info-2
r152 r501 1 This is make.info, produced by makeinfo version 4.6 from make.texi. 1 This is make.info, produced by makeinfo version 4.8 from make.texi. 2 3 This file documents the GNU `make' utility, which determines 4 automatically which pieces of a large program need to be recompiled, 5 and issues the commands to recompile them. 6 7 This is Edition 0.70, last updated 1 April 2006, of `The GNU Make 8 Manual', for GNU `make' version 3.81. 9 10 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 11 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006 Free Software 12 Foundation, Inc. 13 14 Permission is granted to copy, distribute and/or modify this 15 document under the terms of the GNU Free Documentation License, 16 Version 1.2 or any later version published by the Free Software 17 Foundation; with no Invariant Sections, with the Front-Cover Texts 18 being "A GNU Manual," and with the Back-Cover Texts as in (a) 19 below. A copy of the license is included in the section entitled 20 "GNU Free Documentation License." 21 22 (a) The FSF's Back-Cover Text is: "You have freedom to copy and 23 modify this GNU Manual, like GNU software. Copies published by 24 the Free Software Foundation raise funds for GNU development." 2 25 3 26 INFO-DIR-SECTION GNU Packages … … 6 29 END-INFO-DIR-ENTRY 7 30 8 This file documents the GNU Make utility, which determines 9 automatically which pieces of a large program need to be recompiled, 10 and issues the commands to recompile them. 11 12 This is Edition 0.61, last updated 02 May 2003, of `The GNU Make 13 Manual', for `make', Version 3.81. 14 15 Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 16 1998, 1999, 2000, 2002, 2003, 2004 Free Software Foundation, Inc. 17 18 Permission is granted to copy, distribute and/or modify this document 19 under the terms of the GNU Free Documentation License, Version 1.1 or 20 any later version published by the Free Software Foundation; with no 21 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover 22 Texts. A copy of the license is included in the section entitled "GNU 23 Free Documentation License". 31 32 File: make.info, Node: Pattern Rules, Next: Last Resort, Prev: Chained Rules, Up: Implicit Rules 33 34 10.5 Defining and Redefining Pattern Rules 35 ========================================== 36 37 You define an implicit rule by writing a "pattern rule". A pattern 38 rule looks like an ordinary rule, except that its target contains the 39 character `%' (exactly one of them). The target is considered a 40 pattern for matching file names; the `%' can match any nonempty 41 substring, while other characters match only themselves. The 42 prerequisites likewise use `%' to show how their names relate to the 43 target name. 44 45 Thus, a pattern rule `%.o : %.c' says how to make any file `STEM.o' 46 from another file `STEM.c'. 47 48 Note that expansion using `%' in pattern rules occurs *after* any 49 variable or function expansions, which take place when the makefile is 50 read. *Note How to Use Variables: Using Variables, and *Note Functions 51 for Transforming Text: Functions. 52 53 * Menu: 54 55 * Pattern Intro:: An introduction to pattern rules. 56 * Pattern Examples:: Examples of pattern rules. 57 * Automatic Variables:: How to use automatic variables in the 58 commands of implicit rules. 59 * Pattern Match:: How patterns match. 60 * Match-Anything Rules:: Precautions you should take prior to 61 defining rules that can match any 62 target file whatever. 63 * Canceling Rules:: How to override or cancel built-in rules. 64 65 66 File: make.info, Node: Pattern Intro, Next: Pattern Examples, Prev: Pattern Rules, Up: Pattern Rules 67 68 10.5.1 Introduction to Pattern Rules 69 ------------------------------------ 70 71 A pattern rule contains the character `%' (exactly one of them) in the 72 target; otherwise, it looks exactly like an ordinary rule. The target 73 is a pattern for matching file names; the `%' matches any nonempty 74 substring, while other characters match only themselves. 75 76 For example, `%.c' as a pattern matches any file name that ends in 77 `.c'. `s.%.c' as a pattern matches any file name that starts with 78 `s.', ends in `.c' and is at least five characters long. (There must 79 be at least one character to match the `%'.) The substring that the 80 `%' matches is called the "stem". 81 82 `%' in a prerequisite of a pattern rule stands for the same stem 83 that was matched by the `%' in the target. In order for the pattern 84 rule to apply, its target pattern must match the file name under 85 consideration and all of its prerequisites (after pattern substitution) 86 must name files that exist or can be made. These files become 87 prerequisites of the target. 88 89 Thus, a rule of the form 90 91 %.o : %.c ; COMMAND... 92 93 specifies how to make a file `N.o', with another file `N.c' as its 94 prerequisite, provided that `N.c' exists or can be made. 95 96 There may also be prerequisites that do not use `%'; such a 97 prerequisite attaches to every file made by this pattern rule. These 98 unvarying prerequisites are useful occasionally. 99 100 A pattern rule need not have any prerequisites that contain `%', or 101 in fact any prerequisites at all. Such a rule is effectively a general 102 wildcard. It provides a way to make any file that matches the target 103 pattern. *Note Last Resort::. 104 105 Pattern rules may have more than one target. Unlike normal rules, 106 this does not act as many different rules with the same prerequisites 107 and commands. If a pattern rule has multiple targets, `make' knows that 108 the rule's commands are responsible for making all of the targets. The 109 commands are executed only once to make all the targets. When searching 110 for a pattern rule to match a target, the target patterns of a rule 111 other than the one that matches the target in need of a rule are 112 incidental: `make' worries only about giving commands and prerequisites 113 to the file presently in question. However, when this file's commands 114 are run, the other targets are marked as having been updated themselves. 115 116 The order in which pattern rules appear in the makefile is important 117 since this is the order in which they are considered. Of equally 118 applicable rules, only the first one found is used. The rules you 119 write take precedence over those that are built in. Note however, that 120 a rule whose prerequisites actually exist or are mentioned always takes 121 priority over a rule with prerequisites that must be made by chaining 122 other implicit rules. 123 124 125 File: make.info, Node: Pattern Examples, Next: Automatic Variables, Prev: Pattern Intro, Up: Pattern Rules 126 127 10.5.2 Pattern Rule Examples 128 ---------------------------- 129 130 Here are some examples of pattern rules actually predefined in `make'. 131 First, the rule that compiles `.c' files into `.o' files: 132 133 %.o : %.c 134 $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@ 135 136 defines a rule that can make any file `X.o' from `X.c'. The command 137 uses the automatic variables `$@' and `$<' to substitute the names of 138 the target file and the source file in each case where the rule applies 139 (*note Automatic Variables::). 140 141 Here is a second built-in rule: 142 143 % :: RCS/%,v 144 $(CO) $(COFLAGS) $< 145 146 defines a rule that can make any file `X' whatsoever from a 147 corresponding file `X,v' in the subdirectory `RCS'. Since the target 148 is `%', this rule will apply to any file whatever, provided the 149 appropriate prerequisite file exists. The double colon makes the rule 150 "terminal", which means that its prerequisite may not be an intermediate 151 file (*note Match-Anything Pattern Rules: Match-Anything Rules.). 152 153 This pattern rule has two targets: 154 155 %.tab.c %.tab.h: %.y 156 bison -d $< 157 158 This tells `make' that the command `bison -d X.y' will make both 159 `X.tab.c' and `X.tab.h'. If the file `foo' depends on the files 160 `parse.tab.o' and `scan.o' and the file `scan.o' depends on the file 161 `parse.tab.h', when `parse.y' is changed, the command `bison -d parse.y' 162 will be executed only once, and the prerequisites of both `parse.tab.o' 163 and `scan.o' will be satisfied. (Presumably the file `parse.tab.o' 164 will be recompiled from `parse.tab.c' and the file `scan.o' from 165 `scan.c', while `foo' is linked from `parse.tab.o', `scan.o', and its 166 other prerequisites, and it will execute happily ever after.) 167 168 169 File: make.info, Node: Automatic Variables, Next: Pattern Match, Prev: Pattern Examples, Up: Pattern Rules 170 171 10.5.3 Automatic Variables 172 -------------------------- 173 174 Suppose you are writing a pattern rule to compile a `.c' file into a 175 `.o' file: how do you write the `cc' command so that it operates on the 176 right source file name? You cannot write the name in the command, 177 because the name is different each time the implicit rule is applied. 178 179 What you do is use a special feature of `make', the "automatic 180 variables". These variables have values computed afresh for each rule 181 that is executed, based on the target and prerequisites of the rule. 182 In this example, you would use `$@' for the object file name and `$<' 183 for the source file name. 184 185 It's very important that you recognize the limited scope in which 186 automatic variable values are available: they only have values within 187 the command script. In particular, you cannot use them anywhere within 188 the target list of a rule; they have no value there and will expand to 189 the empty string. Also, they cannot be accessed directly within the 190 prerequisite list of a rule. A common mistake is attempting to use 191 `$@' within the prerequisites list; this will not work. However, there 192 is a special feature of GNU `make', secondary expansion (*note 193 Secondary Expansion::), which will allow automatic variable values to 194 be used in prerequisite lists. 195 196 Here is a table of automatic variables: 197 198 `$@' 199 The file name of the target of the rule. If the target is an 200 archive member, then `$@' is the name of the archive file. In a 201 pattern rule that has multiple targets (*note Introduction to 202 Pattern Rules: Pattern Intro.), `$@' is the name of whichever 203 target caused the rule's commands to be run. 204 205 `$%' 206 The target member name, when the target is an archive member. 207 *Note Archives::. For example, if the target is `foo.a(bar.o)' 208 then `$%' is `bar.o' and `$@' is `foo.a'. `$%' is empty when the 209 target is not an archive member. 210 211 `$<' 212 The name of the first prerequisite. If the target got its 213 commands from an implicit rule, this will be the first 214 prerequisite added by the implicit rule (*note Implicit Rules::). 215 216 `$?' 217 The names of all the prerequisites that are newer than the target, 218 with spaces between them. For prerequisites which are archive 219 members, only the member named is used (*note Archives::). 220 221 `$^' 222 The names of all the prerequisites, with spaces between them. For 223 prerequisites which are archive members, only the member named is 224 used (*note Archives::). A target has only one prerequisite on 225 each other file it depends on, no matter how many times each file 226 is listed as a prerequisite. So if you list a prerequisite more 227 than once for a target, the value of `$^' contains just one copy 228 of the name. This list does *not* contain any of the order-only 229 prerequisites; for those see the `$|' variable, below. 230 231 `$+' 232 This is like `$^', but prerequisites listed more than once are 233 duplicated in the order they were listed in the makefile. This is 234 primarily useful for use in linking commands where it is 235 meaningful to repeat library file names in a particular order. 236 237 `$|' 238 The names of all the order-only prerequisites, with spaces between 239 them. 240 241 `$*' 242 The stem with which an implicit rule matches (*note How Patterns 243 Match: Pattern Match.). If the target is `dir/a.foo.b' and the 244 target pattern is `a.%.b' then the stem is `dir/foo'. The stem is 245 useful for constructing names of related files. 246 247 In a static pattern rule, the stem is part of the file name that 248 matched the `%' in the target pattern. 249 250 In an explicit rule, there is no stem; so `$*' cannot be determined 251 in that way. Instead, if the target name ends with a recognized 252 suffix (*note Old-Fashioned Suffix Rules: Suffix Rules.), `$*' is 253 set to the target name minus the suffix. For example, if the 254 target name is `foo.c', then `$*' is set to `foo', since `.c' is a 255 suffix. GNU `make' does this bizarre thing only for compatibility 256 with other implementations of `make'. You should generally avoid 257 using `$*' except in implicit rules or static pattern rules. 258 259 If the target name in an explicit rule does not end with a 260 recognized suffix, `$*' is set to the empty string for that rule. 261 262 `$?' is useful even in explicit rules when you wish to operate on 263 only the prerequisites that have changed. For example, suppose that an 264 archive named `lib' is supposed to contain copies of several object 265 files. This rule copies just the changed object files into the archive: 266 267 lib: foo.o bar.o lose.o win.o 268 ar r lib $? 269 270 Of the variables listed above, four have values that are single file 271 names, and three have values that are lists of file names. These seven 272 have variants that get just the file's directory name or just the file 273 name within the directory. The variant variables' names are formed by 274 appending `D' or `F', respectively. These variants are semi-obsolete 275 in GNU `make' since the functions `dir' and `notdir' can be used to get 276 a similar effect (*note Functions for File Names: File Name 277 Functions.). Note, however, that the `D' variants all omit the 278 trailing slash which always appears in the output of the `dir' 279 function. Here is a table of the variants: 280 281 `$(@D)' 282 The directory part of the file name of the target, with the 283 trailing slash removed. If the value of `$@' is `dir/foo.o' then 284 `$(@D)' is `dir'. This value is `.' if `$@' does not contain a 285 slash. 286 287 `$(@F)' 288 The file-within-directory part of the file name of the target. If 289 the value of `$@' is `dir/foo.o' then `$(@F)' is `foo.o'. `$(@F)' 290 is equivalent to `$(notdir $@)'. 291 292 `$(*D)' 293 `$(*F)' 294 The directory part and the file-within-directory part of the stem; 295 `dir' and `foo' in this example. 296 297 `$(%D)' 298 `$(%F)' 299 The directory part and the file-within-directory part of the target 300 archive member name. This makes sense only for archive member 301 targets of the form `ARCHIVE(MEMBER)' and is useful only when 302 MEMBER may contain a directory name. (*Note Archive Members as 303 Targets: Archive Members.) 304 305 `$(<D)' 306 `$(<F)' 307 The directory part and the file-within-directory part of the first 308 prerequisite. 309 310 `$(^D)' 311 `$(^F)' 312 Lists of the directory parts and the file-within-directory parts 313 of all prerequisites. 314 315 `$(+D)' 316 `$(+F)' 317 Lists of the directory parts and the file-within-directory parts 318 of all prerequisites, including multiple instances of duplicated 319 prerequisites. 320 321 `$(?D)' 322 `$(?F)' 323 Lists of the directory parts and the file-within-directory parts of 324 all prerequisites that are newer than the target. 325 326 Note that we use a special stylistic convention when we talk about 327 these automatic variables; we write "the value of `$<'", rather than 328 "the variable `<'" as we would write for ordinary variables such as 329 `objects' and `CFLAGS'. We think this convention looks more natural in 330 this special case. Please do not assume it has a deep significance; 331 `$<' refers to the variable named `<' just as `$(CFLAGS)' refers to the 332 variable named `CFLAGS'. You could just as well use `$(<)' in place of 333 `$<'. 334 335 336 File: make.info, Node: Pattern Match, Next: Match-Anything Rules, Prev: Automatic Variables, Up: Pattern Rules 337 338 10.5.4 How Patterns Match 339 ------------------------- 340 341 A target pattern is composed of a `%' between a prefix and a suffix, 342 either or both of which may be empty. The pattern matches a file name 343 only if the file name starts with the prefix and ends with the suffix, 344 without overlap. The text between the prefix and the suffix is called 345 the "stem". Thus, when the pattern `%.o' matches the file name 346 `test.o', the stem is `test'. The pattern rule prerequisites are 347 turned into actual file names by substituting the stem for the character 348 `%'. Thus, if in the same example one of the prerequisites is written 349 as `%.c', it expands to `test.c'. 350 351 When the target pattern does not contain a slash (and it usually does 352 not), directory names in the file names are removed from the file name 353 before it is compared with the target prefix and suffix. After the 354 comparison of the file name to the target pattern, the directory names, 355 along with the slash that ends them, are added on to the prerequisite 356 file names generated from the pattern rule's prerequisite patterns and 357 the file name. The directories are ignored only for the purpose of 358 finding an implicit rule to use, not in the application of that rule. 359 Thus, `e%t' matches the file name `src/eat', with `src/a' as the stem. 360 When prerequisites are turned into file names, the directories from the 361 stem are added at the front, while the rest of the stem is substituted 362 for the `%'. The stem `src/a' with a prerequisite pattern `c%r' gives 363 the file name `src/car'. 364 365 366 File: make.info, Node: Match-Anything Rules, Next: Canceling Rules, Prev: Pattern Match, Up: Pattern Rules 367 368 10.5.5 Match-Anything Pattern Rules 369 ----------------------------------- 370 371 When a pattern rule's target is just `%', it matches any file name 372 whatever. We call these rules "match-anything" rules. They are very 373 useful, but it can take a lot of time for `make' to think about them, 374 because it must consider every such rule for each file name listed 375 either as a target or as a prerequisite. 376 377 Suppose the makefile mentions `foo.c'. For this target, `make' 378 would have to consider making it by linking an object file `foo.c.o', 379 or by C compilation-and-linking in one step from `foo.c.c', or by 380 Pascal compilation-and-linking from `foo.c.p', and many other 381 possibilities. 382 383 We know these possibilities are ridiculous since `foo.c' is a C 384 source file, not an executable. If `make' did consider these 385 possibilities, it would ultimately reject them, because files such as 386 `foo.c.o' and `foo.c.p' would not exist. But these possibilities are so 387 numerous that `make' would run very slowly if it had to consider them. 388 389 To gain speed, we have put various constraints on the way `make' 390 considers match-anything rules. There are two different constraints 391 that can be applied, and each time you define a match-anything rule you 392 must choose one or the other for that rule. 393 394 One choice is to mark the match-anything rule as "terminal" by 395 defining it with a double colon. When a rule is terminal, it does not 396 apply unless its prerequisites actually exist. Prerequisites that 397 could be made with other implicit rules are not good enough. In other 398 words, no further chaining is allowed beyond a terminal rule. 399 400 For example, the built-in implicit rules for extracting sources from 401 RCS and SCCS files are terminal; as a result, if the file `foo.c,v' does 402 not exist, `make' will not even consider trying to make it as an 403 intermediate file from `foo.c,v.o' or from `RCS/SCCS/s.foo.c,v'. RCS 404 and SCCS files are generally ultimate source files, which should not be 405 remade from any other files; therefore, `make' can save time by not 406 looking for ways to remake them. 407 408 If you do not mark the match-anything rule as terminal, then it is 409 nonterminal. A nonterminal match-anything rule cannot apply to a file 410 name that indicates a specific type of data. A file name indicates a 411 specific type of data if some non-match-anything implicit rule target 412 matches it. 413 414 For example, the file name `foo.c' matches the target for the pattern 415 rule `%.c : %.y' (the rule to run Yacc). Regardless of whether this 416 rule is actually applicable (which happens only if there is a file 417 `foo.y'), the fact that its target matches is enough to prevent 418 consideration of any nonterminal match-anything rules for the file 419 `foo.c'. Thus, `make' will not even consider trying to make `foo.c' as 420 an executable file from `foo.c.o', `foo.c.c', `foo.c.p', etc. 421 422 The motivation for this constraint is that nonterminal match-anything 423 rules are used for making files containing specific types of data (such 424 as executable files) and a file name with a recognized suffix indicates 425 some other specific type of data (such as a C source file). 426 427 Special built-in dummy pattern rules are provided solely to recognize 428 certain file names so that nonterminal match-anything rules will not be 429 considered. These dummy rules have no prerequisites and no commands, 430 and they are ignored for all other purposes. For example, the built-in 431 implicit rule 432 433 %.p : 434 435 exists to make sure that Pascal source files such as `foo.p' match a 436 specific target pattern and thereby prevent time from being wasted 437 looking for `foo.p.o' or `foo.p.c'. 438 439 Dummy pattern rules such as the one for `%.p' are made for every 440 suffix listed as valid for use in suffix rules (*note Old-Fashioned 441 Suffix Rules: Suffix Rules.). 442 443 444 File: make.info, Node: Canceling Rules, Prev: Match-Anything Rules, Up: Pattern Rules 445 446 10.5.6 Canceling Implicit Rules 447 ------------------------------- 448 449 You can override a built-in implicit rule (or one you have defined 450 yourself) by defining a new pattern rule with the same target and 451 prerequisites, but different commands. When the new rule is defined, 452 the built-in one is replaced. The new rule's position in the sequence 453 of implicit rules is determined by where you write the new rule. 454 455 You can cancel a built-in implicit rule by defining a pattern rule 456 with the same target and prerequisites, but no commands. For example, 457 the following would cancel the rule that runs the assembler: 458 459 %.o : %.s 460 461 462 File: make.info, Node: Last Resort, Next: Suffix Rules, Prev: Pattern Rules, Up: Implicit Rules 463 464 10.6 Defining Last-Resort Default Rules 465 ======================================= 466 467 You can define a last-resort implicit rule by writing a terminal 468 match-anything pattern rule with no prerequisites (*note Match-Anything 469 Rules::). This is just like any other pattern rule; the only thing 470 special about it is that it will match any target. So such a rule's 471 commands are used for all targets and prerequisites that have no 472 commands of their own and for which no other implicit rule applies. 473 474 For example, when testing a makefile, you might not care if the 475 source files contain real data, only that they exist. Then you might 476 do this: 477 478 %:: 479 touch $@ 480 481 to cause all the source files needed (as prerequisites) to be created 482 automatically. 483 484 You can instead define commands to be used for targets for which 485 there are no rules at all, even ones which don't specify commands. You 486 do this by writing a rule for the target `.DEFAULT'. Such a rule's 487 commands are used for all prerequisites which do not appear as targets 488 in any explicit rule, and for which no implicit rule applies. 489 Naturally, there is no `.DEFAULT' rule unless you write one. 490 491 If you use `.DEFAULT' with no commands or prerequisites: 492 493 .DEFAULT: 494 495 the commands previously stored for `.DEFAULT' are cleared. Then `make' 496 acts as if you had never defined `.DEFAULT' at all. 497 498 If you do not want a target to get the commands from a match-anything 499 pattern rule or `.DEFAULT', but you also do not want any commands to be 500 run for the target, you can give it empty commands (*note Defining 501 Empty Commands: Empty Commands.). 502 503 You can use a last-resort rule to override part of another makefile. 504 *Note Overriding Part of Another Makefile: Overriding Makefiles. 505 506 507 File: make.info, Node: Suffix Rules, Next: Implicit Rule Search, Prev: Last Resort, Up: Implicit Rules 508 509 10.7 Old-Fashioned Suffix Rules 510 =============================== 511 512 "Suffix rules" are the old-fashioned way of defining implicit rules for 513 `make'. Suffix rules are obsolete because pattern rules are more 514 general and clearer. They are supported in GNU `make' for 515 compatibility with old makefiles. They come in two kinds: 516 "double-suffix" and "single-suffix". 517 518 A double-suffix rule is defined by a pair of suffixes: the target 519 suffix and the source suffix. It matches any file whose name ends with 520 the target suffix. The corresponding implicit prerequisite is made by 521 replacing the target suffix with the source suffix in the file name. A 522 two-suffix rule whose target and source suffixes are `.o' and `.c' is 523 equivalent to the pattern rule `%.o : %.c'. 524 525 A single-suffix rule is defined by a single suffix, which is the 526 source suffix. It matches any file name, and the corresponding implicit 527 prerequisite name is made by appending the source suffix. A 528 single-suffix rule whose source suffix is `.c' is equivalent to the 529 pattern rule `% : %.c'. 530 531 Suffix rule definitions are recognized by comparing each rule's 532 target against a defined list of known suffixes. When `make' sees a 533 rule whose target is a known suffix, this rule is considered a 534 single-suffix rule. When `make' sees a rule whose target is two known 535 suffixes concatenated, this rule is taken as a double-suffix rule. 536 537 For example, `.c' and `.o' are both on the default list of known 538 suffixes. Therefore, if you define a rule whose target is `.c.o', 539 `make' takes it to be a double-suffix rule with source suffix `.c' and 540 target suffix `.o'. Here is the old-fashioned way to define the rule 541 for compiling a C source file: 542 543 .c.o: 544 $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $< 545 546 Suffix rules cannot have any prerequisites of their own. If they 547 have any, they are treated as normal files with funny names, not as 548 suffix rules. Thus, the rule: 549 550 .c.o: foo.h 551 $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $< 552 553 tells how to make the file `.c.o' from the prerequisite file `foo.h', 554 and is not at all like the pattern rule: 555 556 %.o: %.c foo.h 557 $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $< 558 559 which tells how to make `.o' files from `.c' files, and makes all `.o' 560 files using this pattern rule also depend on `foo.h'. 561 562 Suffix rules with no commands are also meaningless. They do not 563 remove previous rules as do pattern rules with no commands (*note 564 Canceling Implicit Rules: Canceling Rules.). They simply enter the 565 suffix or pair of suffixes concatenated as a target in the data base. 566 567 The known suffixes are simply the names of the prerequisites of the 568 special target `.SUFFIXES'. You can add your own suffixes by writing a 569 rule for `.SUFFIXES' that adds more prerequisites, as in: 570 571 .SUFFIXES: .hack .win 572 573 which adds `.hack' and `.win' to the end of the list of suffixes. 574 575 If you wish to eliminate the default known suffixes instead of just 576 adding to them, write a rule for `.SUFFIXES' with no prerequisites. By 577 special dispensation, this eliminates all existing prerequisites of 578 `.SUFFIXES'. You can then write another rule to add the suffixes you 579 want. For example, 580 581 .SUFFIXES: # Delete the default suffixes 582 .SUFFIXES: .c .o .h # Define our suffix list 583 584 The `-r' or `--no-builtin-rules' flag causes the default list of 585 suffixes to be empty. 586 587 The variable `SUFFIXES' is defined to the default list of suffixes 588 before `make' reads any makefiles. You can change the list of suffixes 589 with a rule for the special target `.SUFFIXES', but that does not alter 590 this variable. 24 591 25 592 26 593 File: make.info, Node: Implicit Rule Search, Prev: Suffix Rules, Up: Implicit Rules 27 594 28 Implicit Rule Search Algorithm29 ============================== 595 10.8 Implicit Rule Search Algorithm 596 =================================== 30 597 31 598 Here is the procedure `make' uses for searching for an implicit rule … … 109 676 File: make.info, Node: Archives, Next: Features, Prev: Implicit Rules, Up: Top 110 677 111 Using `make' to Update Archive Files112 ************************************ 678 11 Using `make' to Update Archive Files 679 *************************************** 113 680 114 681 "Archive files" are files containing named subfiles called "members"; … … 127 694 File: make.info, Node: Archive Members, Next: Archive Update, Prev: Archives, Up: Archives 128 695 129 Archive Members as Targets130 ========================== 696 11.1 Archive Members as Targets 697 =============================== 131 698 132 699 An individual member of an archive file can be used as a target or … … 148 715 149 716 In fact, nearly all archive member targets are updated in just this 150 way and there is an implicit rule to do it for you. * Note:* The `c'151 flag to `ar' is required if the archive file does not already exist.717 way and there is an implicit rule to do it for you. *Please note:* The 718 `c' flag to `ar' is required if the archive file does not already exist. 152 719 153 720 To specify several members in the same archive, you can write all the … … 169 736 File: make.info, Node: Archive Update, Next: Archive Pitfalls, Prev: Archive Members, Up: Archives 170 737 171 Implicit Rule for Archive Member Targets172 ======================================== 738 11.2 Implicit Rule for Archive Member Targets 739 ============================================= 173 740 174 741 Recall that a target that looks like `A(M)' stands for the member named … … 219 786 File: make.info, Node: Archive Symbols, Prev: Archive Update, Up: Archive Update 220 787 221 Updating Archive Symbol Directories222 ----------------------------------- 788 11.2.1 Updating Archive Symbol Directories 789 ------------------------------------------ 223 790 224 791 An archive file that is used as a library usually contains a special … … 250 817 File: make.info, Node: Archive Pitfalls, Next: Archive Suffix Rules, Prev: Archive Update, Up: Archives 251 818 252 Dangers When Using Archives253 =========================== 819 11.3 Dangers When Using Archives 820 ================================ 254 821 255 822 It is important to be careful when using parallel execution (the `-j' … … 266 833 File: make.info, Node: Archive Suffix Rules, Prev: Archive Pitfalls, Up: Archives 267 834 268 Suffix Rules for Archive Files269 ============================== 835 11.4 Suffix Rules for Archive Files 836 =================================== 270 837 271 838 You can write a special kind of suffix rule for dealing with archive … … 305 872 File: make.info, Node: Features, Next: Missing, Prev: Archives, Up: Top 306 873 307 Features of GNU `make'308 ********************** 874 12 Features of GNU `make' 875 ************************* 309 876 310 877 Here is a summary of the features of GNU `make', for comparison with … … 499 1066 500 1067 * The built-in variable `MAKE_VERSION' gives the version number of 501 `make'. 1068 `make'. 502 1069 503 1070 504 1071 File: make.info, Node: Missing, Next: Makefile Conventions, Prev: Features, Up: Top 505 1072 506 Incompatibilities and Missing Features507 ************************************** 1073 13 Incompatibilities and Missing Features 1074 ***************************************** 508 1075 509 1076 The `make' programs in various other systems support a few features … … 545 1112 imagine what went on in the minds of Unix `make' developers to do 546 1113 this; it is utterly inconsistent with the normal definition of 547 `$*'. 1114 `$*'. 548 1115 549 1116 * In some Unix `make's, implicit rule search (*note Using Implicit … … 589 1156 File: make.info, Node: Makefile Conventions, Next: Quick Reference, Prev: Missing, Up: Top 590 1157 591 Makefile Conventions592 ******************** 1158 14 Makefile Conventions 1159 *********************** 593 1160 594 1161 This node describes conventions for writing the Makefiles for GNU … … 609 1176 File: make.info, Node: Makefile Basics, Next: Utilities in Makefiles, Up: Makefile Conventions 610 1177 611 General Conventions for Makefiles612 ================================= 1178 14.1 General Conventions for Makefiles 1179 ====================================== 613 1180 614 1181 Every Makefile should contain this line: … … 689 1256 File: make.info, Node: Utilities in Makefiles, Next: Command Variables, Prev: Makefile Basics, Up: Makefile Conventions 690 1257 691 Utilities in Makefiles692 ====================== 1258 14.2 Utilities in Makefiles 1259 =========================== 693 1260 694 1261 Write the Makefile commands (and any shell scripts, such as … … 744 1311 File: make.info, Node: Command Variables, Next: Directory Variables, Prev: Utilities in Makefiles, Up: Makefile Conventions 745 1312 746 Variables for Specifying Commands747 ================================= 1313 14.3 Variables for Specifying Commands 1314 ====================================== 748 1315 749 1316 Makefiles should provide variables for overriding certain commands, … … 824 1391 File: make.info, Node: Directory Variables, Next: Standard Targets, Prev: Command Variables, Up: Makefile Conventions 825 1392 826 Variables for Installation Directories827 ====================================== 1393 14.4 Variables for Installation Directories 1394 =========================================== 828 1395 829 1396 Installation directories should always be named by variables, so it is 830 1397 easy to install in a nonstandard place. The standard names for these 831 variables are described below. They are based on a standard filesystem 832 layout; variants of it are used in SVR4, 4.4BSD, GNU/Linux, Ultrix v4, 833 and other modern operating systems. 1398 variables and the values they should have in GNU packages are described 1399 below. They are based on a standard filesystem layout; variants of it 1400 are used in GNU/Linux and other modern operating systems. 1401 1402 Installers are expected to override these values when calling `make' 1403 (e.g., `make prefix=/usr install' or `configure' (e.g., `configure 1404 --prefix=/usr'). GNU packages should not try to guess which value 1405 should be appropriate for these variables on the system they are being 1406 installed onto: use the default settings specified here so that all GNU 1407 packages behave identically, allowing the installer to achieve any 1408 desired layout. 834 1409 835 1410 These two variables set the root for the installation. All the other … … 884 1459 (If you are using Autoconf, write it as `@libexecdir@'.) 885 1460 1461 The definition of `libexecdir' is the same for all packages, so 1462 you should install your data in a subdirectory thereof. Most 1463 packages install their data under `$(libexecdir)/PACKAGE-NAME/', 1464 possibly within additional subdirectories thereof, such as 1465 `$(libexecdir)/PACKAGE-NAME/MACHINE/VERSION'. 1466 886 1467 Data files used by the program during its execution are divided into 887 1468 categories in two ways. … … 900 1481 architecture-independent, and it is generally not hard. 901 1482 902 Therefore, here are the variables Makefiles should use to specify 903 directories: 1483 Here are the variables Makefiles should use to specify directories 1484 to put these various kinds of files in: 1485 1486 `datarootdir' 1487 The root of the directory tree for read-only 1488 architecture-independent data files. This should normally be 1489 `/usr/local/share', but write it as `$(prefix)/share'. (If you 1490 are using Autoconf, write it as `@datarootdir@'.) `datadir''s 1491 default value is based on this variable; so are `infodir', 1492 `mandir', and others. 904 1493 905 1494 `datadir' 906 The directory for installing read-only architecture independent 907 data files. This should normally be `/usr/local/share', but write 908 it as `$(prefix)/share'. (If you are using Autoconf, write it as 909 `@datadir@'.) As a special exception, see `$(infodir)' and 910 `$(includedir)' below. 1495 The directory for installing idiosyncratic read-only 1496 architecture-independent data files for this program. This is 1497 usually the same place as `datarootdir', but we use the two 1498 separate variables so that you can move these program-specific 1499 files without altering the location for Info files, man pages, etc. 1500 1501 This should normally be `/usr/local/share', but write it as 1502 `$(datarootdir)'. (If you are using Autoconf, write it as 1503 `@datadir@'.) 1504 1505 The definition of `datadir' is the same for all packages, so you 1506 should install your data in a subdirectory thereof. Most packages 1507 install their data under `$(datadir)/PACKAGE-NAME/'. 911 1508 912 1509 `sysconfdir' … … 941 1538 `@localstatedir@'.) 942 1539 943 `libdir' 944 The directory for object files and libraries of object code. Do 945 not install executables here, they probably ought to go in 946 `$(libexecdir)' instead. The value of `libdir' should normally be 947 `/usr/local/lib', but write it as `$(exec_prefix)/lib'. (If you 948 are using Autoconf, write it as `@libdir@'.) 949 950 `infodir' 951 The directory for installing the Info files for this package. By 952 default, it should be `/usr/local/info', but it should be written 953 as `$(prefix)/info'. (If you are using Autoconf, write it as 954 `@infodir@'.) 955 956 `lispdir' 957 The directory for installing any Emacs Lisp files in this package. 958 By default, it should be `/usr/local/share/emacs/site-lisp', but 959 it should be written as `$(prefix)/share/emacs/site-lisp'. 960 961 If you are using Autoconf, write the default as `@lispdir@'. In 962 order to make `@lispdir@' work, you need the following lines in 963 your `configure.in' file: 964 965 lispdir='${datadir}/emacs/site-lisp' 966 AC_SUBST(lispdir) 1540 These variables specify the directory for installing certain specific 1541 types of files, if your program has them. Every GNU package should 1542 have Info files, so every program needs `infodir', but not all need 1543 `libdir' or `lispdir'. 967 1544 968 1545 `includedir' … … 1000 1577 string in the file--part of a comment--and `grep' for that string. 1001 1578 1579 `docdir' 1580 The directory for installing documentation files (other than Info) 1581 for this package. By default, it should be 1582 `/usr/local/share/doc/YOURPKG', but it should be written as 1583 `$(datarootdir)/doc/YOURPKG'. (If you are using Autoconf, write 1584 it as `@docdir@'.) The YOURPKG subdirectory, which may include a 1585 version number, prevents collisions among files with common names, 1586 such as `README'. 1587 1588 `infodir' 1589 The directory for installing the Info files for this package. By 1590 default, it should be `/usr/local/share/info', but it should be 1591 written as `$(datarootdir)/info'. (If you are using Autoconf, 1592 write it as `@infodir@'.) `infodir' is separate from `docdir' for 1593 compatibility with existing practice. 1594 1595 `htmldir' 1596 `dvidir' 1597 `pdfdir' 1598 `psdir' 1599 Directories for installing documentation files in the particular 1600 format. (It is not required to support documentation in all these 1601 formats.) They should all be set to `$(docdir)' by default. (If 1602 you are using Autoconf, write them as `@htmldir@', `@dvidir@', 1603 etc.) Packages which supply several translations of their 1604 documentation should install them in `$(htmldir)/'LL, 1605 `$(pdfdir)/'LL, etc. where LL is a locale abbreviation such as 1606 `en' or `pt_BR'. 1607 1608 `libdir' 1609 The directory for object files and libraries of object code. Do 1610 not install executables here, they probably ought to go in 1611 `$(libexecdir)' instead. The value of `libdir' should normally be 1612 `/usr/local/lib', but write it as `$(exec_prefix)/lib'. (If you 1613 are using Autoconf, write it as `@libdir@'.) 1614 1615 `lispdir' 1616 The directory for installing any Emacs Lisp files in this package. 1617 By default, it should be `/usr/local/share/emacs/site-lisp', but 1618 it should be written as `$(datarootdir)/emacs/site-lisp'. 1619 1620 If you are using Autoconf, write the default as `@lispdir@'. In 1621 order to make `@lispdir@' work, you need the following lines in 1622 your `configure.in' file: 1623 1624 lispdir='${datarootdir}/emacs/site-lisp' 1625 AC_SUBST(lispdir) 1626 1627 `localedir' 1628 The directory for installing locale-specific message catalogs for 1629 this package. By default, it should be `/usr/local/share/locale', 1630 but it should be written as `$(datarootdir)/locale'. (If you are 1631 using Autoconf, write it as `@localedir@'.) This directory 1632 usually has a subdirectory per locale. 1633 1002 1634 Unix-style man pages are installed in one of the following: 1003 1635 1004 1636 `mandir' 1005 1637 The top-level directory for installing the man pages (if any) for 1006 this package. It will normally be `/usr/local/ man', but you should1007 write it as `$(prefix)/man'. (If you are using Autoconf, write it1008 as `@mandir@'.)1638 this package. It will normally be `/usr/local/share/man', but you 1639 should write it as `$(datarootdir)/man'. (If you are using 1640 Autoconf, write it as `@mandir@'.) 1009 1641 1010 1642 `man1dir' … … 1049 1681 # NOTE: This directory must exist when you start the install. 1050 1682 prefix = /usr/local 1683 datarootdir = $(prefix)/share 1684 datadir = $(datarootdir) 1051 1685 exec_prefix = $(prefix) 1052 1686 # Where to put the executable for the command `gcc'. … … 1055 1689 libexecdir = $(exec_prefix)/libexec 1056 1690 # Where to put the Info files. 1057 infodir = $( prefix)/info1691 infodir = $(datarootdir)/info 1058 1692 1059 1693 If your program installs a large number of files into one of the … … 1072 1706 File: make.info, Node: Standard Targets, Next: Install Command Categories, Prev: Directory Variables, Up: Makefile Conventions 1073 1707 1074 Standard Targets for Users1075 ========================== 1708 14.5 Standard Targets for Users 1709 =============================== 1076 1710 1077 1711 All GNU programs should have the following targets in their Makefiles: … … 1142 1776 Categories::. 1143 1777 1778 `install-html' 1779 `install-dvi' 1780 `install-pdf' 1781 `install-ps' 1782 These targets install documentation in formats other than Info; 1783 they're intended to be called explicitly by the person installing 1784 the package, if that format is desired. GNU prefers Info files, 1785 so these must be installed by the `install' target. 1786 1787 When you have many documentation files to install, we recommend 1788 that you avoid collisions and clutter by arranging for these 1789 targets to install in subdirectories of the appropriate 1790 installation directory, such as `htmldir'. As one example, if 1791 your package has multiple manuals, and you wish to install HTML 1792 documentation with many files (such as the "split" mode output by 1793 `makeinfo --html'), you'll certainly want to use subdirectories, 1794 or two nodes with the same name in different manuals will 1795 overwrite each other. 1796 1144 1797 `uninstall' 1145 Delete all the installed files--the copies that the `install' 1146 target creates.1798 Delete all the installed files--the copies that the `install' and 1799 `install-*' targets create. 1147 1800 1148 1801 This rule should not modify the directories where compilation is … … 1176 1829 1177 1830 `clean' 1178 Delete all files from the current directory that are normally 1179 created by building the program. Don't delete the files that 1180 record the configuration. Also preserve files that could be made 1181 by building, but normally aren't because the distribution comes 1182 with them. 1831 Delete all files in the current directory that are normally 1832 created by building the program. Also delete files in other 1833 directories if they are created by this makefile. However, don't 1834 delete the files that record the configuration. Also preserve 1835 files that could be made by building, but normally aren't because 1836 the distribution comes with them. There is no need to delete 1837 parent directories that were created with `mkdir -p', since they 1838 could have existed anyway. 1183 1839 1184 1840 Delete `.dvi' files here if they are not part of the distribution. 1185 1841 1186 1842 `distclean' 1187 Delete all files from the current directory that are created by 1188 configuring or building the program. If you have unpacked the 1189 source and built the program without creating any other files, 1190 `make distclean' should leave only the files that were in the 1191 distribution. 1843 Delete all files in the current directory (or created by this 1844 makefile) that are created by configuring or building the program. 1845 If you have unpacked the source and built the program without 1846 creating any other files, `make distclean' should leave only the 1847 files that were in the distribution. However, there is no need to 1848 delete parent directories that were created with `mkdir -p', since 1849 they could have existed anyway. 1192 1850 1193 1851 `mostlyclean' … … 1198 1856 1199 1857 `maintainer-clean' 1200 Delete almost everything from the current directory that can be1201 reconstructed with this Makefile. This typically includes1202 everything deleted by `distclean', plus more: C source files1203 produced by Bison, tagstables, Info files, and so on.1858 Delete almost everything that can be reconstructed with this 1859 Makefile. This typically includes everything deleted by 1860 `distclean', plus more: C source files produced by Bison, tags 1861 tables, Info files, and so on. 1204 1862 1205 1863 The reason we say "almost everything" is that running the command … … 1208 1866 generally, `make maintainer-clean' should not delete anything that 1209 1867 needs to exist in order to run `configure' and then begin to build 1210 the program. This is the only exception; `maintainer-clean' should 1868 the program. Also, there is no need to delete parent directories 1869 that were created with `mkdir -p', since they could have existed 1870 anyway. These are the only exceptions; `maintainer-clean' should 1211 1871 delete everything else that can be rebuilt. 1212 1872 … … 1233 1893 1234 1894 info: foo.info 1235 1895 1236 1896 foo.info: foo.texi chap1.texi chap2.texi 1237 1897 $(MAKEINFO) $(srcdir)/foo.texi … … 1248 1908 1249 1909 `dvi' 1250 Generate DVI files for all Texinfo documentation. For example: 1910 `html' 1911 `pdf' 1912 `ps' 1913 Generate documentation files in the given format, if possible. 1914 Here's an example rule for generating DVI files from Texinfo: 1251 1915 1252 1916 dvi: foo.dvi 1253 1917 1254 1918 foo.dvi: foo.texi chap1.texi chap2.texi 1255 1919 $(TEXI2DVI) $(srcdir)/foo.texi … … 1259 1923 distribution.(1) Alternatively, write just the dependencies, and 1260 1924 allow GNU `make' to provide the command. 1925 1926 Here's another example, this one for generating HTML from Texinfo: 1927 1928 html: foo.html 1929 1930 foo.html: foo.texi chap1.texi chap2.texi 1931 $(TEXI2HTML) $(srcdir)/foo.texi 1932 1933 Again, you would define the variable `TEXI2HTML' in the Makefile; 1934 for example, it might run `makeinfo --no-split --html' (`makeinfo' 1935 is part of the Texinfo distribution). 1261 1936 1262 1937 `dist' … … 1329 2004 File: make.info, Node: Install Command Categories, Prev: Standard Targets, Up: Makefile Conventions 1330 2005 1331 Install Command Categories1332 ========================== 2006 14.6 Install Command Categories 2007 =============================== 1333 2008 1334 2009 When writing the `install' target, you must classify all the commands … … 1415 2090 Programs to build binary packages work by extracting the 1416 2091 pre-installation and post-installation commands. Here is one way of 1417 extracting the pre-installation commands: 1418 1419 make -n install -o all \ 2092 extracting the pre-installation commands (the `-s' option to `make' is 2093 needed to silence messages about entering subdirectories): 2094 2095 make -s -n install -o all \ 1420 2096 PRE_INSTALL=pre-install \ 1421 2097 POST_INSTALL=post-install \ … … 1425 2101 where the file `pre-install.awk' could contain this: 1426 2102 1427 $0 ~ /^ \t[ \t]*(normal_install|post_install)[ \t]*$/ {on = 0}2103 $0 ~ /^(normal-install|post-install)[ \t]*$/ {on = 0} 1428 2104 on {print $0} 1429 $0 ~ /^\t[ \t]*pre_install[ \t]*$/ {on = 1} 1430 1431 The resulting file of pre-installation commands is executed as a 1432 shell script as part of installing the binary package. 2105 $0 ~ /^pre-install[ \t]*$/ {on = 1} 1433 2106 1434 2107 1435 2108 File: make.info, Node: Quick Reference, Next: Error Messages, Prev: Makefile Conventions, Up: Top 1436 2109 1437 Quick Reference1438 *************** 2110 Appendix A Quick Reference 2111 ************************** 1439 2112 1440 2113 This appendix summarizes the directives, text manipulation functions, … … 1504 2177 directive. 1505 2178 1506 Here is a summary of the text manipulation functions (*note 1507 Functions::): 2179 Here is a summary of the built-in functions (*note Functions::): 1508 2180 1509 2181 `$(subst FROM,TO,TEXT)' … … 1542 2214 Functions. 1543 2215 2216 `$(word N,TEXT)' 2217 Extract the Nth word (one-origin) of TEXT. 2218 *Note Functions for String Substitution and Analysis: Text 2219 Functions. 2220 2221 `$(words TEXT)' 2222 Count the number of words in TEXT. 2223 *Note Functions for String Substitution and Analysis: Text 2224 Functions. 2225 2226 `$(wordlist S,E,TEXT)' 2227 Returns the list of words in TEXT from S to E. 2228 *Note Functions for String Substitution and Analysis: Text 2229 Functions. 2230 2231 `$(firstword NAMES...)' 2232 Extract the first word of NAMES. 2233 *Note Functions for String Substitution and Analysis: Text 2234 Functions. 2235 2236 `$(lastword NAMES...)' 2237 Extract the last word of NAMES. 2238 *Note Functions for String Substitution and Analysis: Text 2239 Functions. 2240 1544 2241 `$(dir NAMES...)' 1545 2242 Extract the directory part of each file name. … … 1571 2268 *Note Functions for File Names: File Name Functions. 1572 2269 1573 `$(word N,TEXT)'1574 Extract the Nth word (one-origin) of TEXT.1575 *Note Functions for File Names: File Name Functions.1576 1577 `$(words TEXT)'1578 Count the number of words in TEXT.1579 *Note Functions for File Names: File Name Functions.1580 1581 `$(wordlist S,E,TEXT)'1582 Returns the list of words in TEXT from S to E.1583 *Note Functions for File Names: File Name Functions.1584 1585 `$(firstword NAMES...)'1586 Extract the first word of NAMES.1587 *Note Functions for File Names: File Name Functions.1588 1589 2270 `$(wildcard PATTERN...)' 1590 2271 Find file names matching a shell file name pattern (_not_ a `%' … … 1592 2273 *Note The Function `wildcard': Wildcard Function. 1593 2274 2275 `$(realpath NAMES...)' 2276 For each file name in NAMES, expand to an absolute name that does 2277 not contain any `.', `..', nor symlinks. 2278 *Note Functions for File Names: File Name Functions. 2279 2280 `$(abspath NAMES...)' 2281 For each file name in NAMES, expand to an absolute name that does 2282 not contain any `.' or `..' components, but preserves symlinks. 2283 *Note Functions for File Names: File Name Functions. 2284 1594 2285 `$(error TEXT...)' 1595 2286 When this function is evaluated, `make' generates a fatal error … … 1610 2301 defined. 1611 2302 *Note The `origin' Function: Origin Function. 2303 2304 `$(flavor VARIABLE)' 2305 Return a string describing the flavor of the `make' variable 2306 VARIABLE. 2307 *Note The `flavor' Function: Flavor Function. 1612 2308 1613 2309 `$(foreach VAR,WORDS,TEXT)' … … 1701 2397 `/bin/sh'. You can set `SHELL' in the makefile to change the 1702 2398 shell used to run commands. *Note Command Execution: Execution. 2399 The `SHELL' variable is handled specially when importing from and 2400 exporting to the environment. *Note Choosing the Shell::. 1703 2401 1704 2402 `MAKESHELL' 1705 2403 On MS-DOS only, the name of the command interpreter that is to be 1706 used by `make'. This value takes precedence over the value of2404 used by `make'. This value takes precedence over the value of 1707 2405 `SHELL'. *Note MAKESHELL variable: Execution. 1708 2406 … … 1748 2446 File: make.info, Node: Error Messages, Next: Complex Makefile, Prev: Quick Reference, Up: Top 1749 2447 1750 Errors Generated by Make1751 ************************ 2448 Appendix B Errors Generated by Make 2449 *********************************** 1752 2450 1753 2451 Here is a list of the more common errors you might see generated by … … 1822 2520 on the command line, and `make' couldn't find any makefiles to 1823 2521 read in. The latter means that some makefile was found, but it 1824 didn't contain any default target and none was given on the1825 command line. GNU `make' has nothing to do in these situations.1826 *NoteArguments to Specify the Makefile: Makefile Arguments.2522 didn't contain any default goal and none was given on the command 2523 line. GNU `make' has nothing to do in these situations. *Note 2524 Arguments to Specify the Makefile: Makefile Arguments. 1827 2525 1828 2526 `Makefile `XXX' was not found.' … … 1901 2599 File: make.info, Node: Complex Makefile, Next: GNU Free Documentation License, Prev: Error Messages, Up: Top 1902 2600 1903 Complex Makefile Example1904 ************************ 2601 Appendix C Complex Makefile Example 2602 *********************************** 1905 2603 1906 2604 Here is the makefile for the GNU `tar' program. This is a moderately … … 1938 2636 # Un*x Makefile for GNU tar program. 1939 2637 # Copyright (C) 1991 Free Software Foundation, Inc. 1940 2638 1941 2639 # This program is free software; you can redistribute 1942 2640 # it and/or modify it under the terms of the GNU … … 1944 2642 ... 1945 2643 ... 1946 2644 1947 2645 SHELL = /bin/sh 1948 2646 1949 2647 #### Start of system configuration section. #### 1950 2648 1951 2649 srcdir = . 1952 2650 1953 2651 # If you use gcc, you should either run the 1954 2652 # fixincludes script that comes with it or else use … … 1959 2657 INSTALL = /usr/local/bin/install -c 1960 2658 INSTALLDATA = /usr/local/bin/install -c -m 644 1961 2659 1962 2660 # Things you might add to DEFS: 1963 2661 # -DSTDC_HEADERS If you have ANSI C headers and … … 2010 2708 # -DXENIX If you have sys/inode.h 2011 2709 # and need it 94 to be included. 2012 2710 2013 2711 DEFS = -DSIGTYPE=int -DDIRENT -DSTRSTR_MISSING \ 2014 2712 -DVPRINTF_MISSING -DBSD42 … … 2019 2717 DEF_AR_FILE = /dev/rmt8 2020 2718 DEFBLOCKING = 20 2021 2719 2022 2720 CDEBUG = -g 2023 2721 CFLAGS = $(CDEBUG) -I. -I$(srcdir) $(DEFS) \ … … 2025 2723 -DDEFBLOCKING=$(DEFBLOCKING) 2026 2724 LDFLAGS = -g 2027 2725 2028 2726 prefix = /usr/local 2029 2727 # Prefix for each installed program, 2030 2728 # normally empty or `g'. 2031 2729 binprefix = 2032 2730 2033 2731 # The directory to install tar in. 2034 2732 bindir = $(prefix)/bin 2035 2733 2036 2734 # The directory to install the info files in. 2037 2735 infodir = $(prefix)/info 2038 2736 2039 2737 #### End of system configuration section. #### 2040 2738 2041 2739 SRC1 = tar.c create.c extract.c buffer.c \ 2042 2740 getoldopt.c update.c gnu.c mangle.c … … 2058 2756 msd_dir.h msd_dir.c tcexparg.c \ 2059 2757 level-0 level-1 backup-specs testpad.c 2060 2758 2759 .PHONY: all 2061 2760 all: tar rmt tar.info 2062 2761 2762 .PHONY: tar 2063 2763 tar: $(OBJS) 2064 2764 $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) 2065 2765 2066 2766 rmt: rmt.c 2067 2767 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ rmt.c 2068 2768 2069 2769 tar.info: tar.texinfo 2070 2770 makeinfo tar.texinfo 2071 2771 2772 .PHONY: install 2072 2773 install: all 2073 2774 $(INSTALL) tar $(bindir)/$(binprefix)tar 2074 2775 -test ! -f rmt || $(INSTALL) rmt /etc/rmt 2075 2776 $(INSTALLDATA) $(srcdir)/tar.info* $(infodir) 2076 2777 2077 2778 $(OBJS): tar.h port.h testpad.h 2078 2779 regex.o buffer.o tar.o: regex.h 2079 2780 # getdate.y has 8 shift/reduce conflicts. 2080 2781 2081 2782 testpad.h: testpad 2082 2783 ./testpad 2083 2784 2084 2785 testpad: testpad.o 2085 2786 $(CC) -o $@ testpad.o 2086 2787 2087 2788 TAGS: $(SRCS) 2088 2789 etags $(SRCS) 2089 2790 2791 .PHONY: clean 2090 2792 clean: 2091 2793 rm -f *.o tar rmt testpad testpad.h core 2092 2794 2795 .PHONY: distclean 2093 2796 distclean: clean 2094 2797 rm -f TAGS Makefile config.status 2095 2798 2799 .PHONY: realclean 2096 2800 realclean: distclean 2097 2801 rm -f tar.info* 2098 2802 2803 .PHONY: shar 2099 2804 shar: $(SRCS) $(AUX) 2100 2805 shar $(SRCS) $(AUX) | compress \ … … 2103 2808 -e q 2104 2809 version.c`.shar.Z 2105 2810 2811 .PHONY: dist 2106 2812 dist: $(SRCS) $(AUX) 2107 2813 echo tar-`sed \ … … 2115 2821 tar chZf `cat .fname`.tar.Z `cat .fname` 2116 2822 -rm -rf `cat .fname` .fname 2117 2823 2118 2824 tar.zoo: $(SRCS) $(AUX) 2119 2825 -rm -rf tmp.dir … … 2130 2836 File: make.info, Node: GNU Free Documentation License, Next: Concept Index, Prev: Complex Makefile, Up: Top 2131 2837 2132 GNU Free Documentation License 2133 ****************************** 2134 2135 Version 1.1, March 2000 2136 Copyright (C) 2000 Free Software Foundation, Inc. 2137 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA 2138 2838 Appendix D GNU Free Documentation License 2839 ***************************************** 2840 2841 Version 1.2, November 2002 2842 2843 Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 2844 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 2845 2139 2846 Everyone is permitted to copy and distribute verbatim copies 2140 2847 of this license document, but changing it is not allowed. … … 2143 2850 2144 2851 The purpose of this License is to make a manual, textbook, or other 2145 written document "free" in the sense of freedom: to assure everyone2146 the effective freedom to copy and redistribute it, with or without2147 modifying it, either commercially or noncommercially. Secondarily,2148 this License preserves for the author and publisher a way to get2149 credit for their work, while not being considered responsible for2150 modifications made by others.2852 functional and useful document "free" in the sense of freedom: to 2853 assure everyone the effective freedom to copy and redistribute it, 2854 with or without modifying it, either commercially or 2855 noncommercially. Secondarily, this License preserves for the 2856 author and publisher a way to get credit for their work, while not 2857 being considered responsible for modifications made by others. 2151 2858 2152 2859 This License is a kind of "copyleft", which means that derivative … … 2166 2873 1. APPLICABILITY AND DEFINITIONS 2167 2874 2168 This License applies to any manual or other work that contains a 2169 notice placed by the copyright holder saying it can be distributed 2170 under the terms of this License. The "Document", below, refers to 2171 any such manual or work. Any member of the public is a licensee, 2172 and is addressed as "you". 2875 This License applies to any manual or other work, in any medium, 2876 that contains a notice placed by the copyright holder saying it 2877 can be distributed under the terms of this License. Such a notice 2878 grants a world-wide, royalty-free license, unlimited in duration, 2879 to use that work under the conditions stated herein. The 2880 "Document", below, refers to any such manual or work. Any member 2881 of the public is a licensee, and is addressed as "you". You 2882 accept the license if you copy, modify or distribute the work in a 2883 way requiring permission under copyright law. 2173 2884 2174 2885 A "Modified Version" of the Document means any work containing the … … 2176 2887 modifications and/or translated into another language. 2177 2888 2178 A "Secondary Section" is a named appendix or a front-matter 2179 section of the Document that deals exclusively withthe2180 relationship of the publishers or authors of the Document to the2181 Document's overall subject (or to related matters) and contains2182 nothing that could fall directly within that overall subject.2183 (For example, if the Document is in part a textbook of2184 mathematics, a Secondary Section may not explain any mathematics.)2185 The relationship could be a matter of historical connection with2186 the subject or with related matters, or of legal, commercial,2187 philosophical, ethical or political positionregarding them.2889 A "Secondary Section" is a named appendix or a front-matter section 2890 of the Document that deals exclusively with the relationship of the 2891 publishers or authors of the Document to the Document's overall 2892 subject (or to related matters) and contains nothing that could 2893 fall directly within that overall subject. (Thus, if the Document 2894 is in part a textbook of mathematics, a Secondary Section may not 2895 explain any mathematics.) The relationship could be a matter of 2896 historical connection with the subject or with related matters, or 2897 of legal, commercial, philosophical, ethical or political position 2898 regarding them. 2188 2899 2189 2900 The "Invariant Sections" are certain Secondary Sections whose 2190 2901 titles are designated, as being those of Invariant Sections, in 2191 2902 the notice that says that the Document is released under this 2192 License. 2903 License. If a section does not fit the above definition of 2904 Secondary then it is not allowed to be designated as Invariant. 2905 The Document may contain zero Invariant Sections. If the Document 2906 does not identify any Invariant Sections then there are none. 2193 2907 2194 2908 The "Cover Texts" are certain short passages of text that are 2195 2909 listed, as Front-Cover Texts or Back-Cover Texts, in the notice 2196 that says that the Document is released under this License. 2910 that says that the Document is released under this License. A 2911 Front-Cover Text may be at most 5 words, and a Back-Cover Text may 2912 be at most 25 words. 2197 2913 2198 2914 A "Transparent" copy of the Document means a machine-readable copy, 2199 2915 represented in a format whose specification is available to the 2200 general public, whose contents can be viewed and edited directly2201 andstraightforwardly with generic text editors or (for images2916 general public, that is suitable for revising the document 2917 straightforwardly with generic text editors or (for images 2202 2918 composed of pixels) generic paint programs or (for drawings) some 2203 2919 widely available drawing editor, and that is suitable for input to 2204 2920 text formatters or for automatic translation to a variety of 2205 2921 formats suitable for input to text formatters. A copy made in an 2206 otherwise Transparent file format whose markup has been designed 2207 to thwart or discourage subsequent modification by readers is not 2208 Transparent. A copy that is not "Transparent" is called "Opaque". 2922 otherwise Transparent file format whose markup, or absence of 2923 markup, has been arranged to thwart or discourage subsequent 2924 modification by readers is not Transparent. An image format is 2925 not Transparent if used for any substantial amount of text. A 2926 copy that is not "Transparent" is called "Opaque". 2209 2927 2210 2928 Examples of suitable formats for Transparent copies include plain 2211 2929 ASCII without markup, Texinfo input format, LaTeX input format, 2212 2930 SGML or XML using a publicly available DTD, and 2213 standard-conforming simple HTML designed for human modification. 2214 Opaque formats include PostScript, PDF, proprietary formats that 2215 can be read and edited only by proprietary word processors, SGML 2216 or XML for which the DTD and/or processing tools are not generally 2217 available, and the machine-generated HTML produced by some word 2218 processors for output purposes only. 2931 standard-conforming simple HTML, PostScript or PDF designed for 2932 human modification. Examples of transparent image formats include 2933 PNG, XCF and JPG. Opaque formats include proprietary formats that 2934 can be read and edited only by proprietary word processors, SGML or 2935 XML for which the DTD and/or processing tools are not generally 2936 available, and the machine-generated HTML, PostScript or PDF 2937 produced by some word processors for output purposes only. 2219 2938 2220 2939 The "Title Page" means, for a printed book, the title page itself, … … 2224 2943 Page" means the text near the most prominent appearance of the 2225 2944 work's title, preceding the beginning of the body of the text. 2945 2946 A section "Entitled XYZ" means a named subunit of the Document 2947 whose title either is precisely XYZ or contains XYZ in parentheses 2948 following text that translates XYZ in another language. (Here XYZ 2949 stands for a specific section name mentioned below, such as 2950 "Acknowledgements", "Dedications", "Endorsements", or "History".) 2951 To "Preserve the Title" of such a section when you modify the 2952 Document means that it remains a section "Entitled XYZ" according 2953 to this definition. 2954 2955 The Document may include Warranty Disclaimers next to the notice 2956 which states that this License applies to the Document. These 2957 Warranty Disclaimers are considered to be included by reference in 2958 this License, but only as regards disclaiming warranties: any other 2959 implication that these Warranty Disclaimers may have is void and 2960 has no effect on the meaning of this License. 2226 2961 2227 2962 2. VERBATIM COPYING … … 2243 2978 3. COPYING IN QUANTITY 2244 2979 2245 If you publish printed copies of the Document numbering more than 2246 100, and the Document's license notice requires Cover Texts, you 2247 must enclose the copies in covers that carry, clearly and legibly, 2248 all these Cover Texts: Front-Cover Texts on the front cover, and 2980 If you publish printed copies (or copies in media that commonly 2981 have printed covers) of the Document, numbering more than 100, and 2982 the Document's license notice requires Cover Texts, you must 2983 enclose the copies in covers that carry, clearly and legibly, all 2984 these Cover Texts: Front-Cover Texts on the front cover, and 2249 2985 Back-Cover Texts on the back cover. Both covers must also clearly 2250 2986 and legibly identify you as the publisher of these copies. The … … 2264 3000 numbering more than 100, you must either include a 2265 3001 machine-readable Transparent copy along with each Opaque copy, or 2266 state in or with each Opaque copy a publicly-accessible 2267 computer-network location containing a complete Transparent copy 2268 of the Document, free of added material, which the general 2269 network-using public has access to download anonymously at no 2270 charge using public-standard network protocols. If you use the 3002 state in or with each Opaque copy a computer-network location from 3003 which the general network-using public has access to download 3004 using public-standard network protocols a complete Transparent 3005 copy of the Document, free of added material. If you use the 2271 3006 latter option, you must take reasonably prudent steps, when you 2272 3007 begin distribution of Opaque copies in quantity, to ensure that … … 2302 3037 the Modified Version, together with at least five of the 2303 3038 principal authors of the Document (all of its principal 2304 authors, if it has less than five). 3039 authors, if it has fewer than five), unless they release you 3040 from this requirement. 2305 3041 2306 3042 C. State on the Title page the name of the publisher of the … … 2323 3059 H. Include an unaltered copy of this License. 2324 3060 2325 I. Preserve the section entitled "History", and its title, and2326 a dd to it an item stating at least the title, year, new3061 I. Preserve the section Entitled "History", Preserve its Title, 3062 and add to it an item stating at least the title, year, new 2327 3063 authors, and publisher of the Modified Version as given on 2328 the Title Page. If there is no section entitled "History" in3064 the Title Page. If there is no section Entitled "History" in 2329 3065 the Document, create one stating the title, year, authors, 2330 3066 and publisher of the Document as given on its Title Page, … … 2341 3077 it refers to gives permission. 2342 3078 2343 K. In any section entitled "Acknowledgments" or "Dedications",2344 preserve the section's title, and preserve in the section all2345 the substance and tone of each of the contributor2346 acknowledg ments and/or dedications given therein.3079 K. For any section Entitled "Acknowledgements" or "Dedications", 3080 Preserve the Title of the section, and preserve in the 3081 section all the substance and tone of each of the contributor 3082 acknowledgements and/or dedications given therein. 2347 3083 2348 3084 L. Preserve all the Invariant Sections of the Document, … … 2351 3087 titles. 2352 3088 2353 M. Delete any section entitled "Endorsements". Such a section3089 M. Delete any section Entitled "Endorsements". Such a section 2354 3090 may not be included in the Modified Version. 2355 3091 2356 N. Do not retitle any existing section as "Endorsements" or to 2357 conflict in title with any Invariant Section. 3092 N. Do not retitle any existing section to be Entitled 3093 "Endorsements" or to conflict in title with any Invariant 3094 Section. 3095 3096 O. Preserve any Warranty Disclaimers. 2358 3097 2359 3098 If the Modified Version includes new front-matter sections or … … 2365 3104 other section titles. 2366 3105 2367 You may add a section entitled "Endorsements", provided it contains3106 You may add a section Entitled "Endorsements", provided it contains 2368 3107 nothing but endorsements of your Modified Version by various 2369 3108 parties--for example, statements of peer review or that the text … … 2393 3132 all of the Invariant Sections of all of the original documents, 2394 3133 unmodified, and list them all as Invariant Sections of your 2395 combined work in its license notice. 3134 combined work in its license notice, and that you preserve all 3135 their Warranty Disclaimers. 2396 3136 2397 3137 The combined work need only contain one copy of this License, and … … 2405 3145 combined work. 2406 3146 2407 In the combination, you must combine any sections entitled3147 In the combination, you must combine any sections Entitled 2408 3148 "History" in the various original documents, forming one section 2409 entitled "History"; likewise combine any sections entitled2410 "Acknowledg ments", and any sections entitled "Dedications". You2411 must delete all sections entitled "Endorsements."3149 Entitled "History"; likewise combine any sections Entitled 3150 "Acknowledgements", and any sections Entitled "Dedications". You 3151 must delete all sections Entitled "Endorsements." 2412 3152 2413 3153 6. COLLECTIONS OF DOCUMENTS … … 2430 3170 A compilation of the Document or its derivatives with other 2431 3171 separate and independent documents or works, in or on a volume of 2432 a storage or distribution medium, does not as a whole count as a 2433 Modified Version of the Document, provided no compilation 2434 copyright is claimed for the compilation. Such a compilation is 2435 called an "aggregate", and this License does not apply to the 2436 other self-contained works thus compiled with the Document, on 2437 account of their being thus compiled, if they are not themselves 2438 derivative works of the Document. 3172 a storage or distribution medium, is called an "aggregate" if the 3173 copyright resulting from the compilation is not used to limit the 3174 legal rights of the compilation's users beyond what the individual 3175 works permit. When the Document is included in an aggregate, this 3176 License does not apply to the other works in the aggregate which 3177 are not themselves derivative works of the Document. 2439 3178 2440 3179 If the Cover Text requirement of section 3 is applicable to these 2441 copies of the Document, then if the Document is less than one 2442 quarter of the entire aggregate, the Document's Cover Texts may be 2443 placed on covers that surround only the Document within the 2444 aggregate. Otherwise they must appear on covers around the whole 2445 aggregate. 3180 copies of the Document, then if the Document is less than one half 3181 of the entire aggregate, the Document's Cover Texts may be placed 3182 on covers that bracket the Document within the aggregate, or the 3183 electronic equivalent of covers if the Document is in electronic 3184 form. Otherwise they must appear on printed covers that bracket 3185 the whole aggregate. 2446 3186 2447 3187 8. TRANSLATION … … 2453 3193 translations of some or all Invariant Sections in addition to the 2454 3194 original versions of these Invariant Sections. You may include a 2455 translation of this License provided that you also include the 2456 original English version of this License. In case of a 2457 disagreement between the translation and the original English 2458 version of this License, the original English version will prevail. 3195 translation of this License, and all the license notices in the 3196 Document, and any Warranty Disclaimers, provided that you also 3197 include the original English version of this License and the 3198 original versions of those notices and disclaimers. In case of a 3199 disagreement between the translation and the original version of 3200 this License or a notice or disclaimer, the original version will 3201 prevail. 3202 3203 If a section in the Document is Entitled "Acknowledgements", 3204 "Dedications", or "History", the requirement (section 4) to 3205 Preserve its Title (section 1) will typically require changing the 3206 actual title. 2459 3207 2460 3208 9. TERMINATION … … 2486 3234 Free Software Foundation. 2487 3235 2488 ADDENDUM: How to use this License for your documents2489 ==================================================== 3236 D.1 ADDENDUM: How to use this License for your documents 3237 ======================================================== 2490 3238 2491 3239 To use this License in a document you have written, include a copy of … … 2495 3243 Copyright (C) YEAR YOUR NAME. 2496 3244 Permission is granted to copy, distribute and/or modify this document 2497 under the terms of the GNU Free Documentation License, Version 1. 13245 under the terms of the GNU Free Documentation License, Version 1.2 2498 3246 or any later version published by the Free Software Foundation; 2499 with the Invariant Sections being LIST THEIR TITLES, with the 2500 Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. 2501 A copy of the license is included in the section entitled ``GNU 3247 with no Invariant Sections, no Front-Cover Texts, and no Back-Cover 3248 Texts. A copy of the license is included in the section entitled ``GNU 2502 3249 Free Documentation License''. 2503 3250 2504 If you have no Invariant Sections, write "with no Invariant Sections" 2505 instead of saying which ones are invariant. If you have no Front-Cover 2506 Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being 2507 LIST"; likewise for Back-Cover Texts. 3251 If you have Invariant Sections, Front-Cover Texts and Back-Cover 3252 Texts, replace the "with...Texts." line with this: 3253 3254 with the Invariant Sections being LIST THEIR TITLES, with 3255 the Front-Cover Texts being LIST, and with the Back-Cover Texts 3256 being LIST. 3257 3258 If you have Invariant Sections without Cover Texts, or some other 3259 combination of the three, merge those two alternatives to suit the 3260 situation. 2508 3261 2509 3262 If your document contains nontrivial examples of program code, we … … 2518 3271 ***************** 2519 3272 3273 [index] 2520 3274 * Menu: 2521 3275 2522 * # (comments), in commands: Command s.2523 * # (comments), in makefile: Makefile Contents. 3276 * # (comments), in commands: Command Syntax. (line 27) 3277 * # (comments), in makefile: Makefile Contents. (line 41) 2524 3278 * #include: Automatic Prerequisites. 2525 * $$@, support for: Automatic Variables. 2526 * $, in function call: Syntax of Functions. 2527 * $, in rules: Rule Syntax. 2528 * $, in variable name: Computed Names. 2529 * $, in variable reference: Reference. 2530 * %, in pattern rules: Pattern Intro. 2531 * %, quoting in patsubst: Text Functions. 2532 * %, quoting in static pattern: Static Usage. 2533 * %, quoting in vpath: Selective Search. 2534 * %, quoting with \ (backslash) <1>: Text Functions. 2535 * %, quoting with \ (backslash) <2>: Static Usage. 2536 * %, quoting with \ (backslash): Selective Search. 2537 * * (wildcard character): Wildcards. 3279 (line 16) 3280 * $, in function call: Syntax of Functions. (line 6) 3281 * $, in rules: Rule Syntax. (line 32) 3282 * $, in variable name: Computed Names. (line 6) 3283 * $, in variable reference: Reference. (line 6) 3284 * %, in pattern rules: Pattern Intro. (line 9) 3285 * %, quoting in patsubst: Text Functions. (line 26) 3286 * %, quoting in static pattern: Static Usage. (line 37) 3287 * %, quoting in vpath: Selective Search. (line 38) 3288 * %, quoting with \ (backslash) <1>: Text Functions. (line 26) 3289 * %, quoting with \ (backslash) <2>: Static Usage. (line 37) 3290 * %, quoting with \ (backslash): Selective Search. (line 38) 3291 * * (wildcard character): Wildcards. (line 6) 2538 3292 * +, and command execution: Instead of Execution. 2539 * +, and commands: MAKE Variable. 2540 * +, and define: Sequences. 2541 * +=: Appending. 2542 * +=, expansion: Reading Makefiles. 2543 * ,v (RCS file extension): Catalogue of Rules. 2544 * - (in commands): Errors. 2545 * -, and define: Sequences. 2546 * --always-make: Options Summary. 2547 * --assume-new <1>: Options Summary. 3293 (line 58) 3294 * +, and commands: MAKE Variable. (line 18) 3295 * +, and define: Sequences. (line 50) 3296 * +=: Appending. (line 6) 3297 * +=, expansion: Reading Makefiles. (line 33) 3298 * ,v (RCS file extension): Catalogue of Rules. (line 164) 3299 * - (in commands): Errors. (line 19) 3300 * -, and define: Sequences. (line 50) 3301 * --always-make: Options Summary. (line 15) 3302 * --assume-new <1>: Options Summary. (line 242) 2548 3303 * --assume-new: Instead of Execution. 2549 * --assume-new, and recursion: Options/Recursion. 2550 * --assume-old <1>: Options Summary. 3304 (line 33) 3305 * --assume-new, and recursion: Options/Recursion. (line 22) 3306 * --assume-old <1>: Options Summary. (line 147) 2551 3307 * --assume-old: Avoiding Compilation. 2552 * --assume-old, and recursion: Options/Recursion. 2553 * --debug: Options Summary. 2554 * --directory <1>: Options Summary. 2555 * --directory: Recursion. 2556 * --directory, and --print-directory: -w Option. 2557 * --directory, and recursion: Options/Recursion. 2558 * --dry-run <1>: Options Summary. 3308 (line 6) 3309 * --assume-old, and recursion: Options/Recursion. (line 22) 3310 * --check-symlink-times: Options Summary. (line 130) 3311 * --debug: Options Summary. (line 42) 3312 * --directory <1>: Options Summary. (line 26) 3313 * --directory: Recursion. (line 20) 3314 * --directory, and --print-directory: -w Option. (line 20) 3315 * --directory, and recursion: Options/Recursion. (line 22) 3316 * --dry-run <1>: Options Summary. (line 140) 2559 3317 * --dry-run <2>: Instead of Execution. 2560 * --dry-run: Echoing. 2561 * --environment-overrides: Options Summary. 2562 * --file <1>: Options Summary. 2563 * --file <2>: Makefile Arguments. 2564 * --file: Makefile Names. 2565 * --file, and recursion: Options/Recursion. 2566 * --help: Options Summary. 2567 * --ignore-errors <1>: Options Summary. 2568 * --ignore-errors: Errors. 2569 * --include-dir <1>: Options Summary. 2570 * --include-dir: Include. 2571 * --jobs <1>: Options Summary. 2572 * --jobs: Parallel. 2573 * --jobs, and recursion: Options/Recursion. 2574 * --just-print <1>: Options Summary. 3318 (line 14) 3319 * --dry-run: Echoing. (line 18) 3320 * --environment-overrides: Options Summary. (line 78) 3321 * --file <1>: Options Summary. (line 84) 3322 * --file <2>: Makefile Arguments. (line 6) 3323 * --file: Makefile Names. (line 23) 3324 * --file, and recursion: Options/Recursion. (line 22) 3325 * --help: Options Summary. (line 90) 3326 * --ignore-errors <1>: Options Summary. (line 94) 3327 * --ignore-errors: Errors. (line 30) 3328 * --include-dir <1>: Options Summary. (line 99) 3329 * --include-dir: Include. (line 52) 3330 * --jobs <1>: Options Summary. (line 106) 3331 * --jobs: Parallel. (line 6) 3332 * --jobs, and recursion: Options/Recursion. (line 25) 3333 * --just-print <1>: Options Summary. (line 139) 2575 3334 * --just-print <2>: Instead of Execution. 2576 * --just-print: Echoing. 2577 * --keep-going <1>: Options Summary. 2578 * --keep-going <2>: Testing. 2579 * --keep-going: Errors. 2580 * --load-average <1>: Options Summary. 2581 * --load-average: Parallel. 2582 * --makefile <1>: Options Summary. 2583 * --makefile <2>: Makefile Arguments. 2584 * --makefile: Makefile Names. 2585 * --max-load <1>: Options Summary. 2586 * --max-load: Parallel. 2587 * --new-file <1>: Options Summary. 3335 (line 14) 3336 * --just-print: Echoing. (line 18) 3337 * --keep-going <1>: Options Summary. (line 115) 3338 * --keep-going <2>: Testing. (line 16) 3339 * --keep-going: Errors. (line 47) 3340 * --load-average <1>: Options Summary. (line 122) 3341 * --load-average: Parallel. (line 57) 3342 * --makefile <1>: Options Summary. (line 85) 3343 * --makefile <2>: Makefile Arguments. (line 6) 3344 * --makefile: Makefile Names. (line 23) 3345 * --max-load <1>: Options Summary. (line 123) 3346 * --max-load: Parallel. (line 57) 3347 * --new-file <1>: Options Summary. (line 241) 2588 3348 * --new-file: Instead of Execution. 2589 * --new-file, and recursion: Options/Recursion. 2590 * --no-builtin-rules: Options Summary. 2591 * --no-builtin-variables: Options Summary. 2592 * --no-keep-going: Options Summary. 2593 * --no-print-directory <1>: Options Summary. 2594 * --no-print-directory: -w Option. 2595 * --old-file <1>: Options Summary. 3349 (line 33) 3350 * --new-file, and recursion: Options/Recursion. (line 22) 3351 * --no-builtin-rules: Options Summary. (line 175) 3352 * --no-builtin-variables: Options Summary. (line 188) 3353 * --no-keep-going: Options Summary. (line 203) 3354 * --no-print-directory <1>: Options Summary. (line 233) 3355 * --no-print-directory: -w Option. (line 20) 3356 * --old-file <1>: Options Summary. (line 146) 2596 3357 * --old-file: Avoiding Compilation. 2597 * --old-file, and recursion: Options/Recursion. 2598 * --print-data-base: Options Summary. 2599 * --print-directory: Options Summary. 2600 * --print-directory, and --directory: -w Option. 2601 * --print-directory, and recursion: -w Option. 2602 * --print-directory, disabling: -w Option. 2603 * --question <1>: Options Summary. 3358 (line 6) 3359 * --old-file, and recursion: Options/Recursion. (line 22) 3360 * --print-data-base: Options Summary. (line 155) 3361 * --print-directory: Options Summary. (line 225) 3362 * --print-directory, and --directory: -w Option. (line 20) 3363 * --print-directory, and recursion: -w Option. (line 20) 3364 * --print-directory, disabling: -w Option. (line 20) 3365 * --question <1>: Options Summary. (line 167) 2604 3366 * --question: Instead of Execution. 2605 * --quiet <1>: Options Summary. 2606 * --quiet: Echoing. 2607 * --recon <1>: Options Summary. 3367 (line 25) 3368 * --quiet <1>: Options Summary. (line 198) 3369 * --quiet: Echoing. (line 24) 3370 * --recon <1>: Options Summary. (line 141) 2608 3371 * --recon <2>: Instead of Execution. 2609 * --recon: Echoing. 2610 * --silent <1>: Options Summary. 2611 * --silent: Echoing. 2612 * --stop: Options Summary. 2613 * --touch <1>: Options Summary. 3372 (line 14) 3373 * --recon: Echoing. (line 18) 3374 * --silent <1>: Options Summary. (line 197) 3375 * --silent: Echoing. (line 24) 3376 * --stop: Options Summary. (line 204) 3377 * --touch <1>: Options Summary. (line 212) 2614 3378 * --touch: Instead of Execution. 2615 * --touch, and recursion: MAKE Variable. 2616 * --version: Options Summary. 2617 * --warn-undefined-variables: Options Summary. 2618 * --what-if <1>: Options Summary. 3379 (line 19) 3380 * --touch, and recursion: MAKE Variable. (line 34) 3381 * --version: Options Summary. (line 220) 3382 * --warn-undefined-variables: Options Summary. (line 251) 3383 * --what-if <1>: Options Summary. (line 240) 2619 3384 * --what-if: Instead of Execution. 2620 * -B: Options Summary. 2621 * -b: Options Summary. 2622 * -C <1>: Options Summary. 2623 * -C: Recursion. 2624 * -C, and -w: -w Option. 2625 * -C, and recursion: Options/Recursion. 2626 * -d: Options Summary. 2627 * -e: Options Summary. 3385 (line 33) 3386 * -B: Options Summary. (line 14) 3387 * -b: Options Summary. (line 9) 3388 * -C <1>: Options Summary. (line 25) 3389 * -C: Recursion. (line 20) 3390 * -C, and -w: -w Option. (line 20) 3391 * -C, and recursion: Options/Recursion. (line 22) 3392 * -d: Options Summary. (line 33) 3393 * -e: Options Summary. (line 77) 2628 3394 * -e (shell flag): Automatic Prerequisites. 2629 * -f <1>: Options Summary. 2630 * -f <2>: Makefile Arguments. 2631 * -f: Makefile Names. 2632 * -f, and recursion: Options/Recursion. 2633 * -h: Options Summary. 2634 * -I: Options Summary. 2635 * -i <1>: Options Summary. 2636 * -i: Errors. 2637 * -I: Include. 2638 * -j <1>: Options Summary. 2639 * -j: Parallel. 2640 * -j, and archive update: Archive Pitfalls. 2641 * -j, and recursion: Options/Recursion. 2642 * -k <1>: Options Summary. 2643 * -k <2>: Testing. 2644 * -k: Errors. 2645 * -l: Options Summary. 2646 * -l (library search): Libraries/Search. 2647 * -l (load average): Parallel. 2648 * -m: Options Summary. 3395 (line 66) 3396 * -f <1>: Options Summary. (line 83) 3397 * -f <2>: Makefile Arguments. (line 6) 3398 * -f: Makefile Names. (line 23) 3399 * -f, and recursion: Options/Recursion. (line 22) 3400 * -h: Options Summary. (line 89) 3401 * -I: Options Summary. (line 98) 3402 * -i <1>: Options Summary. (line 93) 3403 * -i: Errors. (line 30) 3404 * -I: Include. (line 52) 3405 * -j <1>: Options Summary. (line 105) 3406 * -j: Parallel. (line 6) 3407 * -j, and archive update: Archive Pitfalls. (line 6) 3408 * -j, and recursion: Options/Recursion. (line 25) 3409 * -k <1>: Options Summary. (line 114) 3410 * -k <2>: Testing. (line 16) 3411 * -k: Errors. (line 47) 3412 * -L: Options Summary. (line 129) 3413 * -l: Options Summary. (line 121) 3414 * -l (library search): Libraries/Search. (line 6) 3415 * -l (load average): Parallel. (line 57) 3416 * -m: Options Summary. (line 10) 2649 3417 * -M (to compiler): Automatic Prerequisites. 3418 (line 18) 2650 3419 * -MM (to GNU compiler): Automatic Prerequisites. 2651 * -n <1>: Options Summary. 3420 (line 68) 3421 * -n <1>: Options Summary. (line 138) 2652 3422 * -n <2>: Instead of Execution. 2653 * -n: Echoing. 2654 * -o <1>: Options Summary. 3423 (line 14) 3424 * -n: Echoing. (line 18) 3425 * -o <1>: Options Summary. (line 145) 2655 3426 * -o: Avoiding Compilation. 2656 * -o, and recursion: Options/Recursion. 2657 * -p: Options Summary. 2658 * -q <1>: Options Summary. 3427 (line 6) 3428 * -o, and recursion: Options/Recursion. (line 22) 3429 * -p: Options Summary. (line 154) 3430 * -q <1>: Options Summary. (line 166) 2659 3431 * -q: Instead of Execution. 2660 * -R: Options Summary. 2661 * -r: Options Summary. 2662 * -S: Options Summary. 2663 * -s <1>: Options Summary. 2664 * -s: Echoing. 2665 * -t <1>: Options Summary. 3432 (line 25) 3433 * -R: Options Summary. (line 187) 3434 * -r: Options Summary. (line 174) 3435 * -S: Options Summary. (line 202) 3436 * -s <1>: Options Summary. (line 196) 3437 * -s: Echoing. (line 24) 3438 * -t <1>: Options Summary. (line 211) 2666 3439 * -t: Instead of Execution. 2667 * -t, and recursion: MAKE Variable. 2668 * -v: Options Summary. 2669 * -W: Options Summary. 2670 * -w: Options Summary. 3440 (line 19) 3441 * -t, and recursion: MAKE Variable. (line 34) 3442 * -v: Options Summary. (line 219) 3443 * -W: Options Summary. (line 239) 3444 * -w: Options Summary. (line 224) 2671 3445 * -W: Instead of Execution. 2672 * -w, and -C: -w Option. 2673 * -w, and recursion: -w Option. 2674 * -W, and recursion: Options/Recursion. 2675 * -w, disabling: -w Option. 3446 (line 33) 3447 * -w, and -C: -w Option. (line 20) 3448 * -w, and recursion: -w Option. (line 20) 3449 * -W, and recursion: Options/Recursion. (line 22) 3450 * -w, disabling: -w Option. (line 20) 2676 3451 * .a (archives): Archive Suffix Rules. 2677 * .C: Catalogue of Rules. 2678 * .c: Catalogue of Rules. 2679 * .cc: Catalogue of Rules. 2680 * .ch: Catalogue of Rules. 3452 (line 6) 3453 * .C: Catalogue of Rules. (line 39) 3454 * .c: Catalogue of Rules. (line 35) 3455 * .cc: Catalogue of Rules. (line 39) 3456 * .ch: Catalogue of Rules. (line 151) 3457 * .cpp: Catalogue of Rules. (line 39) 2681 3458 * .d: Automatic Prerequisites. 2682 * .def: Catalogue of Rules. 2683 * .dvi: Catalogue of Rules. 2684 * .F: Catalogue of Rules. 2685 * .f: Catalogue of Rules. 2686 * .info: Catalogue of Rules. 2687 * .l: Catalogue of Rules. 2688 * .LIBPATTERNS, and link libraries: Libraries/Search. 2689 * .ln: Catalogue of Rules. 2690 * .mod: Catalogue of Rules. 2691 * .o: Catalogue of Rules. 2692 * .p: Catalogue of Rules. 2693 * .PRECIOUS intermediate files: Chained Rules. 2694 * .r: Catalogue of Rules. 2695 * .S: Catalogue of Rules. 2696 * .s: Catalogue of Rules. 2697 * .sh: Catalogue of Rules. 2698 * .sym: Catalogue of Rules. 2699 * .tex: Catalogue of Rules. 2700 * .texi: Catalogue of Rules. 2701 * .texinfo: Catalogue of Rules. 2702 * .txinfo: Catalogue of Rules. 2703 * .w: Catalogue of Rules. 2704 * .web: Catalogue of Rules. 2705 * .y: Catalogue of Rules. 2706 * :: rules (double-colon): Double-Colon. 2707 * := <1>: Setting. 2708 * :=: Flavors. 2709 * = <1>: Setting. 2710 * =: Flavors. 2711 * =, expansion: Reading Makefiles. 2712 * ? (wildcard character): Wildcards. 2713 * ?= <1>: Setting. 2714 * ?=: Flavors. 2715 * ?=, expansion: Reading Makefiles. 2716 * @ (in commands): Echoing. 2717 * @, and define: Sequences. 2718 * [...] (wildcard characters): Wildcards. 2719 * \ (backslash), for continuation lines: Simple Makefile. 2720 * \ (backslash), in commands: Execution. 2721 * \ (backslash), to quote % <1>: Text Functions. 2722 * \ (backslash), to quote % <2>: Static Usage. 2723 * \ (backslash), to quote %: Selective Search. 2724 * __.SYMDEF: Archive Symbols. 2725 * algorithm for directory search: Search Algorithm. 2726 * all (standard target): Goals. 2727 * appending to variables: Appending. 2728 * ar: Implicit Variables. 2729 * archive: Archives. 2730 * archive member targets: Archive Members. 2731 * archive symbol directory updating: Archive Symbols. 2732 * archive, and -j: Archive Pitfalls. 2733 * archive, and parallel execution: Archive Pitfalls. 3459 (line 81) 3460 * .def: Catalogue of Rules. (line 74) 3461 * .dvi: Catalogue of Rules. (line 151) 3462 * .F: Catalogue of Rules. (line 49) 3463 * .f: Catalogue of Rules. (line 49) 3464 * .info: Catalogue of Rules. (line 158) 3465 * .l: Catalogue of Rules. (line 124) 3466 * .LIBPATTERNS, and link libraries: Libraries/Search. (line 6) 3467 * .ln: Catalogue of Rules. (line 146) 3468 * .mod: Catalogue of Rules. (line 74) 3469 * .o: Catalogue of Rules. (line 35) 3470 * .p: Catalogue of Rules. (line 45) 3471 * .PRECIOUS intermediate files: Chained Rules. (line 56) 3472 * .r: Catalogue of Rules. (line 49) 3473 * .S: Catalogue of Rules. (line 82) 3474 * .s: Catalogue of Rules. (line 79) 3475 * .sh: Catalogue of Rules. (line 180) 3476 * .sym: Catalogue of Rules. (line 74) 3477 * .tex: Catalogue of Rules. (line 151) 3478 * .texi: Catalogue of Rules. (line 158) 3479 * .texinfo: Catalogue of Rules. (line 158) 3480 * .txinfo: Catalogue of Rules. (line 158) 3481 * .w: Catalogue of Rules. (line 151) 3482 * .web: Catalogue of Rules. (line 151) 3483 * .y: Catalogue of Rules. (line 120) 3484 * :: rules (double-colon): Double-Colon. (line 6) 3485 * := <1>: Setting. (line 6) 3486 * :=: Flavors. (line 56) 3487 * = <1>: Setting. (line 6) 3488 * =: Flavors. (line 10) 3489 * =, expansion: Reading Makefiles. (line 33) 3490 * ? (wildcard character): Wildcards. (line 6) 3491 * ?= <1>: Setting. (line 6) 3492 * ?=: Flavors. (line 129) 3493 * ?=, expansion: Reading Makefiles. (line 33) 3494 * @ (in commands): Echoing. (line 6) 3495 * @, and define: Sequences. (line 50) 3496 * [...] (wildcard characters): Wildcards. (line 6) 3497 * \ (backslash), for continuation lines: Simple Makefile. (line 40) 3498 * \ (backslash), in commands: Splitting Lines. (line 6) 3499 * \ (backslash), to quote % <1>: Text Functions. (line 26) 3500 * \ (backslash), to quote % <2>: Static Usage. (line 37) 3501 * \ (backslash), to quote %: Selective Search. (line 38) 3502 * __.SYMDEF: Archive Symbols. (line 6) 3503 * abspath: File Name Functions. (line 121) 3504 * algorithm for directory search: Search Algorithm. (line 6) 3505 * all (standard target): Goals. (line 72) 3506 * appending to variables: Appending. (line 6) 3507 * ar: Implicit Variables. (line 41) 3508 * archive: Archives. (line 6) 3509 * archive member targets: Archive Members. (line 6) 3510 * archive symbol directory updating: Archive Symbols. (line 6) 3511 * archive, and -j: Archive Pitfalls. (line 6) 3512 * archive, and parallel execution: Archive Pitfalls. (line 6) 2734 3513 * archive, suffix rule for: Archive Suffix Rules. 2735 * Arg list too long: Options/Recursion. 2736 * arguments of functions: Syntax of Functions. 2737 * as <1>: Implicit Variables. 2738 * as: Catalogue of Rules. 2739 * assembly, rule to compile: Catalogue of Rules. 3514 (line 6) 3515 * Arg list too long: Options/Recursion. (line 57) 3516 * arguments of functions: Syntax of Functions. (line 6) 3517 * as <1>: Implicit Variables. (line 44) 3518 * as: Catalogue of Rules. (line 79) 3519 * assembly, rule to compile: Catalogue of Rules. (line 79) 2740 3520 * automatic generation of prerequisites <1>: Automatic Prerequisites. 2741 * automatic generation of prerequisites: Include. 2742 * automatic variables: Automatic Variables. 2743 * automatic variables in prerequisites: Automatic Variables. 2744 * backquotes: Shell Function. 2745 * backslash (\), for continuation lines: Simple Makefile. 2746 * backslash (\), in commands: Execution. 2747 * backslash (\), to quote % <1>: Text Functions. 2748 * backslash (\), to quote % <2>: Static Usage. 2749 * backslash (\), to quote %: Selective Search. 3521 (line 6) 3522 * automatic generation of prerequisites: Include. (line 50) 3523 * automatic variables: Automatic Variables. (line 6) 3524 * automatic variables in prerequisites: Automatic Variables. (line 17) 3525 * backquotes: Shell Function. (line 6) 3526 * backslash (\), for continuation lines: Simple Makefile. (line 40) 3527 * backslash (\), in commands: Splitting Lines. (line 6) 3528 * backslash (\), to quote % <1>: Text Functions. (line 26) 3529 * backslash (\), to quote % <2>: Static Usage. (line 37) 3530 * backslash (\), to quote %: Selective Search. (line 38) 2750 3531 * backslashes in pathnames and wildcard expansion: Wildcard Pitfall. 2751 * basename: File Name Functions. 3532 (line 31) 3533 * basename: File Name Functions. (line 57) 2752 3534 * binary packages: Install Command Categories. 2753 * broken pipe: Parallel. 2754 * bugs, reporting: Bugs. 2755 * built-in special targets: Special Targets. 2756 * C++, rule to compile: Catalogue of Rules. 2757 * C, rule to compile: Catalogue of Rules. 2758 * cc <1>: Implicit Variables. 2759 * cc: Catalogue of Rules. 2760 * cd (shell command) <1>: MAKE Variable. 2761 * cd (shell command): Execution. 2762 * chains of rules: Chained Rules. 2763 * check (standard target): Goals. 2764 * clean (standard target): Goals. 2765 * clean target <1>: Cleanup. 2766 * clean target: Simple Makefile. 2767 * cleaning up: Cleanup. 2768 * clobber (standard target): Goals. 2769 * co <1>: Implicit Variables. 2770 * co: Catalogue of Rules. 3535 (line 80) 3536 * broken pipe: Parallel. (line 30) 3537 * bugs, reporting: Bugs. (line 6) 3538 * built-in special targets: Special Targets. (line 6) 3539 * C++, rule to compile: Catalogue of Rules. (line 39) 3540 * C, rule to compile: Catalogue of Rules. (line 35) 3541 * cc <1>: Implicit Variables. (line 47) 3542 * cc: Catalogue of Rules. (line 35) 3543 * cd (shell command) <1>: MAKE Variable. (line 16) 3544 * cd (shell command): Execution. (line 10) 3545 * chains of rules: Chained Rules. (line 6) 3546 * check (standard target): Goals. (line 114) 3547 * clean (standard target): Goals. (line 75) 3548 * clean target <1>: Cleanup. (line 11) 3549 * clean target: Simple Makefile. (line 83) 3550 * cleaning up: Cleanup. (line 6) 3551 * clobber (standard target): Goals. (line 86) 3552 * co <1>: Implicit Variables. (line 56) 3553 * co: Catalogue of Rules. (line 164) 2771 3554 * combining rules by prerequisite: Combine By Prerequisite. 3555 (line 6) 2772 3556 * command line variable definitions, and recursion: Options/Recursion. 2773 * command line variables: Overriding. 2774 * commands: Rule Syntax. 2775 * commands, backslash (\) in: Execution. 2776 * commands, comments in: Commands. 2777 * commands, echoing: Echoing. 2778 * commands, empty: Empty Commands. 2779 * commands, errors in: Errors. 2780 * commands, execution: Execution. 2781 * commands, execution in parallel: Parallel. 2782 * commands, expansion: Shell Function. 2783 * commands, how to write: Commands. 3557 (line 17) 3558 * command line variables: Overriding. (line 6) 3559 * command syntax: Command Syntax. (line 6) 3560 * commands: Rule Syntax. (line 26) 3561 * commands setting shell variables: Execution. (line 10) 3562 * commands, backslash (\) in: Splitting Lines. (line 6) 3563 * commands, comments in: Command Syntax. (line 27) 3564 * commands, echoing: Echoing. (line 6) 3565 * commands, empty: Empty Commands. (line 6) 3566 * commands, errors in: Errors. (line 6) 3567 * commands, execution: Execution. (line 6) 3568 * commands, execution in parallel: Parallel. (line 6) 3569 * commands, expansion: Shell Function. (line 6) 3570 * commands, how to write: Commands. (line 6) 2784 3571 * commands, instead of executing: Instead of Execution. 2785 * commands, introduction to: Rule Introduction. 2786 * commands, quoting newlines in: Execution. 2787 * commands, sequences of: Sequences. 2788 * comments, in commands: Commands. 2789 * comments, in makefile: Makefile Contents. 2790 * compatibility: Features. 2791 * compatibility in exporting: Variables/Recursion. 2792 * compilation, testing: Testing. 2793 * computed variable name: Computed Names. 2794 * conditional expansion: If Function. 2795 * conditional variable assignment: Flavors. 2796 * conditionals: Conditionals. 2797 * continuation lines: Simple Makefile. 3572 (line 6) 3573 * commands, introduction to: Rule Introduction. (line 8) 3574 * commands, quoting newlines in: Splitting Lines. (line 6) 3575 * commands, sequences of: Sequences. (line 6) 3576 * commands, splitting: Splitting Lines. (line 6) 3577 * commands, using variables in: Variables in Commands. 3578 (line 6) 3579 * comments, in commands: Command Syntax. (line 27) 3580 * comments, in makefile: Makefile Contents. (line 41) 3581 * compatibility: Features. (line 6) 3582 * compatibility in exporting: Variables/Recursion. (line 105) 3583 * compilation, testing: Testing. (line 6) 3584 * computed variable name: Computed Names. (line 6) 3585 * conditional expansion: Conditional Functions. 3586 (line 6) 3587 * conditional variable assignment: Flavors. (line 129) 3588 * conditionals: Conditionals. (line 6) 3589 * continuation lines: Simple Makefile. (line 40) 2798 3590 * controlling make: Make Control Functions. 3591 (line 6) 2799 3592 * conventions for makefiles: Makefile Conventions. 2800 * ctangle <1>: Implicit Variables. 2801 * ctangle: Catalogue of Rules. 2802 * cweave <1>: Implicit Variables. 2803 * cweave: Catalogue of Rules. 2804 * data base of make rules: Options Summary. 2805 * deducing commands (implicit rules): make Deduces. 2806 * default directories for included makefiles: Include. 2807 * default goal <1>: Rules. 2808 * default goal: How Make Works. 2809 * default makefile name: Makefile Names. 2810 * default rules, last-resort: Last Resort. 2811 * define, expansion: Reading Makefiles. 2812 * defining variables verbatim: Defining. 2813 * deletion of target files <1>: Interrupts. 2814 * deletion of target files: Errors. 2815 * directive: Makefile Contents. 2816 * directories, printing them: -w Option. 2817 * directories, updating archive symbol: Archive Symbols. 2818 * directory part: File Name Functions. 2819 * directory search (VPATH): Directory Search. 3593 (line 6) 3594 * ctangle <1>: Implicit Variables. (line 107) 3595 * ctangle: Catalogue of Rules. (line 151) 3596 * cweave <1>: Implicit Variables. (line 101) 3597 * cweave: Catalogue of Rules. (line 151) 3598 * data base of make rules: Options Summary. (line 155) 3599 * deducing commands (implicit rules): make Deduces. (line 6) 3600 * default directories for included makefiles: Include. (line 52) 3601 * default goal <1>: Rules. (line 11) 3602 * default goal: How Make Works. (line 11) 3603 * default makefile name: Makefile Names. (line 6) 3604 * default rules, last-resort: Last Resort. (line 6) 3605 * define, expansion: Reading Makefiles. (line 33) 3606 * defining variables verbatim: Defining. (line 6) 3607 * deletion of target files <1>: Interrupts. (line 6) 3608 * deletion of target files: Errors. (line 64) 3609 * directive: Makefile Contents. (line 28) 3610 * directories, printing them: -w Option. (line 6) 3611 * directories, updating archive symbol: Archive Symbols. (line 6) 3612 * directory part: File Name Functions. (line 17) 3613 * directory search (VPATH): Directory Search. (line 6) 2820 3614 * directory search (VPATH), and implicit rules: Implicit/Search. 3615 (line 6) 2821 3616 * directory search (VPATH), and link libraries: Libraries/Search. 3617 (line 6) 2822 3618 * directory search (VPATH), and shell commands: Commands/Search. 2823 * directory search algorithm: Search Algorithm. 2824 * directory search, traditional (GPATH): Search Algorithm. 2825 * dist (standard target): Goals. 2826 * distclean (standard target): Goals. 2827 * dollar sign ($), in function call: Syntax of Functions. 2828 * dollar sign ($), in rules: Rule Syntax. 2829 * dollar sign ($), in variable name: Computed Names. 2830 * dollar sign ($), in variable reference: Reference. 2831 * double-colon rules: Double-Colon. 2832 * duplicate words, removing: Text Functions. 2833 * E2BIG: Options/Recursion. 2834 * echoing of commands: Echoing. 2835 * editor: Introduction. 2836 * Emacs (M-x compile): Errors. 2837 * empty commands: Empty Commands. 2838 * empty targets: Empty Targets. 2839 * environment: Environment. 2840 * environment, and recursion: Variables/Recursion. 2841 * environment, SHELL in: Execution. 3619 (line 6) 3620 * directory search algorithm: Search Algorithm. (line 6) 3621 * directory search, traditional (GPATH): Search Algorithm. (line 42) 3622 * dist (standard target): Goals. (line 106) 3623 * distclean (standard target): Goals. (line 84) 3624 * dollar sign ($), in function call: Syntax of Functions. (line 6) 3625 * dollar sign ($), in rules: Rule Syntax. (line 32) 3626 * dollar sign ($), in variable name: Computed Names. (line 6) 3627 * dollar sign ($), in variable reference: Reference. (line 6) 3628 * DOS, choosing a shell in: Choosing the Shell. (line 36) 3629 * double-colon rules: Double-Colon. (line 6) 3630 * duplicate words, removing: Text Functions. (line 155) 3631 * E2BIG: Options/Recursion. (line 57) 3632 * echoing of commands: Echoing. (line 6) 3633 * editor: Introduction. (line 22) 3634 * Emacs (M-x compile): Errors. (line 62) 3635 * empty commands: Empty Commands. (line 6) 3636 * empty targets: Empty Targets. (line 6) 3637 * environment: Environment. (line 6) 3638 * environment, and recursion: Variables/Recursion. (line 6) 3639 * environment, SHELL in: Choosing the Shell. (line 10) 2842 3640 * error, stopping on: Make Control Functions. 2843 * errors (in commands): Errors. 2844 * errors with wildcards: Wildcard Pitfall. 2845 * evaluating makefile syntax: Eval Function. 2846 * execution, in parallel: Parallel. 3641 (line 11) 3642 * errors (in commands): Errors. (line 6) 3643 * errors with wildcards: Wildcard Pitfall. (line 6) 3644 * evaluating makefile syntax: Eval Function. (line 6) 3645 * execution, in parallel: Parallel. (line 6) 2847 3646 * execution, instead of: Instead of Execution. 2848 * execution, of commands: Execution. 2849 * exit status (errors): Errors. 2850 * explicit rule, definition of: Makefile Contents. 2851 * explicit rule, expansion: Reading Makefiles. 2852 * exporting variables: Variables/Recursion. 2853 * f77 <1>: Implicit Variables. 2854 * f77: Catalogue of Rules. 3647 (line 6) 3648 * execution, of commands: Execution. (line 6) 3649 * exit status (errors): Errors. (line 6) 3650 * exit status of make: Running. (line 18) 3651 * expansion, secondary: Secondary Expansion. (line 6) 3652 * explicit rule, definition of: Makefile Contents. (line 10) 3653 * explicit rule, expansion: Reading Makefiles. (line 62) 3654 * explicit rules, secondary expansion of: Secondary Expansion. 3655 (line 106) 3656 * exporting variables: Variables/Recursion. (line 6) 3657 * f77 <1>: Implicit Variables. (line 64) 3658 * f77: Catalogue of Rules. (line 49) 2855 3659 * FDL, GNU Free Documentation License: GNU Free Documentation License. 2856 * features of GNU make: Features. 2857 * features, missing: Missing. 2858 * file name functions: File Name Functions. 2859 * file name of makefile: Makefile Names. 2860 * file name of makefile, how to specify: Makefile Names. 2861 * file name prefix, adding: File Name Functions. 2862 * file name suffix: File Name Functions. 2863 * file name suffix, adding: File Name Functions. 2864 * file name with wildcards: Wildcards. 2865 * file name, basename of: File Name Functions. 2866 * file name, directory part: File Name Functions. 2867 * file name, nondirectory part: File Name Functions. 3660 (line 6) 3661 * features of GNU make: Features. (line 6) 3662 * features, missing: Missing. (line 6) 3663 * file name functions: File Name Functions. (line 6) 3664 * file name of makefile: Makefile Names. (line 6) 3665 * file name of makefile, how to specify: Makefile Names. (line 30) 3666 * file name prefix, adding: File Name Functions. (line 79) 3667 * file name suffix: File Name Functions. (line 43) 3668 * file name suffix, adding: File Name Functions. (line 68) 3669 * file name with wildcards: Wildcards. (line 6) 3670 * file name, abspath of: File Name Functions. (line 121) 3671 * file name, basename of: File Name Functions. (line 57) 3672 * file name, directory part: File Name Functions. (line 17) 3673 * file name, nondirectory part: File Name Functions. (line 27) 3674 * file name, realpath of: File Name Functions. (line 114) 2868 3675 * files, assuming new: Instead of Execution. 3676 (line 33) 2869 3677 * files, assuming old: Avoiding Compilation. 3678 (line 6) 2870 3679 * files, avoiding recompilation of: Avoiding Compilation. 2871 * files, intermediate: Chained Rules. 2872 * filtering out words: Text Functions. 2873 * filtering words: Text Functions. 2874 * finding strings: Text Functions. 2875 * flags: Options Summary. 2876 * flags for compilers: Implicit Variables. 2877 * flavors of variables: Flavors. 2878 * FORCE: Force Targets. 2879 * force targets: Force Targets. 2880 * Fortran, rule to compile: Catalogue of Rules. 2881 * functions: Functions. 3680 (line 6) 3681 * files, intermediate: Chained Rules. (line 16) 3682 * filtering out words: Text Functions. (line 132) 3683 * filtering words: Text Functions. (line 114) 3684 * finding strings: Text Functions. (line 103) 3685 * flags: Options Summary. (line 6) 3686 * flags for compilers: Implicit Variables. (line 6) 3687 * flavor of variable: Flavor Function. (line 6) 3688 * flavors of variables: Flavors. (line 6) 3689 * FORCE: Force Targets. (line 6) 3690 * force targets: Force Targets. (line 6) 3691 * Fortran, rule to compile: Catalogue of Rules. (line 49) 3692 * functions: Functions. (line 6) 2882 3693 * functions, for controlling make: Make Control Functions. 2883 * functions, for file names: File Name Functions. 2884 * functions, for text: Text Functions. 2885 * functions, syntax of: Syntax of Functions. 2886 * functions, user defined: Call Function. 2887 * g++ <1>: Implicit Variables. 2888 * g++: Catalogue of Rules. 2889 * gcc: Catalogue of Rules. 3694 (line 6) 3695 * functions, for file names: File Name Functions. (line 6) 3696 * functions, for text: Text Functions. (line 6) 3697 * functions, syntax of: Syntax of Functions. (line 6) 3698 * functions, user defined: Call Function. (line 6) 3699 * g++ <1>: Implicit Variables. (line 53) 3700 * g++: Catalogue of Rules. (line 39) 3701 * gcc: Catalogue of Rules. (line 35) 2890 3702 * generating prerequisites automatically <1>: Automatic Prerequisites. 2891 * generating prerequisites automatically: Include. 2892 * get <1>: Implicit Variables. 2893 * get: Catalogue of Rules. 2894 * globbing (wildcards): Wildcards. 2895 * goal: How Make Works. 2896 * goal, default <1>: Rules. 2897 * goal, default: How Make Works. 2898 * goal, how to specify: Goals. 2899 * home directory: Wildcards. 2900 * IEEE Standard 1003.2: Overview. 2901 * ifdef, expansion: Reading Makefiles. 2902 * ifeq, expansion: Reading Makefiles. 2903 * ifndef, expansion: Reading Makefiles. 2904 * ifneq, expansion: Reading Makefiles. 2905 * implicit rule: Implicit Rules. 2906 * implicit rule, and directory search: Implicit/Search. 2907 * implicit rule, and VPATH: Implicit/Search. 2908 * implicit rule, definition of: Makefile Contents. 2909 * implicit rule, expansion: Reading Makefiles. 2910 * implicit rule, how to use: Using Implicit. 2911 * implicit rule, introduction to: make Deduces. 2912 * implicit rule, predefined: Catalogue of Rules. 3703 (line 6) 3704 * generating prerequisites automatically: Include. (line 50) 3705 * get <1>: Implicit Variables. (line 67) 3706 * get: Catalogue of Rules. (line 173) 3707 * globbing (wildcards): Wildcards. (line 6) 3708 * goal: How Make Works. (line 11) 3709 * goal, default <1>: Rules. (line 11) 3710 * goal, default: How Make Works. (line 11) 3711 * goal, how to specify: Goals. (line 6) 3712 * home directory: Wildcards. (line 11) 3713 * IEEE Standard 1003.2: Overview. (line 13) 3714 * ifdef, expansion: Reading Makefiles. (line 51) 3715 * ifeq, expansion: Reading Makefiles. (line 51) 3716 * ifndef, expansion: Reading Makefiles. (line 51) 3717 * ifneq, expansion: Reading Makefiles. (line 51) 3718 * implicit rule: Implicit Rules. (line 6) 3719 * implicit rule, and directory search: Implicit/Search. (line 6) 3720 * implicit rule, and VPATH: Implicit/Search. (line 6) 3721 * implicit rule, definition of: Makefile Contents. (line 16) 3722 * implicit rule, expansion: Reading Makefiles. (line 62) 3723 * implicit rule, how to use: Using Implicit. (line 6) 3724 * implicit rule, introduction to: make Deduces. (line 6) 3725 * implicit rule, predefined: Catalogue of Rules. (line 6) 2913 3726 * implicit rule, search algorithm: Implicit Rule Search. 2914 * included makefiles, default directories: Include. 3727 (line 6) 3728 * implicit rules, secondary expansion of: Secondary Expansion. 3729 (line 146) 3730 * included makefiles, default directories: Include. (line 52) 2915 3731 * including (MAKEFILE_LIST variable): MAKEFILE_LIST Variable. 2916 * including (MAKEFILES variable): MAKEFILES Variable. 2917 * including other makefiles: Include. 2918 * incompatibilities: Missing. 2919 * Info, rule to format: Catalogue of Rules. 2920 * install (standard target): Goals. 2921 * intermediate files: Chained Rules. 2922 * intermediate files, preserving: Chained Rules. 2923 * intermediate targets, explicit: Special Targets. 2924 * interrupt: Interrupts. 2925 * job slots: Parallel. 2926 * job slots, and recursion: Options/Recursion. 2927 * jobs, limiting based on load: Parallel. 2928 * joining lists of words: File Name Functions. 2929 * killing (interruption): Interrupts. 2930 * last-resort default rules: Last Resort. 2931 * ld: Catalogue of Rules. 2932 * lex <1>: Implicit Variables. 2933 * lex: Catalogue of Rules. 2934 * Lex, rule to run: Catalogue of Rules. 2935 * libraries for linking, directory search: Libraries/Search. 3732 (line 6) 3733 * including (MAKEFILES variable): MAKEFILES Variable. (line 6) 3734 * including other makefiles: Include. (line 6) 3735 * incompatibilities: Missing. (line 6) 3736 * Info, rule to format: Catalogue of Rules. (line 158) 3737 * install (standard target): Goals. (line 92) 3738 * intermediate files: Chained Rules. (line 16) 3739 * intermediate files, preserving: Chained Rules. (line 46) 3740 * intermediate targets, explicit: Special Targets. (line 44) 3741 * interrupt: Interrupts. (line 6) 3742 * job slots: Parallel. (line 6) 3743 * job slots, and recursion: Options/Recursion. (line 25) 3744 * jobs, limiting based on load: Parallel. (line 57) 3745 * joining lists of words: File Name Functions. (line 90) 3746 * killing (interruption): Interrupts. (line 6) 3747 * last-resort default rules: Last Resort. (line 6) 3748 * ld: Catalogue of Rules. (line 86) 3749 * lex <1>: Implicit Variables. (line 71) 3750 * lex: Catalogue of Rules. (line 124) 3751 * Lex, rule to run: Catalogue of Rules. (line 124) 3752 * libraries for linking, directory search: Libraries/Search. (line 6) 2936 3753 * library archive, suffix rule for: Archive Suffix Rules. 2937 * limiting jobs based on load: Parallel. 2938 * link libraries, and directory search: Libraries/Search. 2939 * link libraries, patterns matching: Libraries/Search. 2940 * linking, predefined rule for: Catalogue of Rules. 2941 * lint: Catalogue of Rules. 2942 * lint, rule to run: Catalogue of Rules. 2943 * list of all prerequisites: Automatic Variables. 2944 * list of changed prerequisites: Automatic Variables. 2945 * load average: Parallel. 2946 * loops in variable expansion: Flavors. 2947 * lpr (shell command) <1>: Empty Targets. 2948 * lpr (shell command): Wildcard Examples. 2949 * m2c: Catalogue of Rules. 2950 * macro: Using Variables. 3754 (line 6) 3755 * limiting jobs based on load: Parallel. (line 57) 3756 * link libraries, and directory search: Libraries/Search. (line 6) 3757 * link libraries, patterns matching: Libraries/Search. (line 6) 3758 * linking, predefined rule for: Catalogue of Rules. (line 86) 3759 * lint <1>: Implicit Variables. (line 78) 3760 * lint: Catalogue of Rules. (line 146) 3761 * lint, rule to run: Catalogue of Rules. (line 146) 3762 * list of all prerequisites: Automatic Variables. (line 61) 3763 * list of changed prerequisites: Automatic Variables. (line 51) 3764 * load average: Parallel. (line 57) 3765 * loops in variable expansion: Flavors. (line 44) 3766 * lpr (shell command) <1>: Empty Targets. (line 25) 3767 * lpr (shell command): Wildcard Examples. (line 21) 3768 * m2c <1>: Implicit Variables. (line 81) 3769 * m2c: Catalogue of Rules. (line 74) 3770 * macro: Using Variables. (line 10) 2951 3771 * make depend: Automatic Prerequisites. 2952 * MAKECMDGOALS: Goals. 2953 * makefile: Introduction. 2954 * makefile name: Makefile Names. 2955 * makefile name, how to specify: Makefile Names. 2956 * makefile rule parts: Rule Introduction. 2957 * makefile syntax, evaluating: Eval Function. 2958 * makefile, and MAKEFILES variable: MAKEFILES Variable. 3772 (line 37) 3773 * makefile: Introduction. (line 7) 3774 * makefile name: Makefile Names. (line 6) 3775 * makefile name, how to specify: Makefile Names. (line 30) 3776 * makefile rule parts: Rule Introduction. (line 6) 3777 * makefile syntax, evaluating: Eval Function. (line 6) 3778 * makefile, and MAKEFILES variable: MAKEFILES Variable. (line 6) 2959 3779 * makefile, conventions for: Makefile Conventions. 2960 * makefile, how make processes: How Make Works. 2961 * makefile, how to write: Makefiles. 2962 * makefile, including: Include. 3780 (line 6) 3781 * makefile, how make processes: How Make Works. (line 6) 3782 * makefile, how to write: Makefiles. (line 6) 3783 * makefile, including: Include. (line 6) 2963 3784 * makefile, overriding: Overriding Makefiles. 2964 * makefile, parsing: Reading Makefiles. 2965 * makefile, remaking of: Remaking Makefiles. 2966 * makefile, simple: Simple Makefile. 3785 (line 6) 3786 * makefile, parsing: Reading Makefiles. (line 6) 3787 * makefile, remaking of: Remaking Makefiles. (line 6) 3788 * makefile, simple: Simple Makefile. (line 6) 2967 3789 * makefiles, and MAKEFILE_LIST variable: MAKEFILE_LIST Variable. 2968 * makefiles, and special variables: Special Variables. 2969 * makeinfo <1>: Implicit Variables. 2970 * makeinfo: Catalogue of Rules. 3790 (line 6) 3791 * makefiles, and special variables: Special Variables. (line 6) 3792 * makeinfo <1>: Implicit Variables. (line 88) 3793 * makeinfo: Catalogue of Rules. (line 158) 2971 3794 * match-anything rule: Match-Anything Rules. 3795 (line 6) 2972 3796 * match-anything rule, used to override: Overriding Makefiles. 2973 * missing features: Missing. 2974 * mistakes with wildcards: Wildcard Pitfall. 2975 * modified variable reference: Substitution Refs. 2976 * Modula-2, rule to compile: Catalogue of Rules. 2977 * mostlyclean (standard target): Goals. 2978 * multiple rules for one target: Multiple Rules. 2979 * multiple rules for one target (::): Double-Colon. 2980 * multiple targets: Multiple Targets. 2981 * multiple targets, in pattern rule: Pattern Intro. 2982 * name of makefile: Makefile Names. 2983 * name of makefile, how to specify: Makefile Names. 2984 * nested variable reference: Computed Names. 2985 * newline, quoting, in commands: Execution. 2986 * newline, quoting, in makefile: Simple Makefile. 2987 * nondirectory part: File Name Functions. 2988 * normal prerequisites: Prerequisite Types. 2989 * OBJ: Variables Simplify. 2990 * obj: Variables Simplify. 2991 * OBJECTS: Variables Simplify. 2992 * objects: Variables Simplify. 2993 * OBJS: Variables Simplify. 2994 * objs: Variables Simplify. 2995 * old-fashioned suffix rules: Suffix Rules. 2996 * options: Options Summary. 2997 * options, and recursion: Options/Recursion. 2998 * options, setting from environment: Options/Recursion. 2999 * options, setting in makefiles: Options/Recursion. 3000 * order of pattern rules: Pattern Intro. 3001 * order-only prerequisites: Prerequisite Types. 3002 * origin of variable: Origin Function. 3797 (line 12) 3798 * missing features: Missing. (line 6) 3799 * mistakes with wildcards: Wildcard Pitfall. (line 6) 3800 * modified variable reference: Substitution Refs. (line 6) 3801 * Modula-2, rule to compile: Catalogue of Rules. (line 74) 3802 * mostlyclean (standard target): Goals. (line 78) 3803 * multiple rules for one target: Multiple Rules. (line 6) 3804 * multiple rules for one target (::): Double-Colon. (line 6) 3805 * multiple targets: Multiple Targets. (line 6) 3806 * multiple targets, in pattern rule: Pattern Intro. (line 49) 3807 * name of makefile: Makefile Names. (line 6) 3808 * name of makefile, how to specify: Makefile Names. (line 30) 3809 * nested variable reference: Computed Names. (line 6) 3810 * newline, quoting, in commands: Splitting Lines. (line 6) 3811 * newline, quoting, in makefile: Simple Makefile. (line 40) 3812 * nondirectory part: File Name Functions. (line 27) 3813 * normal prerequisites: Prerequisite Types. (line 6) 3814 * OBJ: Variables Simplify. (line 20) 3815 * obj: Variables Simplify. (line 20) 3816 * OBJECTS: Variables Simplify. (line 20) 3817 * objects: Variables Simplify. (line 14) 3818 * OBJS: Variables Simplify. (line 20) 3819 * objs: Variables Simplify. (line 20) 3820 * old-fashioned suffix rules: Suffix Rules. (line 6) 3821 * options: Options Summary. (line 6) 3822 * options, and recursion: Options/Recursion. (line 6) 3823 * options, setting from environment: Options/Recursion. (line 81) 3824 * options, setting in makefiles: Options/Recursion. (line 81) 3825 * order of pattern rules: Pattern Intro. (line 57) 3826 * order-only prerequisites: Prerequisite Types. (line 6) 3827 * origin of variable: Origin Function. (line 6) 3003 3828 * overriding makefiles: Overriding Makefiles. 3004 * overriding variables with arguments: Overriding. 3005 * overriding with override: Override Directive. 3006 * parallel execution: Parallel. 3007 * parallel execution, and archive update: Archive Pitfalls. 3008 * parallel execution, overriding: Special Targets. 3009 * parts of makefile rule: Rule Introduction. 3010 * Pascal, rule to compile: Catalogue of Rules. 3011 * pattern rule: Pattern Intro. 3012 * pattern rule, expansion: Reading Makefiles. 3013 * pattern rules, order of: Pattern Intro. 3014 * pattern rules, static (not implicit): Static Pattern. 3015 * pattern rules, static, syntax of: Static Usage. 3016 * pattern-specific variables: Pattern-specific. 3017 * pc <1>: Implicit Variables. 3018 * pc: Catalogue of Rules. 3019 * phony targets: Phony Targets. 3020 * pitfalls of wildcards: Wildcard Pitfall. 3021 * portability: Features. 3022 * POSIX: Overview. 3023 * POSIX.2: Options/Recursion. 3829 (line 6) 3830 * overriding variables with arguments: Overriding. (line 6) 3831 * overriding with override: Override Directive. (line 6) 3832 * parallel execution: Parallel. (line 6) 3833 * parallel execution, and archive update: Archive Pitfalls. (line 6) 3834 * parallel execution, overriding: Special Targets. (line 135) 3835 * parts of makefile rule: Rule Introduction. (line 6) 3836 * Pascal, rule to compile: Catalogue of Rules. (line 45) 3837 * pattern rule: Pattern Intro. (line 6) 3838 * pattern rule, expansion: Reading Makefiles. (line 62) 3839 * pattern rules, order of: Pattern Intro. (line 57) 3840 * pattern rules, static (not implicit): Static Pattern. (line 6) 3841 * pattern rules, static, syntax of: Static Usage. (line 6) 3842 * pattern-specific variables: Pattern-specific. (line 6) 3843 * pc <1>: Implicit Variables. (line 84) 3844 * pc: Catalogue of Rules. (line 45) 3845 * phony targets: Phony Targets. (line 6) 3846 * pitfalls of wildcards: Wildcard Pitfall. (line 6) 3847 * portability: Features. (line 6) 3848 * POSIX: Overview. (line 13) 3849 * POSIX.2: Options/Recursion. (line 60) 3024 3850 * post-installation commands: Install Command Categories. 3851 (line 6) 3025 3852 * pre-installation commands: Install Command Categories. 3026 * precious targets: Special Targets. 3027 * predefined rules and variables, printing: Options Summary. 3028 * prefix, adding: File Name Functions. 3029 * prerequisite: Rules. 3030 * prerequisite pattern, implicit: Pattern Intro. 3031 * prerequisite pattern, static (not implicit): Static Usage. 3032 * prerequisite types: Prerequisite Types. 3033 * prerequisite, expansion: Reading Makefiles. 3034 * prerequisites: Rule Syntax. 3853 (line 6) 3854 * precious targets: Special Targets. (line 29) 3855 * predefined rules and variables, printing: Options Summary. (line 155) 3856 * prefix, adding: File Name Functions. (line 79) 3857 * prerequisite: Rules. (line 6) 3858 * prerequisite pattern, implicit: Pattern Intro. (line 22) 3859 * prerequisite pattern, static (not implicit): Static Usage. (line 30) 3860 * prerequisite types: Prerequisite Types. (line 6) 3861 * prerequisite, expansion: Reading Makefiles. (line 62) 3862 * prerequisites: Rule Syntax. (line 46) 3035 3863 * prerequisites, and automatic variables: Automatic Variables. 3864 (line 17) 3036 3865 * prerequisites, automatic generation <1>: Automatic Prerequisites. 3037 * prerequisites, automatic generation: Include. 3038 * prerequisites, introduction to: Rule Introduction. 3039 * prerequisites, list of all: Automatic Variables. 3040 * prerequisites, list of changed: Automatic Variables. 3041 * prerequisites, normal: Prerequisite Types. 3042 * prerequisites, order-only: Prerequisite Types. 3043 * prerequisites, varying (static pattern): Static Pattern. 3044 * preserving intermediate files: Chained Rules. 3045 * preserving with .PRECIOUS <1>: Chained Rules. 3046 * preserving with .PRECIOUS: Special Targets. 3047 * preserving with .SECONDARY: Special Targets. 3048 * print (standard target): Goals. 3049 * print target <1>: Empty Targets. 3050 * print target: Wildcard Examples. 3051 * printing directories: -w Option. 3052 * printing of commands: Echoing. 3866 (line 6) 3867 * prerequisites, automatic generation: Include. (line 50) 3868 * prerequisites, introduction to: Rule Introduction. (line 8) 3869 * prerequisites, list of all: Automatic Variables. (line 61) 3870 * prerequisites, list of changed: Automatic Variables. (line 51) 3871 * prerequisites, normal: Prerequisite Types. (line 6) 3872 * prerequisites, order-only: Prerequisite Types. (line 6) 3873 * prerequisites, varying (static pattern): Static Pattern. (line 6) 3874 * preserving intermediate files: Chained Rules. (line 46) 3875 * preserving with .PRECIOUS <1>: Chained Rules. (line 56) 3876 * preserving with .PRECIOUS: Special Targets. (line 29) 3877 * preserving with .SECONDARY: Special Targets. (line 49) 3878 * print (standard target): Goals. (line 97) 3879 * print target <1>: Empty Targets. (line 25) 3880 * print target: Wildcard Examples. (line 21) 3881 * printing directories: -w Option. (line 6) 3882 * printing messages: Make Control Functions. 3883 (line 43) 3884 * printing of commands: Echoing. (line 6) 3053 3885 * printing user warnings: Make Control Functions. 3054 * problems and bugs, reporting: Bugs. 3055 * problems with wildcards: Wildcard Pitfall. 3056 * processing a makefile: How Make Works. 3886 (line 35) 3887 * problems and bugs, reporting: Bugs. (line 6) 3888 * problems with wildcards: Wildcard Pitfall. (line 6) 3889 * processing a makefile: How Make Works. (line 6) 3057 3890 * question mode: Instead of Execution. 3058 * quoting %, in patsubst: Text Functions. 3059 * quoting %, in static pattern: Static Usage. 3060 * quoting %, in vpath: Selective Search. 3061 * quoting newline, in commands: Execution. 3062 * quoting newline, in makefile: Simple Makefile. 3063 * Ratfor, rule to compile: Catalogue of Rules. 3064 * RCS, rule to extract from: Catalogue of Rules. 3065 * reading makefiles: Reading Makefiles. 3066 * README: Makefile Names. 3067 * realclean (standard target): Goals. 3068 * recompilation: Introduction. 3891 (line 25) 3892 * quoting %, in patsubst: Text Functions. (line 26) 3893 * quoting %, in static pattern: Static Usage. (line 37) 3894 * quoting %, in vpath: Selective Search. (line 38) 3895 * quoting newline, in commands: Splitting Lines. (line 6) 3896 * quoting newline, in makefile: Simple Makefile. (line 40) 3897 * Ratfor, rule to compile: Catalogue of Rules. (line 49) 3898 * RCS, rule to extract from: Catalogue of Rules. (line 164) 3899 * reading makefiles: Reading Makefiles. (line 6) 3900 * README: Makefile Names. (line 9) 3901 * realclean (standard target): Goals. (line 85) 3902 * realpath: File Name Functions. (line 114) 3903 * recompilation: Introduction. (line 22) 3069 3904 * recompilation, avoiding: Avoiding Compilation. 3070 * recording events with empty targets: Empty Targets. 3071 * recursion: Recursion. 3072 * recursion, and -C: Options/Recursion. 3073 * recursion, and -f: Options/Recursion. 3074 * recursion, and -j: Options/Recursion. 3075 * recursion, and -o: Options/Recursion. 3076 * recursion, and -t: MAKE Variable. 3077 * recursion, and -w: -w Option. 3078 * recursion, and -W: Options/Recursion. 3905 (line 6) 3906 * recording events with empty targets: Empty Targets. (line 6) 3907 * recursion: Recursion. (line 6) 3908 * recursion, and -C: Options/Recursion. (line 22) 3909 * recursion, and -f: Options/Recursion. (line 22) 3910 * recursion, and -j: Options/Recursion. (line 25) 3911 * recursion, and -o: Options/Recursion. (line 22) 3912 * recursion, and -t: MAKE Variable. (line 34) 3913 * recursion, and -w: -w Option. (line 20) 3914 * recursion, and -W: Options/Recursion. (line 22) 3079 3915 * recursion, and command line variable definitions: Options/Recursion. 3080 * recursion, and environment: Variables/Recursion. 3081 * recursion, and MAKE variable: MAKE Variable.3082 * recursion, and MAKE FILES variable: MAKEFILES Variable.3083 * recursion, and options: Options/Recursion.3084 * recursion, and printing directories: -w Option.3085 * recursion, and variables: Variables/Recursion.3086 * recursion, level of: Variables/Recursion.3087 * recursi ve variable expansion <1>: Flavors.3088 * recursive variable expansion : Using Variables.3089 * recursive ly expanded variables: Flavors.3090 * re ference to variables <1>: Advanced.3091 * reference to variables : Reference.3092 * re linking: How Make Works.3093 * re making makefiles: Remaking Makefiles.3094 * rem oval of target files <1>: Interrupts.3095 * removal of target files : Errors.3096 * remov ing duplicate words: Text Functions.3097 * removing targets on failure: Special Targets.3098 * removing , to clean up: Cleanup.3099 * re porting bugs: Bugs.3100 * r m: Implicit Variables.3101 * rm (shell command) <1>: Errors.3102 * rm (shell command) < 2>: Phony Targets.3103 * rm (shell command) < 3>: Wildcard Examples.3104 * rm (shell command) : Simple Makefile.3105 * r ule commands: Commands.3106 * rule prerequisites: Rule Syntax.3107 * rule syntax: Rule Syntax.3108 * rule targets: Rule Syntax.3109 * rule , and $: Rule Syntax.3110 * rule, double-colon (::): Double-Colon. 3111 * rule, explicit, definition of: Makefile Contents. 3112 * rule, how to write: Rules. 3113 * rule, implicit: Implicit Rules. 3114 * rule, implicit, and directory search: Implicit/Search. 3115 * rule, implicit, and VPATH: Implicit/Search. 3116 * rule, implicit, chains of: Chained Rules. 3117 * rule, implicit, definition of: Makefile Contents. 3118 * rule, implicit, how to use: Using Implicit. 3119 * rule, implicit, introduction to: make Deduces. 3120 * rule, implicit, predefined: Catalogue of Rules. 3121 * rule, introduction to: Rule Introduction. 3122 * rule, multiple for one target: Multiple Rules. 3123 * rule, no commands or prerequisites: Force Targets. 3124 * rule, pattern: Pattern Intro. 3125 * rule, static pattern: Static Pattern. 3916 (line 17) 3917 * recursion, and environment: Variables/Recursion. (line 6) 3918 * recursion, and MAKE variable: MAKE Variable. (line 6) 3919 * recursion, and MAKEFILES variable: MAKEFILES Variable. (line 14) 3920 * recursion, and options: Options/Recursion. (line 6) 3921 * recursion, and printing directories: -w Option. (line 6) 3922 * recursion, and variables: Variables/Recursion. (line 6) 3923 * recursion, level of: Variables/Recursion. (line 115) 3924 * recursive variable expansion <1>: Flavors. (line 6) 3925 * recursive variable expansion: Using Variables. (line 6) 3926 * recursively expanded variables: Flavors. (line 6) 3927 * reference to variables <1>: Advanced. (line 6) 3928 * reference to variables: Reference. (line 6) 3929 * relinking: How Make Works. (line 46) 3930 * remaking makefiles: Remaking Makefiles. (line 6) 3931 * removal of target files <1>: Interrupts. (line 6) 3932 * removal of target files: Errors. (line 64) 3933 * removing duplicate words: Text Functions. (line 155) 3934 * removing targets on failure: Special Targets. (line 68) 3935 * removing, to clean up: Cleanup. (line 6) 3936 * reporting bugs: Bugs. (line 6) 3937 * rm: Implicit Variables. (line 110) 3938 * rm (shell command) <1>: Errors. (line 27) 3939 * rm (shell command) <2>: Phony Targets. (line 20) 3940 * rm (shell command) <3>: Wildcard Examples. (line 12) 3941 * rm (shell command): Simple Makefile. (line 83) 3942 * rule commands: Commands. (line 6) 3943 * rule prerequisites: Rule Syntax. (line 46) 3944 * rule syntax: Rule Syntax. (line 6) 3945 * rule targets: Rule Syntax. (line 18) 3946 * rule, double-colon (::): Double-Colon. (line 6) 3947 * rule, explicit, definition of: Makefile Contents. (line 10) 3948 * rule, how to write: Rules. (line 6) 3949 * rule, implicit: Implicit Rules. (line 6) 3950 * rule, implicit, and directory search: Implicit/Search. (line 6) 3951 * rule, implicit, and VPATH: Implicit/Search. (line 6) 3952 * rule, implicit, chains of: Chained Rules. (line 6) 3953 * rule, implicit, definition of: Makefile Contents. (line 16) 3954 * rule, implicit, how to use: Using Implicit. (line 6) 3955 * rule, implicit, introduction to: make Deduces. (line 6) 3956 * rule, implicit, predefined: Catalogue of Rules. (line 6) 3957 * rule, introduction to: Rule Introduction. (line 6) 3958 * rule, multiple for one target: Multiple Rules. (line 6) 3959 * rule, no commands or prerequisites: Force Targets. (line 6) 3960 * rule, pattern: Pattern Intro. (line 6) 3961 * rule, static pattern: Static Pattern. (line 6) 3126 3962 * rule, static pattern versus implicit: Static versus Implicit. 3127 * rule, with multiple targets: Multiple Targets. 3128 * s. (SCCS file prefix): Catalogue of Rules. 3129 * SCCS, rule to extract from: Catalogue of Rules. 3963 (line 6) 3964 * rule, with multiple targets: Multiple Targets. (line 6) 3965 * rules, and $: Rule Syntax. (line 32) 3966 * s. (SCCS file prefix): Catalogue of Rules. (line 173) 3967 * SCCS, rule to extract from: Catalogue of Rules. (line 173) 3130 3968 * search algorithm, implicit rule: Implicit Rule Search. 3131 * search path for prerequisites (VPATH): Directory Search. 3969 (line 6) 3970 * search path for prerequisites (VPATH): Directory Search. (line 6) 3132 3971 * search path for prerequisites (VPATH), and implicit rules: Implicit/Search. 3972 (line 6) 3133 3973 * search path for prerequisites (VPATH), and link libraries: Libraries/Search. 3134 * searching for strings: Text Functions. 3135 * secondary files: Chained Rules. 3136 * secondary targets: Special Targets. 3974 (line 6) 3975 * searching for strings: Text Functions. (line 103) 3976 * secondary expansion: Secondary Expansion. (line 6) 3977 * secondary expansion and explicit rules: Secondary Expansion. 3978 (line 106) 3979 * secondary expansion and implicit rules: Secondary Expansion. 3980 (line 146) 3981 * secondary expansion and static pattern rules: Secondary Expansion. 3982 (line 138) 3983 * secondary files: Chained Rules. (line 46) 3984 * secondary targets: Special Targets. (line 49) 3137 3985 * sed (shell command): Automatic Prerequisites. 3138 * selecting a word: Text Functions. 3139 * selecting word lists: Text Functions. 3140 * sequences of commands: Sequences. 3141 * setting options from environment: Options/Recursion. 3142 * setting options in makefiles: Options/Recursion. 3143 * setting variables: Setting. 3144 * several rules for one target: Multiple Rules. 3145 * several targets in a rule: Multiple Targets. 3146 * shar (standard target): Goals. 3147 * shell command: Simple Makefile. 3148 * shell command, and directory search: Commands/Search. 3149 * shell command, execution: Execution. 3150 * shell command, function for: Shell Function. 3151 * shell file name pattern (in include): Include. 3152 * shell wildcards (in include): Include. 3153 * SHELL, MS-DOS specifics: Execution. 3154 * signal: Interrupts. 3155 * silent operation: Echoing. 3156 * simple makefile: Simple Makefile. 3157 * simple variable expansion: Using Variables. 3158 * simplifying with variables: Variables Simplify. 3159 * simply expanded variables: Flavors. 3160 * sorting words: Text Functions. 3161 * spaces, in variable values: Flavors. 3162 * spaces, stripping: Text Functions. 3163 * special targets: Special Targets. 3164 * special variables: Special Variables. 3165 * specifying makefile name: Makefile Names. 3166 * standard input: Parallel. 3167 * standards conformance: Overview. 3986 (line 73) 3987 * selecting a word: Text Functions. (line 159) 3988 * selecting word lists: Text Functions. (line 168) 3989 * sequences of commands: Sequences. (line 6) 3990 * setting options from environment: Options/Recursion. (line 81) 3991 * setting options in makefiles: Options/Recursion. (line 81) 3992 * setting variables: Setting. (line 6) 3993 * several rules for one target: Multiple Rules. (line 6) 3994 * several targets in a rule: Multiple Targets. (line 6) 3995 * shar (standard target): Goals. (line 103) 3996 * shell command: Simple Makefile. (line 72) 3997 * shell command, and directory search: Commands/Search. (line 6) 3998 * shell command, execution: Execution. (line 6) 3999 * shell command, function for: Shell Function. (line 6) 4000 * shell file name pattern (in include): Include. (line 13) 4001 * shell variables, setting in commands: Execution. (line 10) 4002 * shell wildcards (in include): Include. (line 13) 4003 * shell, choosing the: Choosing the Shell. (line 6) 4004 * SHELL, exported value: Variables/Recursion. (line 23) 4005 * SHELL, import from environment: Environment. (line 37) 4006 * shell, in DOS and Windows: Choosing the Shell. (line 36) 4007 * SHELL, MS-DOS specifics: Choosing the Shell. (line 42) 4008 * SHELL, value of: Choosing the Shell. (line 6) 4009 * signal: Interrupts. (line 6) 4010 * silent operation: Echoing. (line 6) 4011 * simple makefile: Simple Makefile. (line 6) 4012 * simple variable expansion: Using Variables. (line 6) 4013 * simplifying with variables: Variables Simplify. (line 6) 4014 * simply expanded variables: Flavors. (line 56) 4015 * sorting words: Text Functions. (line 146) 4016 * spaces, in variable values: Flavors. (line 103) 4017 * spaces, stripping: Text Functions. (line 80) 4018 * special targets: Special Targets. (line 6) 4019 * special variables: Special Variables. (line 6) 4020 * specifying makefile name: Makefile Names. (line 30) 4021 * splitting commands: Splitting Lines. (line 6) 4022 * standard input: Parallel. (line 30) 4023 * standards conformance: Overview. (line 13) 3168 4024 * standards for makefiles: Makefile Conventions. 3169 * static pattern rule: Static Pattern. 3170 * static pattern rule, syntax of: Static Usage. 4025 (line 6) 4026 * static pattern rule: Static Pattern. (line 6) 4027 * static pattern rule, syntax of: Static Usage. (line 6) 3171 4028 * static pattern rule, versus implicit: Static versus Implicit. 3172 * stem <1>: Pattern Match. 3173 * stem: Static Usage. 3174 * stem, variable for: Automatic Variables. 4029 (line 6) 4030 * static pattern rules, secondary expansion of: Secondary Expansion. 4031 (line 138) 4032 * stem <1>: Pattern Match. (line 6) 4033 * stem: Static Usage. (line 17) 4034 * stem, variable for: Automatic Variables. (line 77) 3175 4035 * stopping make: Make Control Functions. 3176 * strings, searching for: Text Functions. 3177 * stripping whitespace: Text Functions. 3178 * sub-make: Variables/Recursion. 3179 * subdirectories, recursion for: Recursion. 3180 * substitution variable reference: Substitution Refs. 3181 * suffix rule: Suffix Rules. 4036 (line 11) 4037 * strings, searching for: Text Functions. (line 103) 4038 * stripping whitespace: Text Functions. (line 80) 4039 * sub-make: Variables/Recursion. (line 6) 4040 * subdirectories, recursion for: Recursion. (line 6) 4041 * substitution variable reference: Substitution Refs. (line 6) 4042 * suffix rule: Suffix Rules. (line 6) 3182 4043 * suffix rule, for archive: Archive Suffix Rules. 3183 * suffix, adding: File Name Functions. 3184 * suffix, function to find: File Name Functions. 3185 * suffix, substituting in variables: Substitution Refs. 3186 * switches: Options Summary. 3187 * symbol directories, updating archive: Archive Symbols. 3188 * syntax of rules: Rule Syntax. 3189 * tab character (in commands): Rule Syntax. 3190 * tabs in rules: Rule Introduction. 3191 * TAGS (standard target): Goals. 3192 * tangle <1>: Implicit Variables. 3193 * tangle: Catalogue of Rules. 3194 * tar (standard target): Goals. 3195 * target: Rules. 3196 * target pattern, implicit: Pattern Intro. 3197 * target pattern, static (not implicit): Static Usage. 3198 * target, deleting on error: Errors. 3199 * target, deleting on interrupt: Interrupts. 3200 * target, expansion: Reading Makefiles. 3201 * target, multiple in pattern rule: Pattern Intro. 3202 * target, multiple rules for one: Multiple Rules. 4044 (line 6) 4045 * suffix, adding: File Name Functions. (line 68) 4046 * suffix, function to find: File Name Functions. (line 43) 4047 * suffix, substituting in variables: Substitution Refs. (line 6) 4048 * switches: Options Summary. (line 6) 4049 * symbol directories, updating archive: Archive Symbols. (line 6) 4050 * syntax of commands: Command Syntax. (line 6) 4051 * syntax of rules: Rule Syntax. (line 6) 4052 * tab character (in commands): Rule Syntax. (line 26) 4053 * tabs in rules: Rule Introduction. (line 21) 4054 * TAGS (standard target): Goals. (line 111) 4055 * tangle <1>: Implicit Variables. (line 104) 4056 * tangle: Catalogue of Rules. (line 151) 4057 * tar (standard target): Goals. (line 100) 4058 * target: Rules. (line 6) 4059 * target pattern, implicit: Pattern Intro. (line 9) 4060 * target pattern, static (not implicit): Static Usage. (line 17) 4061 * target, deleting on error: Errors. (line 64) 4062 * target, deleting on interrupt: Interrupts. (line 6) 4063 * target, expansion: Reading Makefiles. (line 62) 4064 * target, multiple in pattern rule: Pattern Intro. (line 49) 4065 * target, multiple rules for one: Multiple Rules. (line 6) 3203 4066 * target, touching: Instead of Execution. 3204 * target-specific variables: Target-specific. 3205 * targets: Rule Syntax. 3206 * targets without a file: Phony Targets. 3207 * targets, built-in special: Special Targets. 3208 * targets, empty: Empty Targets. 3209 * targets, force: Force Targets. 3210 * targets, introduction to: Rule Introduction. 3211 * targets, multiple: Multiple Targets. 3212 * targets, phony: Phony Targets. 4067 (line 19) 4068 * target-specific variables: Target-specific. (line 6) 4069 * targets: Rule Syntax. (line 18) 4070 * targets without a file: Phony Targets. (line 6) 4071 * targets, built-in special: Special Targets. (line 6) 4072 * targets, empty: Empty Targets. (line 6) 4073 * targets, force: Force Targets. (line 6) 4074 * targets, introduction to: Rule Introduction. (line 8) 4075 * targets, multiple: Multiple Targets. (line 6) 4076 * targets, phony: Phony Targets. (line 6) 3213 4077 * terminal rule: Match-Anything Rules. 3214 * test (standard target): Goals. 3215 * testing compilation: Testing. 3216 * tex <1>: Implicit Variables. 3217 * tex: Catalogue of Rules. 3218 * TeX, rule to run: Catalogue of Rules. 3219 * texi2dvi <1>: Implicit Variables. 3220 * texi2dvi: Catalogue of Rules. 3221 * Texinfo, rule to format: Catalogue of Rules. 3222 * tilde (~): Wildcards. 3223 * touch (shell command) <1>: Empty Targets. 3224 * touch (shell command): Wildcard Examples. 4078 (line 6) 4079 * test (standard target): Goals. (line 115) 4080 * testing compilation: Testing. (line 6) 4081 * tex <1>: Implicit Variables. (line 91) 4082 * tex: Catalogue of Rules. (line 151) 4083 * TeX, rule to run: Catalogue of Rules. (line 151) 4084 * texi2dvi <1>: Implicit Variables. (line 95) 4085 * texi2dvi: Catalogue of Rules. (line 158) 4086 * Texinfo, rule to format: Catalogue of Rules. (line 158) 4087 * tilde (~): Wildcards. (line 11) 4088 * touch (shell command) <1>: Empty Targets. (line 25) 4089 * touch (shell command): Wildcard Examples. (line 21) 3225 4090 * touching files: Instead of Execution. 3226 * traditional directory search (GPATH): Search Algorithm. 3227 * types of prerequisites: Prerequisite Types. 3228 * undefined variables, warning message: Options Summary. 3229 * updating archive symbol directories: Archive Symbols. 3230 * updating makefiles: Remaking Makefiles. 3231 * user defined functions: Call Function. 3232 * value: Using Variables. 3233 * value, how a variable gets it: Values. 3234 * variable: Using Variables. 3235 * variable definition: Makefile Contents. 3236 * variables: Variables Simplify. 3237 * variables, $ in name: Computed Names. 3238 * variables, and implicit rule: Automatic Variables. 3239 * variables, appending to: Appending. 3240 * variables, automatic: Automatic Variables. 3241 * variables, command line: Overriding. 3242 * variables, command line, and recursion: Options/Recursion. 3243 * variables, computed names: Computed Names. 3244 * variables, conditional assignment: Flavors. 3245 * variables, defining verbatim: Defining. 3246 * variables, environment <1>: Environment. 3247 * variables, environment: Variables/Recursion. 3248 * variables, exporting: Variables/Recursion. 3249 * variables, flavors: Flavors. 3250 * variables, how they get their values: Values. 3251 * variables, how to reference: Reference. 3252 * variables, loops in expansion: Flavors. 3253 * variables, modified reference: Substitution Refs. 3254 * variables, nested references: Computed Names. 3255 * variables, origin of: Origin Function. 3256 * variables, overriding: Override Directive. 3257 * variables, overriding with arguments: Overriding. 3258 * variables, pattern-specific: Pattern-specific. 3259 * variables, recursively expanded: Flavors. 3260 * variables, setting: Setting. 3261 * variables, simply expanded: Flavors. 3262 * variables, spaces in values: Flavors. 3263 * variables, substituting suffix in: Substitution Refs. 3264 * variables, substitution reference: Substitution Refs. 3265 * variables, target-specific: Target-specific. 3266 * variables, unexpanded value: Value Function. 3267 * variables, warning for undefined: Options Summary. 3268 * varying prerequisites: Static Pattern. 3269 * verbatim variable definition: Defining. 3270 * vpath: Directory Search. 3271 * VPATH, and implicit rules: Implicit/Search. 3272 * VPATH, and link libraries: Libraries/Search. 4091 (line 19) 4092 * traditional directory search (GPATH): Search Algorithm. (line 42) 4093 * types of prerequisites: Prerequisite Types. (line 6) 4094 * undefined variables, warning message: Options Summary. (line 251) 4095 * updating archive symbol directories: Archive Symbols. (line 6) 4096 * updating makefiles: Remaking Makefiles. (line 6) 4097 * user defined functions: Call Function. (line 6) 4098 * value: Using Variables. (line 6) 4099 * value, how a variable gets it: Values. (line 6) 4100 * variable: Using Variables. (line 6) 4101 * variable definition: Makefile Contents. (line 22) 4102 * variable references in commands: Variables in Commands. 4103 (line 6) 4104 * variables: Variables Simplify. (line 6) 4105 * variables, $ in name: Computed Names. (line 6) 4106 * variables, and implicit rule: Automatic Variables. (line 6) 4107 * variables, appending to: Appending. (line 6) 4108 * variables, automatic: Automatic Variables. (line 6) 4109 * variables, command line: Overriding. (line 6) 4110 * variables, command line, and recursion: Options/Recursion. (line 17) 4111 * variables, computed names: Computed Names. (line 6) 4112 * variables, conditional assignment: Flavors. (line 129) 4113 * variables, defining verbatim: Defining. (line 6) 4114 * variables, environment <1>: Environment. (line 6) 4115 * variables, environment: Variables/Recursion. (line 6) 4116 * variables, exporting: Variables/Recursion. (line 6) 4117 * variables, flavor of: Flavor Function. (line 6) 4118 * variables, flavors: Flavors. (line 6) 4119 * variables, how they get their values: Values. (line 6) 4120 * variables, how to reference: Reference. (line 6) 4121 * variables, loops in expansion: Flavors. (line 44) 4122 * variables, modified reference: Substitution Refs. (line 6) 4123 * variables, nested references: Computed Names. (line 6) 4124 * variables, origin of: Origin Function. (line 6) 4125 * variables, overriding: Override Directive. (line 6) 4126 * variables, overriding with arguments: Overriding. (line 6) 4127 * variables, pattern-specific: Pattern-specific. (line 6) 4128 * variables, recursively expanded: Flavors. (line 6) 4129 * variables, setting: Setting. (line 6) 4130 * variables, simply expanded: Flavors. (line 56) 4131 * variables, spaces in values: Flavors. (line 103) 4132 * variables, substituting suffix in: Substitution Refs. (line 6) 4133 * variables, substitution reference: Substitution Refs. (line 6) 4134 * variables, target-specific: Target-specific. (line 6) 4135 * variables, unexpanded value: Value Function. (line 6) 4136 * variables, warning for undefined: Options Summary. (line 251) 4137 * varying prerequisites: Static Pattern. (line 6) 4138 * verbatim variable definition: Defining. (line 6) 4139 * vpath: Directory Search. (line 6) 4140 * VPATH, and implicit rules: Implicit/Search. (line 6) 4141 * VPATH, and link libraries: Libraries/Search. (line 6) 3273 4142 * warnings, printing: Make Control Functions. 3274 * weave <1>: Implicit Variables. 3275 * weave: Catalogue of Rules. 3276 * Web, rule to run: Catalogue of Rules. 4143 (line 35) 4144 * weave <1>: Implicit Variables. (line 98) 4145 * weave: Catalogue of Rules. (line 151) 4146 * Web, rule to run: Catalogue of Rules. (line 151) 3277 4147 * what if: Instead of Execution. 3278 * whitespace, in variable values: Flavors. 3279 * whitespace, stripping: Text Functions. 3280 * wildcard: Wildcards. 3281 * wildcard pitfalls: Wildcard Pitfall. 3282 * wildcard, function: File Name Functions. 3283 * wildcard, in archive member: Archive Members. 3284 * wildcard, in include: Include. 4148 (line 33) 4149 * whitespace, in variable values: Flavors. (line 103) 4150 * whitespace, stripping: Text Functions. (line 80) 4151 * wildcard: Wildcards. (line 6) 4152 * wildcard pitfalls: Wildcard Pitfall. (line 6) 4153 * wildcard, function: File Name Functions. (line 107) 4154 * wildcard, in archive member: Archive Members. (line 36) 4155 * wildcard, in include: Include. (line 13) 3285 4156 * wildcards and MS-DOS/MS-Windows backslashes: Wildcard Pitfall. 3286 * word, selecting a: Text Functions. 3287 * words, extracting first: Text Functions. 3288 * words, filtering: Text Functions. 3289 * words, filtering out: Text Functions. 3290 * words, finding number: Text Functions. 3291 * words, iterating over: Foreach Function. 3292 * words, joining lists: File Name Functions. 3293 * words, removing duplicates: Text Functions. 3294 * words, selecting lists of: Text Functions. 3295 * writing rule commands: Commands. 3296 * writing rules: Rules. 3297 * yacc <1>: Implicit Variables. 3298 * yacc <2>: Catalogue of Rules. 3299 * yacc: Sequences. 3300 * Yacc, rule to run: Catalogue of Rules. 3301 * ~ (tilde): Wildcards. 4157 (line 31) 4158 * Windows, choosing a shell in: Choosing the Shell. (line 36) 4159 * word, selecting a: Text Functions. (line 159) 4160 * words, extracting first: Text Functions. (line 184) 4161 * words, extracting last: Text Functions. (line 197) 4162 * words, filtering: Text Functions. (line 114) 4163 * words, filtering out: Text Functions. (line 132) 4164 * words, finding number: Text Functions. (line 180) 4165 * words, iterating over: Foreach Function. (line 6) 4166 * words, joining lists: File Name Functions. (line 90) 4167 * words, removing duplicates: Text Functions. (line 155) 4168 * words, selecting lists of: Text Functions. (line 168) 4169 * writing rule commands: Commands. (line 6) 4170 * writing rules: Rules. (line 6) 4171 * yacc <1>: Implicit Variables. (line 75) 4172 * yacc <2>: Catalogue of Rules. (line 120) 4173 * yacc: Sequences. (line 18) 4174 * Yacc, rule to run: Catalogue of Rules. (line 120) 4175 * ~ (tilde): Wildcards. (line 11) 3302 4176 3303 4177 … … 3307 4181 ******************************************* 3308 4182 4183 [index] 3309 4184 * Menu: 3310 4185 3311 * $$(@D): Automatic Variables. 3312 * $$(@F): Automatic Variables. 3313 * $$@: Automatic Variables. 3314 * $%: Automatic Variables. 3315 * $(%D): Automatic Variables. 3316 * $(%F): Automatic Variables. 3317 * $(*D): Automatic Variables. 3318 * $(*F): Automatic Variables. 3319 * $(+D): Automatic Variables. 3320 * $(+F): Automatic Variables. 3321 * $(.VARIABLES): Special Variables. 3322 * $(<D): Automatic Variables. 3323 * $(<F): Automatic Variables. 3324 * $(?D): Automatic Variables. 3325 * $(?F): Automatic Variables. 3326 * $(@D): Automatic Variables. 3327 * $(@F): Automatic Variables. 3328 * $(^D): Automatic Variables. 3329 * $(^F): Automatic Variables. 3330 * $*: Automatic Variables. 3331 * $*, and static pattern: Static Usage. 3332 * $+: Automatic Variables. 3333 * $<: Automatic Variables. 3334 * $?: Automatic Variables. 3335 * $@: Automatic Variables. 3336 * $^: Automatic Variables. 3337 * % (automatic variable): Automatic Variables. 3338 * %D (automatic variable): Automatic Variables. 3339 * %F (automatic variable): Automatic Variables. 3340 * * (automatic variable): Automatic Variables. 3341 * * (automatic variable), unsupported bizarre usage: Missing. 3342 * *D (automatic variable): Automatic Variables. 3343 * *F (automatic variable): Automatic Variables. 3344 * + (automatic variable): Automatic Variables. 3345 * +D (automatic variable): Automatic Variables. 3346 * +F (automatic variable): Automatic Variables. 3347 * .DEFAULT <1>: Last Resort. 3348 * .DEFAULT: Special Targets. 3349 * .DEFAULT, and empty commands: Empty Commands. 3350 * .DELETE_ON_ERROR <1>: Errors. 3351 * .DELETE_ON_ERROR: Special Targets. 3352 * .EXPORT_ALL_VARIABLES <1>: Variables/Recursion. 3353 * .EXPORT_ALL_VARIABLES: Special Targets. 3354 * .IGNORE <1>: Errors. 3355 * .IGNORE: Special Targets. 3356 * .INTERMEDIATE: Special Targets. 3357 * .LIBPATTERNS: Libraries/Search. 3358 * .LOW_RESOLUTION_TIME: Special Targets. 3359 * .NOTPARALLEL: Special Targets. 3360 * .PHONY <1>: Special Targets. 3361 * .PHONY: Phony Targets. 3362 * .POSIX: Options/Recursion. 3363 * .PRECIOUS <1>: Interrupts. 3364 * .PRECIOUS: Special Targets. 3365 * .SECONDARY: Special Targets. 3366 * .SILENT <1>: Echoing. 3367 * .SILENT: Special Targets. 3368 * .SUFFIXES <1>: Suffix Rules. 3369 * .SUFFIXES: Special Targets. 3370 * .VARIABLES (list of variables): Special Variables. 3371 * /usr/gnu/include: Include. 3372 * /usr/include: Include. 3373 * /usr/local/include: Include. 3374 * < (automatic variable): Automatic Variables. 3375 * <D (automatic variable): Automatic Variables. 3376 * <F (automatic variable): Automatic Variables. 3377 * ? (automatic variable): Automatic Variables. 3378 * ?D (automatic variable): Automatic Variables. 3379 * ?F (automatic variable): Automatic Variables. 3380 * @ (automatic variable): Automatic Variables. 3381 * @D (automatic variable): Automatic Variables. 3382 * @F (automatic variable): Automatic Variables. 3383 * ^ (automatic variable): Automatic Variables. 3384 * ^D (automatic variable): Automatic Variables. 3385 * ^F (automatic variable): Automatic Variables. 3386 * addprefix: File Name Functions. 3387 * addsuffix: File Name Functions. 3388 * AR: Implicit Variables. 3389 * ARFLAGS: Implicit Variables. 3390 * AS: Implicit Variables. 3391 * ASFLAGS: Implicit Variables. 3392 * basename: File Name Functions. 3393 * bindir: Directory Variables. 3394 * call: Call Function. 3395 * CC: Implicit Variables. 3396 * CFLAGS: Implicit Variables. 3397 * CO: Implicit Variables. 3398 * COFLAGS: Implicit Variables. 3399 * COMSPEC: Execution. 3400 * CPP: Implicit Variables. 3401 * CPPFLAGS: Implicit Variables. 3402 * CTANGLE: Implicit Variables. 3403 * CURDIR: Recursion. 3404 * CWEAVE: Implicit Variables. 3405 * CXX: Implicit Variables. 3406 * CXXFLAGS: Implicit Variables. 3407 * define: Defining. 3408 * dir: File Name Functions. 3409 * else: Conditional Syntax. 3410 * endef: Defining. 3411 * endif: Conditional Syntax. 4186 * $%: Automatic Variables. (line 37) 4187 * $(%D): Automatic Variables. (line 129) 4188 * $(%F): Automatic Variables. (line 130) 4189 * $(*D): Automatic Variables. (line 124) 4190 * $(*F): Automatic Variables. (line 125) 4191 * $(+D): Automatic Variables. (line 147) 4192 * $(+F): Automatic Variables. (line 148) 4193 * $(<D): Automatic Variables. (line 137) 4194 * $(<F): Automatic Variables. (line 138) 4195 * $(?D): Automatic Variables. (line 153) 4196 * $(?F): Automatic Variables. (line 154) 4197 * $(@D): Automatic Variables. (line 113) 4198 * $(@F): Automatic Variables. (line 119) 4199 * $(^D): Automatic Variables. (line 142) 4200 * $(^F): Automatic Variables. (line 143) 4201 * $*: Automatic Variables. (line 73) 4202 * $*, and static pattern: Static Usage. (line 81) 4203 * $+: Automatic Variables. (line 63) 4204 * $<: Automatic Variables. (line 43) 4205 * $?: Automatic Variables. (line 48) 4206 * $@: Automatic Variables. (line 30) 4207 * $^: Automatic Variables. (line 53) 4208 * $|: Automatic Variables. (line 69) 4209 * % (automatic variable): Automatic Variables. (line 37) 4210 * %D (automatic variable): Automatic Variables. (line 129) 4211 * %F (automatic variable): Automatic Variables. (line 130) 4212 * * (automatic variable): Automatic Variables. (line 73) 4213 * * (automatic variable), unsupported bizarre usage: Missing. (line 44) 4214 * *D (automatic variable): Automatic Variables. (line 124) 4215 * *F (automatic variable): Automatic Variables. (line 125) 4216 * + (automatic variable): Automatic Variables. (line 63) 4217 * +D (automatic variable): Automatic Variables. (line 147) 4218 * +F (automatic variable): Automatic Variables. (line 148) 4219 * .DEFAULT <1>: Last Resort. (line 23) 4220 * .DEFAULT: Special Targets. (line 20) 4221 * .DEFAULT, and empty commands: Empty Commands. (line 16) 4222 * .DEFAULT_GOAL (define default goal): Special Variables. (line 10) 4223 * .DELETE_ON_ERROR <1>: Errors. (line 64) 4224 * .DELETE_ON_ERROR: Special Targets. (line 67) 4225 * .EXPORT_ALL_VARIABLES <1>: Variables/Recursion. (line 99) 4226 * .EXPORT_ALL_VARIABLES: Special Targets. (line 129) 4227 * .FEATURES (list of supported features): Special Variables. (line 65) 4228 * .IGNORE <1>: Errors. (line 30) 4229 * .IGNORE: Special Targets. (line 74) 4230 * .INCLUDE_DIRS (list of include directories): Special Variables. 4231 (line 98) 4232 * .INTERMEDIATE: Special Targets. (line 43) 4233 * .LIBPATTERNS: Libraries/Search. (line 6) 4234 * .LOW_RESOLUTION_TIME: Special Targets. (line 86) 4235 * .NOTPARALLEL: Special Targets. (line 134) 4236 * .PHONY <1>: Special Targets. (line 8) 4237 * .PHONY: Phony Targets. (line 22) 4238 * .POSIX: Options/Recursion. (line 60) 4239 * .PRECIOUS <1>: Interrupts. (line 22) 4240 * .PRECIOUS: Special Targets. (line 28) 4241 * .SECONDARY: Special Targets. (line 48) 4242 * .SECONDEXPANSION <1>: Special Targets. (line 57) 4243 * .SECONDEXPANSION: Secondary Expansion. (line 6) 4244 * .SILENT <1>: Echoing. (line 24) 4245 * .SILENT: Special Targets. (line 116) 4246 * .SUFFIXES <1>: Suffix Rules. (line 61) 4247 * .SUFFIXES: Special Targets. (line 15) 4248 * .VARIABLES (list of variables): Special Variables. (line 56) 4249 * /usr/gnu/include: Include. (line 52) 4250 * /usr/include: Include. (line 52) 4251 * /usr/local/include: Include. (line 52) 4252 * < (automatic variable): Automatic Variables. (line 43) 4253 * <D (automatic variable): Automatic Variables. (line 137) 4254 * <F (automatic variable): Automatic Variables. (line 138) 4255 * ? (automatic variable): Automatic Variables. (line 48) 4256 * ?D (automatic variable): Automatic Variables. (line 153) 4257 * ?F (automatic variable): Automatic Variables. (line 154) 4258 * @ (automatic variable): Automatic Variables. (line 30) 4259 * @D (automatic variable): Automatic Variables. (line 113) 4260 * @F (automatic variable): Automatic Variables. (line 119) 4261 * ^ (automatic variable): Automatic Variables. (line 53) 4262 * ^D (automatic variable): Automatic Variables. (line 142) 4263 * ^F (automatic variable): Automatic Variables. (line 143) 4264 * abspath: File Name Functions. (line 121) 4265 * addprefix: File Name Functions. (line 79) 4266 * addsuffix: File Name Functions. (line 68) 4267 * and: Conditional Functions. 4268 (line 45) 4269 * AR: Implicit Variables. (line 41) 4270 * ARFLAGS: Implicit Variables. (line 117) 4271 * AS: Implicit Variables. (line 44) 4272 * ASFLAGS: Implicit Variables. (line 120) 4273 * basename: File Name Functions. (line 57) 4274 * bindir: Directory Variables. (line 53) 4275 * call: Call Function. (line 6) 4276 * CC: Implicit Variables. (line 47) 4277 * CFLAGS: Implicit Variables. (line 124) 4278 * CO: Implicit Variables. (line 50) 4279 * COFLAGS: Implicit Variables. (line 130) 4280 * COMSPEC: Choosing the Shell. (line 39) 4281 * CPP: Implicit Variables. (line 59) 4282 * CPPFLAGS: Implicit Variables. (line 133) 4283 * CTANGLE: Implicit Variables. (line 107) 4284 * CURDIR: Recursion. (line 28) 4285 * CWEAVE: Implicit Variables. (line 101) 4286 * CXX: Implicit Variables. (line 53) 4287 * CXXFLAGS: Implicit Variables. (line 127) 4288 * define: Defining. (line 6) 4289 * dir: File Name Functions. (line 17) 4290 * else: Conditional Syntax. (line 6) 4291 * endef: Defining. (line 6) 4292 * endif: Conditional Syntax. (line 6) 3412 4293 * error: Make Control Functions. 3413 * eval: Eval Function. 3414 * exec_prefix: Directory Variables. 3415 * export: Variables/Recursion. 3416 * FC: Implicit Variables. 3417 * FFLAGS: Implicit Variables. 3418 * filter: Text Functions. 3419 * filter-out: Text Functions. 3420 * findstring: Text Functions. 3421 * firstword: Text Functions. 3422 * foreach: Foreach Function. 3423 * GET: Implicit Variables. 3424 * GFLAGS: Implicit Variables. 3425 * GNUmakefile: Makefile Names. 3426 * GPATH: Search Algorithm. 3427 * if: If Function. 3428 * ifdef: Conditional Syntax. 3429 * ifeq: Conditional Syntax. 3430 * ifndef: Conditional Syntax. 3431 * ifneq: Conditional Syntax. 3432 * include: Include. 3433 * join: File Name Functions. 3434 * LDFLAGS: Implicit Variables. 3435 * LEX: Implicit Variables. 3436 * LFLAGS: Implicit Variables. 3437 * libexecdir: Directory Variables. 3438 * MAKE <1>: Flavors. 3439 * MAKE: MAKE Variable. 3440 * MAKECMDGOALS: Goals. 3441 * makefile: Makefile Names. 3442 * Makefile: Makefile Names. 3443 * MAKEFILES <1>: Variables/Recursion. 3444 * MAKEFILES: MAKEFILES Variable. 3445 * MAKEFLAGS: Options/Recursion. 3446 * MAKEINFO: Implicit Variables. 3447 * MAKELEVEL <1>: Flavors. 3448 * MAKELEVEL: Variables/Recursion. 3449 * MAKEOVERRIDES: Options/Recursion. 3450 * MFLAGS: Options/Recursion. 3451 * notdir: File Name Functions. 3452 * origin: Origin Function. 3453 * OUTPUT_OPTION: Catalogue of Rules. 3454 * override: Override Directive. 3455 * patsubst <1>: Text Functions. 3456 * patsubst: Substitution Refs. 3457 * PC: Implicit Variables. 3458 * PFLAGS: Implicit Variables. 3459 * prefix: Directory Variables. 3460 * RFLAGS: Implicit Variables. 3461 * RM: Implicit Variables. 3462 * sbindir: Directory Variables. 3463 * shell: Shell Function. 3464 * SHELL: Execution. 3465 * SHELL (command execution): Execution. 3466 * sort: Text Functions. 3467 * strip: Text Functions. 3468 * subst <1>: Text Functions. 3469 * subst: Multiple Targets. 3470 * suffix: File Name Functions. 3471 * SUFFIXES: Suffix Rules. 3472 * TANGLE: Implicit Variables. 3473 * TEX: Implicit Variables. 3474 * TEXI2DVI: Implicit Variables. 3475 * unexport: Variables/Recursion. 3476 * value: Value Function. 3477 * vpath: Selective Search. 3478 * VPATH: General Search. 3479 * vpath: Directory Search. 3480 * VPATH: Directory Search. 4294 (line 11) 4295 * eval: Eval Function. (line 6) 4296 * exec_prefix: Directory Variables. (line 35) 4297 * export: Variables/Recursion. (line 40) 4298 * FC: Implicit Variables. (line 63) 4299 * FFLAGS: Implicit Variables. (line 137) 4300 * filter: Text Functions. (line 114) 4301 * filter-out: Text Functions. (line 132) 4302 * findstring: Text Functions. (line 103) 4303 * firstword: Text Functions. (line 184) 4304 * flavor: Flavor Function. (line 6) 4305 * foreach: Foreach Function. (line 6) 4306 * GET: Implicit Variables. (line 67) 4307 * GFLAGS: Implicit Variables. (line 140) 4308 * GNUmakefile: Makefile Names. (line 7) 4309 * GPATH: Search Algorithm. (line 48) 4310 * if: Conditional Functions. 4311 (line 6) 4312 * ifdef: Conditional Syntax. (line 6) 4313 * ifeq: Conditional Syntax. (line 6) 4314 * ifndef: Conditional Syntax. (line 6) 4315 * ifneq: Conditional Syntax. (line 6) 4316 * include: Include. (line 6) 4317 * info: Make Control Functions. 4318 (line 43) 4319 * join: File Name Functions. (line 90) 4320 * lastword: Text Functions. (line 197) 4321 * LDFLAGS: Implicit Variables. (line 143) 4322 * LEX: Implicit Variables. (line 70) 4323 * LFLAGS: Implicit Variables. (line 147) 4324 * libexecdir: Directory Variables. (line 66) 4325 * LINT: Implicit Variables. (line 78) 4326 * LINTFLAGS: Implicit Variables. (line 159) 4327 * M2C: Implicit Variables. (line 81) 4328 * MAKE <1>: Flavors. (line 84) 4329 * MAKE: MAKE Variable. (line 6) 4330 * MAKE_RESTARTS (number of times make has restarted): Special Variables. 4331 (line 49) 4332 * MAKE_VERSION: Features. (line 197) 4333 * MAKECMDGOALS: Goals. (line 30) 4334 * makefile: Makefile Names. (line 7) 4335 * Makefile: Makefile Names. (line 7) 4336 * MAKEFILE_LIST: MAKEFILE_LIST Variable. 4337 (line 6) 4338 * MAKEFILES <1>: Variables/Recursion. (line 127) 4339 * MAKEFILES: MAKEFILES Variable. (line 6) 4340 * MAKEFLAGS: Options/Recursion. (line 6) 4341 * MAKEINFO: Implicit Variables. (line 87) 4342 * MAKELEVEL <1>: Flavors. (line 84) 4343 * MAKELEVEL: Variables/Recursion. (line 115) 4344 * MAKEOVERRIDES: Options/Recursion. (line 49) 4345 * MAKESHELL (MS-DOS alternative to SHELL): Choosing the Shell. 4346 (line 25) 4347 * MFLAGS: Options/Recursion. (line 65) 4348 * notdir: File Name Functions. (line 27) 4349 * or: Conditional Functions. 4350 (line 37) 4351 * origin: Origin Function. (line 6) 4352 * OUTPUT_OPTION: Catalogue of Rules. (line 202) 4353 * override: Override Directive. (line 6) 4354 * patsubst <1>: Text Functions. (line 18) 4355 * patsubst: Substitution Refs. (line 28) 4356 * PC: Implicit Variables. (line 84) 4357 * PFLAGS: Implicit Variables. (line 153) 4358 * prefix: Directory Variables. (line 25) 4359 * realpath: File Name Functions. (line 114) 4360 * RFLAGS: Implicit Variables. (line 156) 4361 * RM: Implicit Variables. (line 110) 4362 * sbindir: Directory Variables. (line 59) 4363 * shell: Shell Function. (line 6) 4364 * SHELL: Choosing the Shell. (line 6) 4365 * SHELL (command execution): Execution. (line 6) 4366 * sort: Text Functions. (line 146) 4367 * strip: Text Functions. (line 80) 4368 * subst <1>: Text Functions. (line 9) 4369 * subst: Multiple Targets. (line 28) 4370 * suffix: File Name Functions. (line 43) 4371 * SUFFIXES: Suffix Rules. (line 81) 4372 * TANGLE: Implicit Variables. (line 104) 4373 * TEX: Implicit Variables. (line 91) 4374 * TEXI2DVI: Implicit Variables. (line 94) 4375 * unexport: Variables/Recursion. (line 45) 4376 * value: Value Function. (line 6) 4377 * vpath: Selective Search. (line 6) 4378 * VPATH: General Search. (line 6) 4379 * vpath: Directory Search. (line 6) 4380 * VPATH: Directory Search. (line 6) 3481 4381 * warning: Make Control Functions. 3482 * WEAVE: Implicit Variables. 3483 * wildcard <1>: File Name Functions. 3484 * wildcard: Wildcard Function. 3485 * word: Text Functions. 3486 * wordlist: Text Functions. 3487 * words: Text Functions. 3488 * YACC: Implicit Variables. 3489 * YACCR: Implicit Variables. 3490 * YFLAGS: Implicit Variables. 3491 3492 4382 (line 35) 4383 * WEAVE: Implicit Variables. (line 98) 4384 * wildcard <1>: File Name Functions. (line 107) 4385 * wildcard: Wildcard Function. (line 6) 4386 * word: Text Functions. (line 159) 4387 * wordlist: Text Functions. (line 168) 4388 * words: Text Functions. (line 180) 4389 * YACC: Implicit Variables. (line 74) 4390 * YFLAGS: Implicit Variables. (line 150) 4391 * | (automatic variable): Automatic Variables. (line 69) 4392 4393 -
vendor/gnumake/current/doc/make.texi
r280 r501 2 2 @c %**start of header 3 3 @setfilename make.info 4 5 @include version.texi 6 @set EDITION 0.70 7 @set RCSID $Id: make.texi,v 1.45 2006/04/01 06:36:40 psmith Exp $ 8 4 9 @settitle GNU @code{make} 5 10 @setchapternewpage odd 6 @c %**end of header7 8 @c FSF publishers: format makebook.texi instead of using this file directly.9 10 @set RCSID $Id: make.texi,v 1.30 2005/05/13 12:45:31 psmith Exp $11 @set EDITION 0.7012 @set VERSION 3.8113 @set UPDATED 07 May 200514 @set UPDATE-MONTH May 200515 @c ISBN provided by Lisa M. Opus Goldstein <[email protected]>, 5 May 200416 @set ISBN 1-882114-83-517 18 @c finalout19 20 @c ISPELL CHECK: done, 10 June 1993 --roland21 @c ISPELL CHECK: done, 2000-06-25 --Martin Buchholz22 23 11 @c Combine the variable and function indices: 24 12 @syncodeindex vr fn 25 13 @c Combine the program and concept indices: 26 14 @syncodeindex pg cp 15 @c FSF publishers: format makebook.texi instead of using this file directly. 16 @c ISBN provided by Lisa M. Opus Goldstein <[email protected]>, 5 May 2004 17 @set ISBN 1-882114-83-5 18 @c %**end of header 19 20 @copying 21 This file documents the GNU @code{make} utility, which determines 22 automatically which pieces of a large program need to be recompiled, 23 and issues the commands to recompile them. 24 25 This is Edition @value{EDITION}, last updated @value{UPDATED}, 26 of @cite{The GNU Make Manual}, for GNU @code{make} version @value{VERSION}. 27 28 Copyright @copyright{} 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 29 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006 30 Free Software Foundation, Inc. 31 32 @quotation 33 Permission is granted to copy, distribute and/or modify this document 34 under the terms of the GNU Free Documentation License, Version 1.2 or 35 any later version published by the Free Software Foundation; with no 36 Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,'' 37 and with the Back-Cover Texts as in (a) below. A copy of the 38 license is included in the section entitled ``GNU Free Documentation 39 License.'' 40 41 (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify 42 this GNU Manual, like GNU software. Copies published by the Free 43 Software Foundation raise funds for GNU development.'' 44 @end quotation 45 @end copying 46 47 @c finalout 48 49 @c ISPELL CHECK: done, 10 June 1993 --roland 50 @c ISPELL CHECK: done, 2000-06-25 --Martin Buchholz 51 27 52 28 53 @dircategory GNU Packages … … 30 55 * Make: (make). Remake files automatically. 31 56 @end direntry 32 33 @ifnottex34 This file documents the GNU Make utility, which determines35 automatically which pieces of a large program need to be recompiled,36 and issues the commands to recompile them.37 38 This is Edition @value{EDITION}, last updated @value{UPDATED},39 of @cite{The GNU Make Manual}, for @code{make}, Version @value{VERSION}.40 41 Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,42 1998, 1999, 2000, 2002, 2003, 2004, 200543 Free Software Foundation, Inc.44 45 Permission is granted to copy, distribute and/or modify this document46 under the terms of the GNU Free Documentation License, Version 1.1 or47 any later version published by the Free Software Foundation; with no48 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover49 Texts. A copy of the license is included in the section entitled50 ``GNU Free Documentation License''.51 @end ifnottex52 57 53 58 @iftex … … 58 63 @subtitle A Program for Directing Recompilation 59 64 @subtitle GNU @code{make} Version @value{VERSION} 60 @subtitle @value{UPDATE -MONTH}65 @subtitle @value{UPDATED-MONTH} 61 66 @author Richard M. Stallman, Roland McGrath, Paul D. Smith 62 67 @page 63 68 @vskip 0pt plus 1filll 64 Copyright @copyright{} 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 65 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004 Free Software Foundation, Inc. 69 @insertcopying 66 70 @sp 2 67 71 Published by the Free Software Foundation @* 68 5 9 Temple Place -- Suite 330,@*69 Boston, MA 0211 1-1307USA @*72 51 Franklin St. -- Fifth Floor @* 73 Boston, MA 02110-1301 USA @* 70 74 ISBN @value{ISBN} @* 71 72 Permission is granted to copy, distribute and/or modify this document73 under the terms of the GNU Free Documentation License, Version 1.1 or74 any later version published by the Free Software Foundation; with the75 Invariant Sections being ``GNU General Public License'', the Front-Cover76 Texts being ``A GNU Manual'', and with the Back-Cover Texts being as in77 (a) below. A copy of the license is included in the section entitled78 ``GNU Free Documentation License''.79 80 (a) The FSF's Back-Cover Text is:81 82 @quotation83 You have freedom to copy and modify this GNU Manual, like GNU84 software. Copies published by the Free Software Foundation raise85 funds for GNU development.86 @end quotation87 75 @sp 2 88 76 Cover art by Etienne Suvasa. 89 77 @end titlepage 90 @page 78 79 @summarycontents 80 @contents 91 81 92 82 @ifnottex 93 83 @node Top, Overview, (dir), (dir) 94 @top Make 95 96 The GNU @code{make} utility automatically determines which pieces of a 97 large program need to be recompiled, and issues the commands to 98 recompile them.@refill 99 100 This edition of the @cite{GNU Make Manual}, 101 last updated @value{UPDATED}, 102 documents GNU @code{make} Version @value{VERSION}.@refill 103 104 This manual describes @code{make} and contains the following chapters:@refill 84 @top GNU @code{make} 85 86 @insertcopying 105 87 @end ifnottex 106 88 … … 174 156 * Phony Targets:: Using a target that is not a real file's name. 175 157 * Force Targets:: You can use a target without commands 176 or prerequisites to mark other 177 targetsas phony.158 or prerequisites to mark other targets 159 as phony. 178 160 * Empty Targets:: When only the date matters and the 179 161 files are empty. … … 215 197 Writing the Commands in Rules 216 198 199 * Command Syntax:: Command syntax features and pitfalls. 217 200 * Echoing:: How to control when commands are echoed. 218 201 * Execution:: How commands are executed. … … 223 206 * Sequences:: Defining canned sequences of commands. 224 207 * Empty Commands:: Defining useful, do-nothing commands. 208 209 Command Syntax 210 211 * Splitting Lines:: Breaking long command lines for readability. 212 * Variables in Commands:: Using @code{make} variables in commands. 213 214 Command Execution 215 216 * Choosing the Shell:: How @code{make} chooses the shell used 217 to run commands. 225 218 226 219 Recursive Use of @code{make} … … 268 261 * Text Functions:: General-purpose text manipulation functions. 269 262 * File Name Functions:: Functions for manipulating file names. 263 * Conditional Functions:: Functions that implement conditions. 270 264 * Foreach Function:: Repeat some text with controlled variation. 271 * If Function:: Conditionally expand a value.272 265 * Call Function:: Expand a user-defined function. 273 266 * Value Function:: Return the un-expanded value of a variable. 274 267 * Eval Function:: Evaluate the arguments as makefile syntax. 275 268 * Origin Function:: Find where a variable got its value. 269 * Flavor Function:: Find out the flavor of a variable. 276 270 * Shell Function:: Substitute the output of a shell command. 277 271 * Make Control Functions:: Functions that control how make runs. … … 301 295 * Chained Rules:: How to use a chain of implicit rules. 302 296 * Pattern Rules:: How to define new implicit rules. 303 * Last Resort:: How to defin ing commands for rules304 whichcannot find any.297 * Last Resort:: How to define commands for rules which 298 cannot find any. 305 299 * Suffix Rules:: The old-fashioned style of implicit rule. 306 300 * Implicit Rule Search:: The precise algorithm for applying … … 330 324 331 325 * Archive Symbols:: How to update archive symbol directories. 332 333 Makefile Conventions334 335 * Makefile Basics:: General Conventions for Makefiles336 * Utilities in Makefiles:: Utilities in Makefiles337 * Command Variables:: Variables for Specifying Commands338 * Directory Variables:: Variables for Installation Directories339 * Standard Targets:: Standard Targets for Users340 * Install Command Categories:: Three categories of commands in the `install'341 326 342 327 @end detailmenu … … 1100 1085 1101 1086 @noindent 1102 @var{filenames} can contain shell file name patterns. 1087 @var{filenames} can contain shell file name patterns. If 1088 @var{filenames} is empty, nothing is included and no error is printed. 1103 1089 @cindex shell file name pattern (in @code{include}) 1104 1090 @cindex shell wildcards (in @code{include}) … … 1289 1275 @code{.DEFAULT_GOAL} variable allows you to discover the current 1290 1276 default goal, restart the default goal selection algorithm by clearing 1291 its value, or to explicitly set the default goal. The following1277 its value, or to explicitly set the default goal. The following 1292 1278 example illustrates these cases: 1293 1279 … … 1330 1316 Note that assigning more than one target name to @code{.DEFAULT_GOAL} is 1331 1317 illegal and will result in an error. 1318 1319 @vindex MAKE_RESTARTS @r{(number of times @code{make} has restarted)} 1320 @item MAKE_RESTARTS 1321 This variable is set only if this instance of @code{make} has 1322 restarted (@pxref{Remaking Makefiles, , How Makefiles Are Remade}): it 1323 will contain the number of times this instance has restarted. Note 1324 this is not the same as recursion (counted by the @code{MAKELEVEL} 1325 variable). You should not set, modify, or export this variable. 1332 1326 1333 1327 @vindex .VARIABLES @r{(list of variables)} … … 1357 1351 1358 1352 @table @samp 1353 1354 @item archives 1355 Supports @code{ar} (archive) files using special filename syntax. 1356 @xref{Archives, ,Using @code{make} to Update Archive Files}. 1357 1358 @item check-symlink 1359 Supports the @code{-L} (@code{--check-symlink-times}) flag. 1360 @xref{Options Summary, ,Summary of Options}. 1361 1362 @item else-if 1363 Supports ``else if'' non-nested conditionals. @xref{Conditional 1364 Syntax, ,Syntax of Conditionals}. 1365 1366 @item jobserver 1367 Supports ``job server'' enhanced parallel builds. @xref{Parallel, 1368 ,Parallel Execution}. 1369 1370 @item second-expansion 1371 Supports secondary expansion of prerequisite lists. 1372 1373 @item order-only 1374 Supports order-only prerequisites. @xref{Prerequisite Types, ,Types 1375 of Prerequisites}. 1376 1359 1377 @item target-specific 1360 1378 Supports target-specific and pattern-specific variable assignments. 1361 1379 @xref{Target-specific, ,Target-specific Variable Values}. 1362 1380 1363 @item order-only1364 Supports order-only prerequisites. @xref{Prerequisite Types, ,Types1365 of Prerequisites}.1366 1367 @item second-expansion1368 Supports secondary expansion of prerequisite lists.1369 1370 @item jobserver1371 Supports ``job server'' enhanced parallel builds. @xref{Parallel,1372 ,Parallel Execution}.1373 1374 @item check-symlink1375 Supports the @code{-L} (@code{--check-symlink-times}) flag.1376 @xref{Options Summary, ,Summary of Options}.1377 1378 1381 @end table 1382 1383 @vindex .INCLUDE_DIRS @r{(list of include directories)} 1384 @item .INCLUDE_DIRS 1385 Expands to a list of directories that @code{make} searches for 1386 included makefiles (@pxref{Include, , Including Other Makefiles}). 1379 1387 1380 1388 @end table … … 1600 1608 @cindex expansion, secondary 1601 1609 1610 @findex .SECONDEXPANSION 1602 1611 In the previous section we learned that GNU @code{make} works in two 1603 1612 distinct phases: a read-in phase and a target-update phase 1604 (@pxref{Reading Makefiles, , How @code{make} Reads a Makefile}). 1605 There is an extra wrinkle that comes in between those two phases, 1606 right at the end of the read-in phase: at that time, all the 1607 prerequisites of all of the targets are expanded a @emph{second time}. 1608 In most circumstances this secondary expansion will have no effect, 1609 since all variable and function references will have been expanded 1610 during the initial parsing of the makefiles. In order to take 1611 advantage of the secondary expansion phase of the parser, then, it's 1612 necessary to @emph{escape} the variable or function reference in the 1613 makefile. In this case the first expansion merely un-escapes the 1614 reference but doesn't expand it, and expansion is left to the 1615 secondary expansion phase. For example, consider this makefile: 1616 1617 @example 1613 (@pxref{Reading Makefiles, , How @code{make} Reads a Makefile}). GNU 1614 make also has the ability to enable a @emph{second expansion} of the 1615 prerequisites (only) for some or all targets defined in the makefile. 1616 In order for this second expansion to occur, the special target 1617 @code{.SECONDEXPANSION} must be defined before the first prerequisite 1618 list that makes use of this feature. 1619 1620 If that special target is defined then in between the two phases 1621 mentioned above, right at the end of the read-in phase, all the 1622 prerequisites of the targets defined after the special target are 1623 expanded a @emph{second time}. In most circumstances this secondary 1624 expansion will have no effect, since all variable and function 1625 references will have been expanded during the initial parsing of the 1626 makefiles. In order to take advantage of the secondary expansion 1627 phase of the parser, then, it's necessary to @emph{escape} the 1628 variable or function reference in the makefile. In this case the 1629 first expansion merely un-escapes the reference but doesn't expand it, 1630 and expansion is left to the secondary expansion phase. For example, 1631 consider this makefile: 1632 1633 @example 1634 .SECONDEXPANSION: 1618 1635 ONEVAR = onefile 1619 1636 TWOVAR = twofile … … 1639 1656 1640 1657 @example 1658 .SECONDEXPANSION: 1641 1659 AVAR = top 1642 1660 onefile: $(AVAR) … … 1658 1676 defer the expansion by escaping the @code{$}. Also, secondary 1659 1677 expansion occurs for both explicit and implicit (pattern) rules. 1660 Knowing this, the possible uses for this feature are almost endless. 1661 For example: 1662 1663 @example 1678 Knowing this, the possible uses for this feature increase 1679 dramatically. For example: 1680 1681 @example 1682 .SECONDEXPANSION: 1664 1683 main_OBJS := main.o try.o test.o 1665 1684 lib_OBJS := lib.o api.o … … 1682 1701 lib_SRCS := lib.c api.c 1683 1702 1703 .SECONDEXPANSION: 1684 1704 main lib: $$(patsubst %.c,%.o,$$($$@@_SRCS)) 1685 1705 @end example … … 1708 1728 of all prerequisites of rules @emph{that have already appeared} for 1709 1729 the same target (@code{$$+} with repetitions and @code{$$^} 1710 without). The following example will help illustrate these behaviors: 1711 1712 @example 1730 without). The following example will help illustrate these behaviors: 1731 1732 @example 1733 .SECONDEXPANSION: 1734 1713 1735 foo: foo.1 bar.1 $$< $$^ $$+ # line #1 1714 1736 … … 1718 1740 @end example 1719 1741 1720 For the first line, all three variables (@code{$$<}, @code{$$^}, and 1721 @code{$$ +}) expand to the empty string. For the second line, they will1722 have values @code{foo.1}, @code{foo.1 bar.1}, and @code{foo.1 bar.1} 1723 respectively. For the third they will have values @code{foo.1}, 1724 @code{foo.1 bar.1 foo.2 bar.2}, and @code{foo.1 bar.1 foo.2 bar.2}1725 respectively.1742 In the first prerequisite list, all three variables (@code{$$<}, 1743 @code{$$^}, and @code{$$+}) expand to the empty string. In the 1744 second, they will have values @code{foo.1}, @code{foo.1 bar.1}, and 1745 @code{foo.1 bar.1} respectively. In the third they will have values 1746 @code{foo.1}, @code{foo.1 bar.1 foo.2 bar.2}, and @code{foo.1 bar.1 1747 foo.2 bar.2} respectively. 1726 1748 1727 1749 Rules undergo secondary expansion in makefile order, except that … … 1751 1773 1752 1774 @example 1775 .SECONDEXPANSION: 1776 1753 1777 foo: bar 1754 1778 … … 1769 1793 1770 1794 @example 1795 .SECONDEXPANSION: 1796 1771 1797 /tmp/foo.o: 1772 1798 … … 1816 1842 * Phony Targets:: Using a target that is not a real file's name. 1817 1843 * Force Targets:: You can use a target without commands 1818 or prerequisites to mark other 1819 targetsas phony.1844 or prerequisites to mark other targets 1845 as phony. 1820 1846 * Empty Targets:: When only the date matters and the 1821 1847 files are empty. … … 1901 1927 appear on the line after the prerequisites, with a tab character, or may 1902 1928 appear on the same line, with a semicolon. Either way, the effect is the 1903 same. @xref{Commands, ,Writing the Commands in Rules}. 1929 same. There are other differences in the syntax of command lines. 1930 @xref{Commands, ,Writing the Commands in Rules}. 1904 1931 1905 1932 @cindex dollar sign (@code{$}), in rules 1906 1933 @cindex @code{$}, in rules 1907 @cindex rule, and @code{$} 1908 Because dollar signs are used to start variable references, if you really 1909 want a dollar sign in a rule you must write two of them, @samp{$$} 1910 (@pxref{Using Variables, ,How to Use Variables}). In prerequisite 1911 lists you must actually write @emph{four} dollar signs (@samp{$$$$}), 1912 due to secondary expansion (@pxref{Secondary Expansion}). 1913 You may split a long line by inserting a backslash 1914 followed by a newline, but this is not required, as @code{make} places no 1915 limit on the length of a line in a makefile. 1934 @cindex rules, and @code{$} 1935 Because dollar signs are used to start @code{make} variable 1936 references, if you really want a dollar sign in a target or 1937 prerequisite you must write two of them, @samp{$$} (@pxref{Using 1938 Variables, ,How to Use Variables}). If you have enabled secondary 1939 expansion (@pxref{Secondary Expansion}) and you want a literal dollar 1940 sign in the prerequisites lise, you must actually write @emph{four} 1941 dollar signs (@samp{$$$$}). 1942 1943 You may split a long line by inserting a backslash followed by a 1944 newline, but this is not required, as @code{make} places no limit on 1945 the length of a line in a makefile. 1916 1946 1917 1947 A rule tells @code{make} two things: when the targets are out of date, … … 2004 2034 @var{HOME}.@refill 2005 2035 2006 Wildcard expansion happens automatically in targets, in prerequisites,2007 and in commands (where the shell does the expansion). In other 2008 contexts, wildcard expansion happens only if you request it explicitly 2009 with the @code{wildcard} function.2036 Wildcard expansion is performed by @code{make} automatically in 2037 targets and in prerequisites. In commands the shell is responsible 2038 for wildcard expansion. In other contexts, wildcard expansion happens 2039 only if you request it explicitly with the @code{wildcard} function. 2010 2040 2011 2041 The special significance of a wildcard character can be turned off by … … 2553 2583 word in the list will be used. 2554 2584 2555 The default value for @code{.LIBPATTERNS} is ``@samp{lib%.so lib%.a}'',2585 The default value for @code{.LIBPATTERNS} is @samp{lib%.so lib%.a}, 2556 2586 which provides the default behavior described above. 2557 2587 … … 2644 2674 it will do so even if @code{make} is invoked with the @code{-k} option, 2645 2675 which is unfortunate. Second, and perhaps more importantly, you cannot 2646 take advantage of the parallel build capabilities of make using this2647 method, since there is only one rule.2676 take advantage of @code{make}'s ability to build targets in parallel 2677 (@pxref{Parallel, ,Parallel Execution}), since there is only one rule. 2648 2678 2649 2679 By declaring the subdirectories as phony targets (you must do this as … … 2867 2897 as secondary (i.e., no target is removed because it is considered 2868 2898 intermediate). 2899 2900 @findex .SECONDEXPANSION 2901 @item .SECONDEXPANSION 2902 2903 If @code{.SECONDEXPANSION} is mentioned as a target anywhere in the 2904 makefile, then all prerequisite lists defined @emph{after} it appears 2905 will be expanded a second time after all makefiles have been read in. 2906 @xref{Secondary Expansion, ,Secondary Expansion}. 2907 2908 The prerequisites of the special target @code{.SUFFIXES} are the list 2909 of suffixes to be used in checking for suffix rules. 2910 @xref{Suffix Rules, , Old-Fashioned Suffix Rules}. 2869 2911 2870 2912 @findex .DELETE_ON_ERROR … … 3376 3418 @group 3377 3419 %.d: %.c 3378 @ set -e; rm -f $@@; \3420 @@set -e; rm -f $@@; \ 3379 3421 $(CC) -M $(CPPFLAGS) $< > $@@.$$$$; \ 3380 3422 sed 's,\($*\)\.o[ :]*,\1.o $@@ : ,g' < $@@.$$$$ > $@@; \ … … 3449 3491 @cindex writing rule commands 3450 3492 3451 The commands of a rule consist of shell command lines to be executed one 3452 by one. Each command line must start with a tab, except that the first 3453 command line may be attached to the target-and-prerequisites line with a 3454 semicolon in between. Blank lines and lines of just comments may appear 3455 among the command lines; they are ignored. (But beware, an apparently 3456 ``blank'' line that begins with a tab is @emph{not} blank! It is an 3457 empty command; @pxref{Empty Commands}.) 3493 The commands of a rule consist of one or more shell command lines to 3494 be executed, one at a time, in the order they appear. Typically, the 3495 result of executing these commands is that the target of the rule is 3496 brought up to date. 3458 3497 3459 3498 Users use many different shell programs, but commands in makefiles are … … 3461 3500 otherwise. @xref{Execution, ,Command Execution}. 3462 3501 3463 @cindex comments, in commands3464 @cindex commands, comments in3465 @cindex @code{#} (comments), in commands3466 The shell that is in use determines whether comments can be written on3467 command lines, and what syntax they use. When the shell is3468 @file{/bin/sh}, a @samp{#} starts a comment that extends to the end of3469 the line. The @samp{#} does not have to be at the beginning of a line.3470 Text on a line before a @samp{#} is not part of the comment.3471 3472 3502 @menu 3503 * Command Syntax:: Command syntax features and pitfalls. 3473 3504 * Echoing:: How to control when commands are echoed. 3474 3505 * Execution:: How commands are executed. … … 3481 3512 @end menu 3482 3513 3483 @node Echoing, Execution, Commands, Commands 3514 @node Command Syntax, Echoing, Commands, Commands 3515 @section Command Syntax 3516 @cindex command syntax 3517 @cindex syntax of commands 3518 3519 Makefiles have the unusual property that there are really two distinct 3520 syntaxes in one file. Most of the makefile uses @code{make} syntax 3521 (@pxref{Makefiles, ,Writing Makefiles}). However, commands are meant to be 3522 interpreted by the shell and so they are written using shell syntax. 3523 The @code{make} program does not try to understand shell syntax: it 3524 performs only a very few specific translations on the content of the 3525 command before handing it to the shell. 3526 3527 Each command line must start with a tab, except that the first command 3528 line may be attached to the target-and-prerequisites line with a 3529 semicolon in between. @emph{Any} line in the makefile that begins 3530 with a tab and appears in a ``rule context'' (that is, after a rule 3531 has been started until another rule or variable definition) will be 3532 considered a command line for that rule. Blank lines and lines of 3533 just comments may appear among the command lines; they are ignored. 3534 3535 Some consequences of these rules include: 3536 3537 @itemize @bullet 3538 @item 3539 A blank line that begins with a tab is not blank: it's an empty 3540 command (@pxref{Empty Commands}). 3541 3542 @cindex comments, in commands 3543 @cindex commands, comments in 3544 @cindex @code{#} (comments), in commands 3545 @item 3546 A comment in a command line is not a @code{make} comment; it will be 3547 passed to the shell as-is. Whether the shell treats it as a comment 3548 or not depends on your shell. 3549 3550 @item 3551 A variable definition in a ``rule context'' which is indented by a tab 3552 as the first character on the line, will be considered a command line, 3553 not a @code{make} variable definition, and passed to the shell. 3554 3555 @item 3556 A conditional expression (@code{ifdef}, @code{ifeq}, 3557 etc. @pxref{Conditional Syntax, ,Syntax of Conditionals}) in a ``rule 3558 context'' which is indented by a tab as the first character on the 3559 line, will be considered a command line and be passed to the shell. 3560 3561 @end itemize 3562 3563 @menu 3564 * Splitting Lines:: Breaking long command lines for readability. 3565 * Variables in Commands:: Using @code{make} variables in commands. 3566 @end menu 3567 3568 @node Splitting Lines, Variables in Commands, Command Syntax, Command Syntax 3569 @subsection Splitting Command Lines 3570 @cindex commands, splitting 3571 @cindex splitting commands 3572 @cindex commands, backslash (@code{\}) in 3573 @cindex commands, quoting newlines in 3574 @cindex backslash (@code{\}), in commands 3575 @cindex @code{\} (backslash), in commands 3576 @cindex quoting newline, in commands 3577 @cindex newline, quoting, in commands 3578 3579 One of the few ways in which @code{make} does interpret command lines 3580 is checking for a backslash just before the newline. As in normal 3581 makefile syntax, a single command can be split into multiple lines in 3582 the makefile by placing a backslash before each newline. A sequence 3583 of lines like this is considered a single command, and one instance of 3584 the shell will be invoked to run it. 3585 3586 However, in contrast to how they are treated in other places in a 3587 makefile, backslash-newline pairs are @emph{not} removed from the 3588 command. Both the backslash and the newline characters are preserved 3589 and passed to the shell. How the backslash-newline is interpreted 3590 depends on your shell. If the first character of the next line 3591 after the backslash-newline is a tab, then that tab (and only that 3592 tab) is removed. Whitespace is never added to the command. 3593 3594 For example, this makefile: 3595 3596 @example 3597 @group 3598 all : 3599 @@echo no\ 3600 space 3601 @@echo no\ 3602 space 3603 @@echo one \ 3604 space 3605 @@echo one\ 3606 space 3607 @end group 3608 @end example 3609 3610 @noindent 3611 consists of four separate shell commands where the output is: 3612 3613 @example 3614 @group 3615 nospace 3616 nospace 3617 one space 3618 one space 3619 @end group 3620 @end example 3621 3622 As a more complex example, this makefile: 3623 3624 @example 3625 @group 3626 all : ; @@echo 'hello \ 3627 world' ; echo "hello \ 3628 world" 3629 @end group 3630 @end example 3631 3632 @noindent 3633 will run one shell with a command script of: 3634 3635 @example 3636 @group 3637 echo 'hello \ 3638 world' ; echo "hello \ 3639 world" 3640 @end group 3641 @end example 3642 3643 @noindent 3644 which, according to shell quoting rules, will yield the following output: 3645 3646 @example 3647 @group 3648 hello \ 3649 world 3650 hello world 3651 @end group 3652 @end example 3653 3654 @noindent 3655 Notice how the backslash/newline pair was removed inside the string quoted 3656 with double quotes (@code{"..."}), but not from the string quoted with single 3657 quotes (@code{'...'}). This is the way the default shell (@file{/bin/sh}) 3658 handles backslash/newline pairs. If you specify a different shell in your 3659 makefiles it may treat them differently. 3660 3661 Sometimes you want to split a long line inside of single quotes, but 3662 you don't want the backslash-newline to appear in the quoted content. 3663 This is often the case when passing scripts to languages such as Perl, 3664 where extraneous backslashes inside the script can change its meaning 3665 or even be a syntax error. One simple way of handling this is to 3666 place the quoted string, or even the entire command, into a 3667 @code{make} variable then use the variable in the command. In this 3668 situation the newline quoting rules for makefiles will be used, and 3669 the backslash-newline will be removed. If we rewrite our example 3670 above using this method: 3671 3672 @example 3673 @group 3674 HELLO = 'hello \ 3675 world' 3676 3677 all : ; @@echo $(HELLO) 3678 @end group 3679 @end example 3680 3681 @noindent 3682 we will get output like this: 3683 3684 @example 3685 @group 3686 hello world 3687 @end group 3688 @end example 3689 3690 If you like, you can also use target-specific variables 3691 (@pxref{Target-specific, ,Target-specific Variable Values}) to obtain 3692 a tighter correspondence between the variable and the command that 3693 uses it. 3694 3695 @node Variables in Commands, , Splitting Lines, Command Syntax 3696 @subsection Using Variables in Commands 3697 @cindex variable references in commands 3698 @cindex commands, using variables in 3699 3700 The other way in which @code{make} processes commands is by expanding 3701 any variable references in them (@pxref{Reference,Basics of Variable 3702 References}). This occurs after make has finished reading all the 3703 makefiles and the target is determined to be out of date; so, the 3704 commands for targets which are not rebuilt are never expanded. 3705 3706 Variable and function references in commands have identical syntax and 3707 semantics to references elsewhere in the makefile. They also have the 3708 same quoting rules: if you want a dollar sign to appear in your 3709 command, you must double it (@samp{$$}). For shells like the default 3710 shell, that use dollar signs to introduce variables, it's important to 3711 keep clear in your mind whether the variable you want to reference is 3712 a @code{make} variable (use a single dollar sign) or a shell variable 3713 (use two dollar signs). For example: 3714 3715 @example 3716 @group 3717 LIST = one two three 3718 all: 3719 for i in $(LIST); do \ 3720 echo $$i; \ 3721 done 3722 @end group 3723 @end example 3724 3725 @noindent 3726 results in the following command being passed to the shell: 3727 3728 @example 3729 @group 3730 for i in one two three; do \ 3731 echo $i; \ 3732 done 3733 @end group 3734 @end example 3735 3736 @noindent 3737 which generates the expected result: 3738 3739 @example 3740 @group 3741 one 3742 two 3743 three 3744 @end group 3745 @end example 3746 3747 @node Echoing, Execution, Command Syntax, Commands 3484 3748 @section Command Echoing 3485 3749 @cindex echoing of commands … … 3530 3794 @cindex execution, of commands 3531 3795 @cindex shell command, execution 3532 @vindex SHELL @r{(command execution)} 3533 3534 When it is time to execute commands to update a target, they are executed 3535 by making a new subshell for each line. (In practice, @code{make} may 3536 take shortcuts that do not affect the results.) 3796 @vindex @code{SHELL} @r{(command execution)} 3797 3798 When it is time to execute commands to update a target, they are 3799 executed by invoking a new subshell for each command line. (In 3800 practice, @code{make} may take shortcuts that do not affect the 3801 results.) 3537 3802 3538 3803 @cindex @code{cd} (shell command) 3539 @strong{Please note:} this implies that shell commands such as @code{cd} 3540 that set variables local to each process will not affect the following 3541 command lines. @footnote{On MS-DOS, the value of current working 3542 directory is @strong{global}, so changing it @emph{will} affect the 3543 following command lines on those systems.} If you want to use @code{cd} 3544 to affect the next command, put the two on a single line with a 3545 semicolon between them. Then @code{make} will consider them a single 3546 command and pass them, together, to a shell which will execute them in 3547 sequence. For example: 3804 @cindex shell variables, setting in commands 3805 @cindex commands setting shell variables 3806 @strong{Please note:} this implies that setting shell variables and 3807 invoking shell commands such as @code{cd} that set a context local to 3808 each process will not affect the following command lines.@footnote{On 3809 MS-DOS, the value of current working directory is @strong{global}, so 3810 changing it @emph{will} affect the following command lines on those 3811 systems.} If you want to use @code{cd} to affect the next statement, 3812 put both statements in a single command line. Then @code{make} will 3813 invoke one shell to run the entire line, and the shell will execute 3814 the statements in sequence. For example: 3548 3815 3549 3816 @example 3550 3817 foo : bar/lose 3551 cd bar; gobble lose > ../foo 3552 @end example 3553 3554 @cindex commands, backslash (@code{\}) in 3555 @cindex commands, quoting newlines in 3556 @cindex backslash (@code{\}), in commands 3557 @cindex @code{\} (backslash), in commands 3558 @cindex quoting newline, in commands 3559 @cindex newline, quoting, in commands 3560 If you would like to split a single shell command into multiple lines of 3561 text, you must use a backslash at the end of all but the last subline. 3562 Such a sequence of lines is combined into a single line, by deleting the 3563 backslash-newline sequences, before passing it to the shell. Thus, the 3564 following is equivalent to the preceding example: 3565 3566 @example 3567 @group 3568 foo : bar/lose 3569 cd bar; \ 3570 gobble lose > ../foo 3571 @end group 3572 @end example 3818 cd $(@@D) && gobble $(@@F) > ../$@@ 3819 @end example 3820 3821 @noindent 3822 Here we use the shell AND operator (@code{&&}) so that if the 3823 @code{cd} command fails, the script will fail without trying to invoke 3824 the @code{gobble} command in the wrong directory, which could cause 3825 problems (in this case it would certainly cause @file{../foo} to be 3826 truncated, at least). 3827 3828 @menu 3829 * Choosing the Shell:: How @code{make} chooses the shell used 3830 to run commands. 3831 @end menu 3832 3833 @node Choosing the Shell, , Execution, Execution 3834 @subsection Choosing the Shell 3835 @cindex shell, choosing the 3836 @cindex @code{SHELL}, value of 3573 3837 3574 3838 @vindex SHELL 3575 3839 The program used as the shell is taken from the variable @code{SHELL}. 3576 By default, the program @file{/bin/sh} is used. 3840 If this variable is not set in your makefile, the program 3841 @file{/bin/sh} is used as the shell. 3842 3843 @cindex environment, @code{SHELL} in 3844 Unlike most variables, the variable @code{SHELL} is never set from the 3845 environment. This is because the @code{SHELL} environment variable is 3846 used to specify your personal choice of shell program for interactive 3847 use. It would be very bad for personal choices like this to affect the 3848 functioning of makefiles. @xref{Environment, ,Variables from the 3849 Environment}. 3850 3851 Furthermore, when you do set @code{SHELL} in your makefile that value 3852 is @emph{not} exported in the environment to commands that @code{make} 3853 invokes. Instead, the value inherited from the user's environment, if 3854 any, is exported. You can override this behavior by explicitly 3855 exporting @code{SHELL} (@pxref{Variables/Recursion, ,Communicating 3856 Variables to a Sub-@code{make}}), forcing it to be passed in the 3857 environment to commands. 3858 3859 @vindex @code{MAKESHELL} @r{(MS-DOS alternative to @code{SHELL})} 3860 However, on MS-DOS and MS-Windows the value of @code{SHELL} in the 3861 environment @strong{is} used, since on those systems most users do not 3862 set this variable, and therefore it is most likely set specifically to 3863 be used by @code{make}. On MS-DOS, if the setting of @code{SHELL} is 3864 not suitable for @code{make}, you can set the variable 3865 @code{MAKESHELL} to the shell that @code{make} should use; if set it 3866 will be used as the shell instead of the value of @code{SHELL}. 3867 3868 @subsubheading Choosing a Shell in DOS and Windows 3869 @cindex shell, in DOS and Windows 3870 @cindex DOS, choosing a shell in 3871 @cindex Windows, choosing a shell in 3872 3873 Choosing a shell in MS-DOS and MS-Windows is much more complex than on 3874 other systems. 3577 3875 3578 3876 @vindex COMSPEC … … 3628 3926 3629 3927 The effect of the above DOS-specific processing is that a Makefile that 3630 says @samp{SHELL = /bin/sh} (as many Unix makefiles do), will work3631 on MS-DOS unaltered if you have e.g. @file{sh.exe} installed in some3928 contains @samp{SHELL = /bin/sh} (as many Unix makefiles do), will work 3929 on MS-DOS unaltered if you have e.g.@: @file{sh.exe} installed in some 3632 3930 directory along your @code{PATH}. 3633 3634 @cindex environment, @code{SHELL} in3635 @vindex MAKESHELL @r{(MS-DOS alternative to @code{SHELL})}3636 Unlike most variables, the variable @code{SHELL} is never set from the3637 environment. This is because the @code{SHELL} environment variable is3638 used to specify your personal choice of shell program for interactive3639 use. It would be very bad for personal choices like this to affect the3640 functioning of makefiles. @xref{Environment, ,Variables from the3641 Environment}. However, on MS-DOS and MS-Windows the value of3642 @code{SHELL} in the environment @strong{is} used, since on those systems3643 most users do not set this variable, and therefore it is most likely set3644 specifically to be used by @code{make}. On MS-DOS, if the setting of3645 @code{SHELL} is not suitable for @code{make}, you can set the variable3646 @code{MAKESHELL} to the shell that @code{make} should use; this will3647 override the value of @code{SHELL}.3648 3931 3649 3932 @node Parallel, Errors, Execution, Commands … … 4015 4298 environment is passed to the sub-@code{make}. You can force 4016 4299 @code{make} to export its value for @code{SHELL} by using the 4017 @code{export} directive, described below. 4300 @code{export} directive, described below. @xref{Choosing the Shell}. 4018 4301 4019 4302 The special variable @code{MAKEFLAGS} is always exported (unless you … … 4712 4995 @group 4713 4996 ifeq (0,$@{MAKELEVEL@}) 4714 cur-dir := $(shell pwd)4715 4997 whoami := $(shell whoami) 4716 4998 host-type := $(shell arch) … … 4727 5009 @group 4728 5010 $@{subdirs@}: 4729 $@{MAKE@} cur-dir=$@{cur-dir@}/$@@-C $@@ all5011 $@{MAKE@} -C $@@ all 4730 5012 @end group 4731 5013 @end example … … 5197 5479 simply-expanded definition, and expands the new text before appending it 5198 5480 to the old value just as @samp{:=} does 5199 ( @pxref{Setting, ,Setting Variables}, for a full explanation of @samp{:=}).5481 (see @ref{Setting, ,Setting Variables}, for a full explanation of @samp{:=}). 5200 5482 In fact, 5201 5483 … … 5438 5720 When @code{make} runs a command script, variables defined in the 5439 5721 makefile are placed into the environment of that command. This allows 5440 you to pass values to sub-@code{make} invocations .(@pxref{Recursion,5722 you to pass values to sub-@code{make} invocations (@pxref{Recursion, 5441 5723 ,Recursive Use of @code{make}}). By default, only variables that came 5442 5724 from the environment or the command line are passed to recursive … … 5452 5734 5453 5735 @cindex SHELL, import from environment 5454 Such problems would be especially likely with the variable @code{SHELL}, 5455 which is normally present in the environment to specify the user's choice 5456 of interactive shell. It would be very undesirable for this choice to 5457 affect @code{make}. So @code{make} ignores the environment value of 5458 @code{SHELL} (except on MS-DOS and MS-Windows, where @code{SHELL} is 5459 usually not set. @xref{Execution, ,Special handling of SHELL on 5460 MS-DOS}.)@refill 5461 5462 @cindex SHELL, export to environment 5463 The @code{SHELL} variable is special in another way: just as the value 5464 of the @code{make} variable @code{SHELL} is not taken from the 5465 environment, so also it is not placed into the environment of commands 5466 that @code{make} invokes. Instead, the value of @code{SHELL} from the 5467 invoking environment is provided to the command. You can use 5468 @code{export SHELL} to force the value of the @code{make} variable 5469 @code{SHELL} to be placed in the environment of commands. 5736 Such problems would be especially likely with the variable 5737 @code{SHELL}, which is normally present in the environment to specify 5738 the user's choice of interactive shell. It would be very undesirable 5739 for this choice to affect @code{make}; so, @code{make} handles the 5740 @code{SHELL} environment variable in a special way; see @ref{Choosing 5741 the Shell}.@refill 5470 5742 5471 5743 @node Target-specific, Pattern-specific, Environment, Using Variables … … 5515 5787 will be in effect. Note that this variable is actually distinct from 5516 5788 any ``global'' value: the two variables do not have to have the same 5517 flavor (recursive vs. static).5789 flavor (recursive vs.@: static). 5518 5790 5519 5791 Target-specific variables have the same priority as any other makefile … … 5526 5798 you define a target-specific variable that variable value is also in 5527 5799 effect for all prerequisites of this target, and all their 5528 prerequisites, etc. (unless those prerequisites override that variable5800 prerequisites, etc.@: (unless those prerequisites override that variable 5529 5801 with their own target-specific variable value). So, for example, a 5530 5802 statement like this: … … 5925 6197 * Text Functions:: General-purpose text manipulation functions. 5926 6198 * File Name Functions:: Functions for manipulating file names. 6199 * Conditional Functions:: Functions that implement conditions. 5927 6200 * Foreach Function:: Repeat some text with controlled variation. 5928 * If Function:: Conditionally expand a value.5929 6201 * Call Function:: Expand a user-defined function. 5930 6202 * Value Function:: Return the un-expanded value of a variable. 5931 6203 * Eval Function:: Evaluate the arguments as makefile syntax. 5932 6204 * Origin Function:: Find where a variable got its value. 6205 * Flavor Function:: Find out the flavor of a variable. 5933 6206 * Shell Function:: Substitute the output of a shell command. 5934 6207 * Make Control Functions:: Functions that control how make runs. … … 6345 6618 Directive, , The @code{override} Directive}). 6346 6619 6347 @node File Name Functions, Foreach Function, Text Functions, Functions6620 @node File Name Functions, Conditional Functions, Text Functions, Functions 6348 6621 @section Functions for File Names 6349 6622 @cindex functions, for file names … … 6505 6778 For each file name in @var{names} return the canonical absolute name. 6506 6779 A canonical name does not contain any @code{.} or @code{..} components, 6507 nor any repeated path separators (@code{/}) or symlinks. In case of a6508 failure the empty string is returned. Consult the @code{realpath(3)}6780 nor any repeated path separators (@code{/}) or symlinks. In case of a 6781 failure the empty string is returned. Consult the @code{realpath(3)} 6509 6782 documentation for a list of possible failure causes. 6510 6783 … … 6515 6788 For each file name in @var{names} return an absolute name that does 6516 6789 not contain any @code{.} or @code{..} components, nor any repeated path 6517 separators (@code{/}). Note thatin contrast to @code{realpath}6790 separators (@code{/}). Note that, in contrast to @code{realpath} 6518 6791 function, @code{abspath} does not resolve symlinks and does not require 6519 the file names to refer to an existing file or directory. Use the6792 the file names to refer to an existing file or directory. Use the 6520 6793 @code{wildcard} function to test for existence. 6521 6794 @end table 6522 6795 6523 @node Foreach Function, If Function, File Name Functions, Functions 6796 @node Conditional Functions, Foreach Function, File Name Functions, Functions 6797 @section Functions for Conditionals 6798 @findex if 6799 @cindex conditional expansion 6800 There are three functions that provide conditional expansion. A key 6801 aspect of these functions is that not all of the arguments are 6802 expanded initially. Only those arguments which need to be expanded, 6803 will be expanded. 6804 6805 @table @code 6806 @item $(if @var{condition},@var{then-part}[,@var{else-part}]) 6807 @findex if 6808 The @code{if} function provides support for conditional expansion in a 6809 functional context (as opposed to the GNU @code{make} makefile 6810 conditionals such as @code{ifeq} (@pxref{Conditional Syntax, ,Syntax of 6811 Conditionals}). 6812 6813 The first argument, @var{condition}, first has all preceding and 6814 trailing whitespace stripped, then is expanded. If it expands to any 6815 non-empty string, then the condition is considered to be true. If it 6816 expands to an empty string, the condition is considered to be false. 6817 6818 If the condition is true then the second argument, @var{then-part}, is 6819 evaluated and this is used as the result of the evaluation of the entire 6820 @code{if} function. 6821 6822 If the condition is false then the third argument, @var{else-part}, is 6823 evaluated and this is the result of the @code{if} function. If there is 6824 no third argument, the @code{if} function evaluates to nothing (the 6825 empty string). 6826 6827 Note that only one of the @var{then-part} or the @var{else-part} will be 6828 evaluated, never both. Thus, either can contain side-effects (such as 6829 @code{shell} function calls, etc.) 6830 6831 @item $(or @var{condition1}[,@var{condition2}[,@var{condition3}@dots{}]]) 6832 @findex or 6833 The @code{or} function provides a ``short-circuiting'' OR operation. 6834 Each argument is expanded, in order. If an argument expands to a 6835 non-empty string the processing stops and the result of the expansion 6836 is that string. If, after all arguments are expanded, all of them are 6837 false (empty), then the result of the expansion is the empty string. 6838 6839 @item $(and @var{condition1}[,@var{condition2}[,@var{condition3}@dots{}]]) 6840 @findex and 6841 The @code{and} function provides a ``short-circuiting'' AND operation. 6842 Each argument is expanded, in order. If an argument expands to an 6843 empty string the processing stops and the result of the expansion is 6844 the empty string. If all arguments expand to a non-empty string then 6845 the result of the expansion is the expansion of the last argument. 6846 6847 @end table 6848 6849 @node Foreach Function, Call Function, Conditional Functions, Functions 6524 6850 @section The @code{foreach} Function 6525 6851 @findex foreach … … 6609 6935 no?), but it is more likely to be a mistake. 6610 6936 6611 @node If Function, Call Function, Foreach Function, Functions 6612 @section The @code{if} Function 6613 @findex if 6614 @cindex conditional expansion 6615 6616 The @code{if} function provides support for conditional expansion in a 6617 functional context (as opposed to the GNU @code{make} makefile 6618 conditionals such as @code{ifeq} (@pxref{Conditional Syntax, ,Syntax of 6619 Conditionals}). 6620 6621 An @code{if} function call can contain either two or three arguments: 6622 6623 @example 6624 $(if @var{condition},@var{then-part}[,@var{else-part}]) 6625 @end example 6626 6627 The first argument, @var{condition}, first has all preceding and 6628 trailing whitespace stripped, then is expanded. If it expands to any 6629 non-empty string, then the condition is considered to be true. If it 6630 expands to an empty string, the condition is considered to be false. 6631 6632 If the condition is true then the second argument, @var{then-part}, is 6633 evaluated and this is used as the result of the evaluation of the entire 6634 @code{if} function. 6635 6636 If the condition is false then the third argument, @var{else-part}, is 6637 evaluated and this is the result of the @code{if} function. If there is 6638 no third argument, the @code{if} function evaluates to nothing (the 6639 empty string). 6640 6641 Note that only one of the @var{then-part} or the @var{else-part} will be 6642 evaluated, never both. Thus, either can contain side-effects (such as 6643 @code{shell} function calls, etc.) 6644 6645 @node Call Function, Value Function, If Function, Functions 6937 @node Call Function, Value Function, Foreach Function, Functions 6646 6938 @section The @code{call} Function 6647 6939 @findex call … … 6713 7005 6714 7006 The @code{call} function can be nested. Each recursive invocation gets 6715 its own local values for @code{$(1)}, etc. that mask the values of7007 its own local values for @code{$(1)}, etc.@: that mask the values of 6716 7008 higher-level @code{call}. For example, here is an implementation of a 6717 7009 @dfn{map} function: … … 6850 7142 @end example 6851 7143 6852 @node Origin Function, ShellFunction, Eval Function, Functions7144 @node Origin Function, Flavor Function, Eval Function, Functions 6853 7145 @section The @code{origin} Function 6854 7146 @findex origin … … 6959 7251 @xref{Text Functions, , Functions for String Substitution and Analysis}. 6960 7252 6961 @node Shell Function, Make Control Functions, Origin Function, Functions 7253 @node Flavor Function, Shell Function, Origin Function, Functions 7254 @section The @code{flavor} Function 7255 @findex flavor 7256 @cindex variables, flavor of 7257 @cindex flavor of variable 7258 7259 The @code{flavor} function is unlike most other functions (and like 7260 @code{origin} function) in that it does not operate on the values of 7261 variables; it tells you something @emph{about} a variable. 7262 Specifically, it tells you the flavor of a variable (@pxref{Flavors, 7263 ,The Two Flavors of Variables}). 7264 7265 The syntax of the @code{flavor} function is: 7266 7267 @example 7268 $(flavor @var{variable}) 7269 @end example 7270 7271 Note that @var{variable} is the @emph{name} of a variable to inquire about; 7272 not a @emph{reference} to that variable. Therefore you would not normally 7273 use a @samp{$} or parentheses when writing it. (You can, however, use a 7274 variable reference in the name if you want the name not to be a constant.) 7275 7276 The result of this function is a string that identifies the flavor of the 7277 variable @var{variable}: 7278 7279 @table @samp 7280 @item undefined 7281 7282 if @var{variable} was never defined. 7283 7284 @item recursive 7285 7286 if @var{variable} is a recursively expanded variable. 7287 7288 @item simple 7289 7290 if @var{variable} is a simply expanded variable. 7291 7292 @end table 7293 7294 7295 @node Shell Function, Make Control Functions, Flavor Function, Functions 6962 7296 @section The @code{shell} Function 6963 7297 @findex shell … … 6984 7318 spawning a new shell, you should carefully consider the performance 6985 7319 implications of using the @code{shell} function within recursively 6986 expanded variables vs. simply expanded variables (@pxref{Flavors, ,The7320 expanded variables vs.@: simply expanded variables (@pxref{Flavors, ,The 6987 7321 Two Flavors of Variables}). 6988 7322 … … 7084 7418 things and many others. 7085 7419 7420 @cindex exit status of make 7086 7421 The exit status of @code{make} is always one of three values: 7087 7422 @table @code … … 7550 7885 Consider all targets out-of-date. GNU @code{make} proceeds to 7551 7886 consider targets and their prerequisites using the normal algorithms; 7552 however, all these targets are remade, regardless of the status of 7553 their prerequisites. 7887 however, all targets so considered are always remade regardless of the 7888 status of their prerequisites. To avoid infinite recursion, if 7889 @code{MAKE_RESTARTS} (@pxref{Special Variables, , Other Special 7890 Variables}) is set to a number greater than 0 this option is disabled 7891 when considering whether to remake makefiles (@pxref{Remaking 7892 Makefiles, , How Makefiles Are Remade}). 7554 7893 7555 7894 @item -C @var{dir} … … 7907 8246 * Pattern Rules:: How to define new implicit rules. 7908 8247 * Last Resort:: How to define commands for rules which 7909 cannot find any.8248 cannot find any. 7910 8249 * Suffix Rules:: The old-fashioned style of implicit rule. 7911 8250 * Implicit Rule Search:: The precise algorithm for applying … … 8002 8341 @samp{--no-builtin-rules} option cancels all predefined rules. 8003 8342 8343 This manual only documents the default rules available on POSIX-based 8344 operating systems. Other operating systems, such as VMS, Windows, 8345 OS/2, etc. may have different sets of default rules. To see the full 8346 list of default rules and variables available in your version of GNU 8347 @code{make}, run @samp{make -p} in a directory with no makefile. 8348 8004 8349 Not all of these rules will always be defined, even when the @samp{-r} 8005 8350 option is not given. Many of the predefined implicit rules are … … 8008 8353 the special target @code{.SUFFIXES}). The default suffix list is: 8009 8354 @code{.out}, @code{.a}, @code{.ln}, @code{.o}, @code{.c}, @code{.cc}, 8010 @code{.C}, @code{. p}, @code{.f}, @code{.F}, @code{.r}, @code{.y},8355 @code{.C}, @code{.cpp}, @code{.p}, @code{.f}, @code{.F}, @code{.r}, @code{.y}, 8011 8356 @code{.l}, @code{.s}, @code{.S}, @code{.mod}, @code{.sym}, @code{.def}, 8012 8357 @code{.h}, @code{.info}, @code{.dvi}, @code{.tex}, @code{.texinfo}, … … 8033 8378 @cindex C++, rule to compile 8034 8379 @pindex g++ 8380 @pindex .cc 8381 @pindex .cpp 8035 8382 @pindex .C 8036 @pindex .cc 8037 @file{@var{n}.o} is made automatically from @file{@var{n}.cc} or 8038 @file{@var{n}.C} with a command of the form @samp{$(CXX) -c $(CPPFLAGS) 8039 $(CXXFLAGS)}. We encourage you to use the suffix @samp{.cc} for C++ 8040 source files instead of @samp{.C}.@refill 8383 @file{@var{n}.o} is made automatically from @file{@var{n}.cc}, 8384 @file{@var{n}.cpp}, or @file{@var{n}.C} with a command of the form 8385 @samp{$(CXX) -c $(CPPFLAGS) $(CXXFLAGS)}. We encourage you to use the 8386 suffix @samp{.cc} for C++ source files instead of @samp{.C}.@refill 8041 8387 8042 8388 @item Compiling Pascal programs … … 8299 8645 8300 8646 The commands in built-in implicit rules make liberal use of certain 8301 predefined variables. You can alter the se variables in the makefile,8302 with arguments to @code{make}, or in the environment to alter how the 8303 implicit rules work without redefining the rules themselves. You can 8304 cancel all variables used by implicit rules with the @samp{-R} or 8305 @samp{--no-builtin-variables} option.8647 predefined variables. You can alter the values of these variables in 8648 the makefile, with arguments to @code{make}, or in the environment to 8649 alter how the implicit rules work without redefining the rules 8650 themselves. You can cancel all variables used by implicit rules with 8651 the @samp{-R} or @samp{--no-builtin-variables} option. 8306 8652 8307 8653 For example, the command used to compile a C source file actually says … … 8322 8668 with spaces. 8323 8669 8324 Here is a table of variables used as names of programs in built-in rules: 8670 The following tables describe of some of the more commonly-used predefined 8671 variables. This list is not exhaustive, and the default values shown here may 8672 not be what are selected by @code{make} for your environment. To see the 8673 complete list of predefined variables for your instance of GNU @code{make} you 8674 can run @samp{make -p} in a directory with no makefiles. 8675 8676 Here is a table of some of the more common variables used as names of 8677 programs in built-in rules: 8678 makefiles. 8325 8679 8326 8680 @table @code … … 8332 8686 @item AS 8333 8687 @vindex AS 8334 Program for doing assembly; default @samp{as}.8688 Program for compiling assembly files; default @samp{as}. 8335 8689 @pindex as 8336 8690 … … 8338 8692 @vindex CC 8339 8693 Program for compiling C programs; default @samp{cc}. 8694 @pindex cc 8695 8696 @item CO 8697 @vindex CO 8698 Program for checking out files from RCS; default @samp{co}. 8340 8699 @pindex cc 8341 8700 … … 8368 8727 @item LEX 8369 8728 @vindex LEX 8370 Program to use to turn Lex grammars into C programs or Ratfor programs; 8371 default @samp{lex}. 8729 Program to use to turn Lex grammars into source code; default @samp{lex}. 8372 8730 @pindex lex 8731 8732 @item YACC 8733 @vindex YACC 8734 Program to use to turn Yacc grammars into source code; default @samp{yacc}. 8735 @pindex yacc 8736 8737 @item LINT 8738 @vindex LINT 8739 Program to use to run lint on source code; default @samp{lint}. 8740 @pindex lint 8741 8742 @item M2C 8743 @vindex M2C 8744 Program to use to compile Modula-2 source code; default @samp{m2c}. 8745 @pindex m2c 8373 8746 8374 8747 @item PC … … 8376 8749 Program for compiling Pascal programs; default @samp{pc}. 8377 8750 @pindex pc 8378 8379 @item YACC8380 @vindex YACC8381 Program to use to turn Yacc grammars into C programs; default @samp{yacc}.8382 @pindex yacc8383 8384 @item YACCR8385 @vindex YACCR8386 Program to use to turn Yacc grammars into Ratfor8387 programs; default @samp{yacc -r}.8388 8751 8389 8752 @item MAKEINFO … … 8472 8835 @item LDFLAGS 8473 8836 @vindex LDFLAGS 8474 Extra flags to give to compilers when they are 8475 supposed to invoke the linker,@samp{ld}.8837 Extra flags to give to compilers when they are supposed to invoke the linker, 8838 @samp{ld}. 8476 8839 8477 8840 @item LFLAGS … … 8479 8842 Extra flags to give to Lex. 8480 8843 8844 @item YFLAGS 8845 @vindex YFLAGS 8846 Extra flags to give to Yacc. 8847 8481 8848 @item PFLAGS 8482 8849 @vindex PFLAGS … … 8487 8854 Extra flags to give to the Fortran compiler for Ratfor programs. 8488 8855 8489 @item YFLAGS8490 @vindex YFLAGS8491 Extra flags to give to Yacc.8856 @item LINTFLAGS 8857 @vindex LINTFLAGS 8858 Extra flags to give to lint. 8492 8859 @end table 8493 8860 … … 8629 8996 8630 8997 @samp{%} in a prerequisite of a pattern rule stands for the same stem 8631 that was matched by the @samp{%} in the target. In order for 8632 the pattern rule to apply, its target pattern must match the file name 8633 under consideration, and its prerequisite patterns must name files that 8634 exist or can be made. These files become prerequisites of the target. 8998 that was matched by the @samp{%} in the target. In order for the 8999 pattern rule to apply, its target pattern must match the file name 9000 under consideration and all of its prerequisites (after pattern 9001 substitution) must name files that exist or can be made. These files 9002 become prerequisites of the target. 8635 9003 @cindex prerequisite pattern, implicit 8636 9004 … … 8982 9350 names, along with the slash that ends them, are added on to the 8983 9351 prerequisite file names generated from the pattern rule's prerequisite 8984 patterns and the file name. The directories are ignored only for the9352 patterns and the file name. The directories are ignored only for the 8985 9353 purpose of finding an implicit rule to use, not in the application of 8986 9354 that rule. Thus, @samp{e%t} matches the file name @file{src/eat}, … … 9386 9754 9387 9755 In fact, nearly all archive member targets are updated in just this way 9388 and there is an implicit rule to do it for you. @strong{ Note:} The9756 and there is an implicit rule to do it for you. @strong{Please note:} The 9389 9757 @samp{c} flag to @code{ar} is required if the archive file does not 9390 9758 already exist. … … 10124 10492 @xref{Origin Function, , The @code{origin} Function}. 10125 10493 10494 @item $(flavor @var{variable}) 10495 10496 Return a string describing the flavor of the @code{make} variable 10497 @var{variable}.@* 10498 @xref{Flavor Function, , The @code{flavor} Function}. 10499 10126 10500 @item $(foreach @var{var},@var{words},@var{text}) 10127 10501 … … 10133 10507 10134 10508 Evaluate the variable @var{var} replacing any references to @code{$(1)}, 10135 @code{$(2)} with the first, second, etc. @var{param} values.@*10509 @code{$(2)} with the first, second, etc.@: @var{param} values.@* 10136 10510 @xref{Call Function, ,The @code{call} Function}. 10137 10511 … … 10228 10602 commands. @xref{Execution, ,Command Execution}. The @code{SHELL} 10229 10603 variable is handled specially when importing from and exporting to the 10230 environment. @xref{ Environment, ,Using Variable from the Environment}.10604 environment. @xref{Choosing the Shell}. 10231 10605 10232 10606 @item MAKESHELL 10233 10607 10234 10608 On MS-DOS only, the name of the command interpreter that is to be used 10235 by @code{make}. This value takes precedence over the value of10609 by @code{make}. This value takes precedence over the value of 10236 10610 @code{SHELL}. @xref{Execution, ,MAKESHELL variable}. 10237 10611 … … 10728 11102 @printindex fn 10729 11103 10730 @summarycontents10731 @contents10732 11104 @bye -
vendor/gnumake/current/dosbuild.bat
r54 r501 1 @echo Building Make for MSDOS 2 @rem Echo ON so they will see what is going on. 1 @echo off 2 rem Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free 3 rem Software Foundation, Inc. 4 rem This file is part of GNU Make. 5 6 rem GNU Make is free software; you can redistribute it and/or modify it under the 7 rem terms of the GNU General Public License as published by the Free Software 8 rem Foundation; either version 2, or (at your option) any later version. 9 10 rem GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 rem WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 rem A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 14 rem You should have received a copy of the GNU General Public License along with 15 rem GNU Make; see the file COPYING. If not, write to the Free Software 16 rem Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 17 18 echo Building Make for MSDOS 19 20 rem Echo ON so they will see what is going on. 3 21 @echo on 4 22 gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g commands.c -o commands.o … … 17 35 gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g function.c -o function.o 18 36 gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g vpath.c -o vpath.o 37 gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g hash.c -o hash.o 38 gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g strcache.c -o strcache.o 19 39 gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g version.c -o version.o 20 40 gcc -c -I. -I./glob -DHAVE_CONFIG_H -O2 -g ar.c -o ar.o … … 33 53 echo commands.o > respf.$$$ 34 54 for %%f in (job dir file misc main read remake rule implicit default variable) do echo %%f.o >> respf.$$$ 35 for %%f in (expand function vpath version ar arscan signame remote-stub getopt getopt1) do echo %%f.o >> respf.$$$55 for %%f in (expand function vpath hash strcache version ar arscan signame remote-stub getopt getopt1) do echo %%f.o >> respf.$$$ 36 56 echo glob/libglob.a >> respf.$$$ 37 57 @echo Linking... -
vendor/gnumake/current/expand.c
r280 r501 1 1 /* Variable expansion functions for GNU Make. 2 Copyright (C) 1988, 89, 91, 92, 93, 95 Free Software Foundation, Inc. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 3 5 This file is part of GNU Make. 4 6 5 GNU Make is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2, or (at your option) 8 any later version. 9 10 GNU Make is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with GNU Make; see the file COPYING. If not, write to 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 Boston, MA 02111-1307, USA. */ 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 19 18 20 19 #include "make.h" … … 27 26 #include "variable.h" 28 27 #include "rule.h" 28 29 /* Initially, any errors reported when expanding strings will be reported 30 against the file where the error appears. */ 31 const struct floc **expanding_var = &reading_file; 29 32 30 33 /* The next two describe the variable output buffer. … … 98 101 { 99 102 char *value; 103 const struct floc *this_var; 104 const struct floc **saved_varp; 100 105 struct variable_set_list *save = 0; 101 106 int set_reading = 0; 102 107 108 /* Don't install a new location if this location is empty. 109 This can happen for command-line variables, builtin variables, etc. */ 110 saved_varp = expanding_var; 111 if (v->fileinfo.filenm) 112 { 113 this_var = &v->fileinfo; 114 expanding_var = &this_var; 115 } 116 117 /* If we have no other file-reading context, use the variable's context. */ 118 if (!reading_file) 119 { 120 set_reading = 1; 121 reading_file = &v->fileinfo; 122 } 123 103 124 if (v->expanding) 104 125 { 105 126 if (!v->exp_count) 106 127 /* Expanding V causes infinite recursion. Lose. */ 107 fatal ( reading_file,128 fatal (*expanding_var, 108 129 _("Recursive variable `%s' references itself (eventually)"), 109 130 v->name); … … 115 136 save = current_variable_set_list; 116 137 current_variable_set_list = file->variables; 117 }118 119 /* If we have no other file-reading context, use the variable's context. */120 if (!reading_file)121 {122 set_reading = 1;123 reading_file = &v->fileinfo;124 138 } 125 139 … … 133 147 if (set_reading) 134 148 reading_file = 0; 149 135 150 if (file) 136 151 current_variable_set_list = save; 152 153 expanding_var = saved_varp; 137 154 138 155 return value; … … 208 225 p1 = strchr (p, '$'); 209 226 210 o = variable_buffer_output (o, p, p1 != 0 ? p1 - p: strlen (p) + 1);227 o = variable_buffer_output (o, p, p1 != 0 ? (unsigned int)(p1 - p) : strlen (p) + 1); 211 228 212 229 if (p1 == 0) … … 249 266 if (end == 0) 250 267 /* Unterminated variable reference. */ 251 fatal ( reading_file, _("unterminated variable reference"));268 fatal (*expanding_var, _("unterminated variable reference")); 252 269 p1 = lindex (beg, end, '$'); 253 270 if (p1 != 0) … … 375 392 /* A $ followed by a random char is a variable reference: 376 393 $a is equivalent to $(a). */ 377 { 378 /* We could do the expanding here, but this way 379 avoids code repetition at a small performance cost. */ 380 char name[5]; 381 name[0] = '$'; 382 name[1] = '('; 383 name[2] = *p; 384 name[3] = ')'; 385 name[4] = '\0'; 386 p1 = allocated_variable_expand (name); 387 o = variable_buffer_output (o, p1, strlen (p1)); 388 free (p1); 389 } 394 o = reference_variable (o, p, 1); 390 395 391 396 break; … … 503 508 buf = variable_buffer_output (buf, " ", 1); 504 509 505 return variable_buffer_output (buf, v->value, strlen (v->value)); 510 /* Either expand it or copy it, depending. */ 511 if (! v->recursive) 512 return variable_buffer_output (buf, v->value, strlen (v->value)); 513 514 buf = variable_expand_string (buf, v->value, strlen (v->value)); 515 return (buf + strlen (buf)); 506 516 } 507 517 … … 510 520 allocated_variable_append (const struct variable *v) 511 521 { 512 char *val , *retval;522 char *val; 513 523 514 524 /* Construct the appended variable value. */ … … 526 536 variable_buffer_length = olen; 527 537 528 /* Now expand it and return that. */ 529 530 retval = allocated_variable_expand (val); 531 532 free (val); 533 return retval; 538 return val; 534 539 } 535 540 -
vendor/gnumake/current/file.c
r280 r501 1 /* Target file hash tablemanagement for GNU Make.1 /* Target file management for GNU Make. 2 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 2002 Free Software Foundation, Inc. 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 4 5 This file is part of GNU Make. 5 6 6 GNU Make is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2, or (at your option) 9 any later version. 10 11 GNU Make is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with GNU Make; see the file COPYING. If not, write to 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 Boston, MA 02111-1307, USA. */ 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 20 18 21 19 #include "make.h" … … 91 89 #ifdef VMS 92 90 # ifndef WANT_CASE_SENSITIVE_TARGETS 93 { 94 register char *n; 95 lname = (char *) malloc (strlen (name) + 1); 96 for (n = name, ln = lname; *n != '\0'; ++n, ++ln) 97 *ln = isupper ((unsigned char)*n) ? tolower ((unsigned char)*n) : *n; 98 *ln = '\0'; 99 name = lname; 100 } 91 if (*name != '.') 92 { 93 register char *n; 94 lname = (char *) malloc (strlen (name) + 1); 95 for (n = name, ln = lname; *n != '\0'; ++n, ++ln) 96 *ln = isupper ((unsigned char)*n) ? tolower ((unsigned char)*n) : *n; 97 *ln = '\0'; 98 name = lname; 99 } 101 100 # endif 102 101 … … 127 126 f = (struct file *) hash_find_item (&files, &file_key); 128 127 #if defined(VMS) && !defined(WANT_CASE_SENSITIVE_TARGETS) 129 free (lname); 128 if (*name != '.') 129 free (lname); 130 130 #endif 131 131 return f; … … 146 146 147 147 #if defined(VMS) && !defined(WANT_CASE_SENSITIVE_TARGETS) 148 { 149 register char *n; 150 lname = (char *) malloc (strlen (name) + 1); 151 for (n = name, ln = lname; *n != '\0'; ++n, ++ln) 152 { 153 if (isupper ((unsigned char)*n)) 154 *ln = tolower ((unsigned char)*n); 155 else 156 *ln = *n; 157 } 158 159 *ln = 0; 160 /* Creates a possible leak, old value of name is unreachable, but I 161 currently don't know how to fix it. */ 162 name = lname; 163 } 148 if (*name != '.') 149 { 150 register char *n; 151 lname = (char *) malloc (strlen (name) + 1); 152 for (n = name, ln = lname; *n != '\0'; ++n, ++ln) 153 { 154 if (isupper ((unsigned char)*n)) 155 *ln = tolower ((unsigned char)*n); 156 else 157 *ln = *n; 158 } 159 160 *ln = 0; 161 /* Creates a possible leak, old value of name is unreachable, but I 162 currently don't know how to fix it. */ 163 name = lname; 164 } 164 165 #endif 165 166 … … 170 171 { 171 172 #if defined(VMS) && !defined(WANT_CASE_SENSITIVE_TARGETS) 172 free(lname); 173 if (*name != '.') 174 free (lname); 173 175 #endif 174 176 return f; … … 181 183 182 184 if (HASH_VACANT (f)) 183 hash_insert_at (&files, new, file_slot); 185 { 186 new->last = new; 187 hash_insert_at (&files, new, file_slot); 188 } 184 189 else 185 190 { 186 191 /* There is already a double-colon entry for this file. */ 187 192 new->double_colon = f; 188 while (f->prev != 0) 189 f = f->prev; 190 f->prev = new; 193 f->last->prev = new; 194 f->last = new; 191 195 } 192 196 … … 409 413 410 414 415 struct dep * 416 parse_prereqs (char *p) 417 { 418 struct dep *new = (struct dep *) 419 multi_glob (parse_file_seq (&p, '|', sizeof (struct dep), 1), 420 sizeof (struct dep)); 421 422 if (*p) 423 { 424 /* Files that follow '|' are "order-only" prerequisites that satisfy the 425 dependency by existing: their modification times are irrelevant. */ 426 struct dep *ood; 427 428 ++p; 429 ood = (struct dep *) 430 multi_glob (parse_file_seq (&p, '\0', sizeof (struct dep), 1), 431 sizeof (struct dep)); 432 433 if (! new) 434 new = ood; 435 else 436 { 437 struct dep *dp; 438 for (dp = new; dp->next != NULL; dp = dp->next) 439 ; 440 dp->next = ood; 441 } 442 443 for (; ood != NULL; ood = ood->next) 444 ood->ignore_mtime = 1; 445 } 446 447 return new; 448 } 449 450 411 451 /* Set the intermediate flag. */ 412 452 … … 422 462 expand_deps (struct file *f) 423 463 { 424 struct dep *d, *d1; 425 struct dep *new = 0; 464 struct dep *d; 426 465 struct dep *old = f->deps; 466 char *file_stem = f->stem; 427 467 unsigned int last_dep_has_cmds = f->updating; 428 468 int initialized = 0; … … 433 473 for (d = old; d != 0; d = d->next) 434 474 { 435 if (d->name != 0) 475 struct dep *new, *d1; 476 char *p; 477 478 if (! d->name) 479 continue; 480 481 /* Create the dependency list. 482 If we're not doing 2nd expansion, then it's just the name. */ 483 if (! d->need_2nd_expansion) 484 p = d->name; 485 else 436 486 { 437 char *p; 438 439 /* If we need a second expansion on these, set up the file 440 variables, etc. It takes a lot of extra memory and processing 441 to do this, so only do it if it's needed. */ 442 if (! d->need_2nd_expansion) 443 p = d->name; 487 /* If it's from a static pattern rule, convert the patterns into 488 "$*" so they'll expand properly. */ 489 if (d->staticpattern) 490 { 491 char *o; 492 char *buffer = variable_expand (""); 493 494 o = subst_expand (buffer, d->name, "%", "$*", 1, 2, 0); 495 496 free (d->name); 497 d->name = savestring (buffer, o - buffer); 498 d->staticpattern = 0; /* Clear staticpattern so that we don't 499 re-expand %s below. */ 500 } 501 502 /* We are going to do second expansion so initialize file variables 503 for the file. Since the stem for static pattern rules comes from 504 individual dep lines, we will temporarily set f->stem to d->stem. 505 */ 506 if (!initialized) 507 { 508 initialize_file_variables (f, 0); 509 initialized = 1; 510 } 511 512 if (d->stem != 0) 513 f->stem = d->stem; 514 515 set_file_variables (f); 516 517 p = variable_expand_for_file (d->name, f); 518 519 if (d->stem != 0) 520 f->stem = file_stem; 521 } 522 523 /* Parse the prerequisites. */ 524 new = parse_prereqs (p); 525 526 /* If this dep list was from a static pattern rule, expand the %s. We 527 use patsubst_expand to translate the prerequisites' patterns into 528 plain prerequisite names. */ 529 if (new && d->staticpattern) 530 { 531 char *pattern = "%"; 532 char *buffer = variable_expand (""); 533 struct dep *dp = new, *dl = 0; 534 535 while (dp != 0) 536 { 537 char *percent = find_percent (dp->name); 538 if (percent) 539 { 540 /* We have to handle empty stems specially, because that 541 would be equivalent to $(patsubst %,dp->name,) which 542 will always be empty. */ 543 if (d->stem[0] == '\0') 544 /* This needs memmove() in ISO C. */ 545 bcopy (percent+1, percent, strlen (percent)); 546 else 547 { 548 char *o = patsubst_expand (buffer, d->stem, pattern, 549 dp->name, pattern+1, 550 percent+1); 551 if (o == buffer) 552 dp->name[0] = '\0'; 553 else 554 { 555 free (dp->name); 556 dp->name = savestring (buffer, o - buffer); 557 } 558 } 559 560 /* If the name expanded to the empty string, ignore it. */ 561 if (dp->name[0] == '\0') 562 { 563 struct dep *df = dp; 564 if (dp == new) 565 dp = new = new->next; 566 else 567 dp = dl->next = dp->next; 568 /* @@ Are we leaking df->name here? */ 569 df->name = 0; 570 free_dep (df); 571 continue; 572 } 573 } 574 dl = dp; 575 dp = dp->next; 576 } 577 } 578 579 /* Enter them as files. */ 580 for (d1 = new; d1 != 0; d1 = d1->next) 581 { 582 d1->file = lookup_file (d1->name); 583 if (d1->file == 0) 584 d1->file = enter_file (d1->name); 585 else 586 free (d1->name); 587 d1->name = 0; 588 d1->staticpattern = 0; 589 d1->need_2nd_expansion = 0; 590 } 591 592 /* Add newly parsed deps to f->deps. If this is the last dependency 593 line and this target has commands then put it in front so the 594 last dependency line (the one with commands) ends up being the 595 first. This is important because people expect $< to hold first 596 prerequisite from the rule with commands. If it is not the last 597 dependency line or the rule does not have commands then link it 598 at the end so it appears in makefile order. */ 599 600 if (new != 0) 601 { 602 if (d->next == 0 && last_dep_has_cmds) 603 { 604 struct dep **d_ptr; 605 for (d_ptr = &new; *d_ptr; d_ptr = &(*d_ptr)->next) 606 ; 607 608 *d_ptr = f->deps; 609 f->deps = new; 610 } 444 611 else 445 612 { 446 /* We are going to do second expansion so initialize file447 variables for the file. */448 if (!initialized)449 {450 initialize_file_variables (f, 0);451 initialized = 1;452 }453 454 set_file_variables (f);455 456 p = variable_expand_for_file (d->name, f);457 }458 459 /* Parse the dependencies. */460 new = (struct dep *)461 multi_glob (462 parse_file_seq (&p, '|', sizeof (struct dep), 1),463 sizeof (struct dep));464 465 if (*p)466 {467 /* Files that follow '|' are special prerequisites that468 need only exist in order to satisfy the dependency.469 Their modification times are irrelevant. */470 613 struct dep **d_ptr; 471 472 for (d_ptr = &new; *d_ptr; d_ptr = &(*d_ptr)->next) 614 for (d_ptr = &f->deps; *d_ptr; d_ptr = &(*d_ptr)->next) 473 615 ; 474 ++p; 475 476 *d_ptr = (struct dep *) 477 multi_glob ( 478 parse_file_seq (&p, '\0', sizeof (struct dep), 1), 479 sizeof (struct dep)); 480 481 for (d1 = *d_ptr; d1 != 0; d1 = d1->next) 482 d1->ignore_mtime = 1; 483 } 484 485 /* Enter them as files. */ 486 for (d1 = new; d1 != 0; d1 = d1->next) 487 { 488 d1->file = lookup_file (d1->name); 489 if (d1->file == 0) 490 d1->file = enter_file (d1->name); 491 else 492 free (d1->name); 493 d1->name = 0; 494 d1->need_2nd_expansion = 0; 495 } 496 497 /* Add newly parsed deps to f->deps. If this is the last 498 dependency line and this target has commands then put 499 it in front so the last dependency line (the one with 500 commands) ends up being the first. This is important 501 because people expect $< to hold first prerequisite 502 from the rule with commands. If it is not the last 503 dependency line or the rule does not have commands 504 then link it at the end so it appears in makefile 505 order. */ 506 507 if (new != 0) 508 { 509 if (d->next == 0 && last_dep_has_cmds) 510 { 511 struct dep **d_ptr; 512 for (d_ptr = &new; *d_ptr; d_ptr = &(*d_ptr)->next) 513 ; 514 515 *d_ptr = f->deps; 516 f->deps = new; 517 } 518 else 519 { 520 struct dep **d_ptr; 521 for (d_ptr = &f->deps; *d_ptr; d_ptr = &(*d_ptr)->next) 522 ; 523 524 *d_ptr = new; 525 } 616 617 *d_ptr = new; 526 618 } 527 619 } 528 620 } 529 621 530 free_ ns_chain ((struct nameseq *)old);622 free_dep_chain (old); 531 623 } 532 624 … … 646 738 } 647 739 648 f = lookup_file (".POSIX");649 if (f != 0 && f->is_target)650 posix_pedantic = 1;651 652 740 f = lookup_file (".NOTPARALLEL"); 653 741 if (f != 0 && f->is_target) 654 742 not_parallel = 1; 743 744 #ifndef NO_MINUS_C_MINUS_O 745 /* If .POSIX was defined, remove OUTPUT_OPTION to comply. */ 746 /* This needs more work: what if the user sets this in the makefile? 747 if (posix_pedantic) 748 define_variable (STRING_SIZE_TUPLE("OUTPUT_OPTION"), "", o_default, 1); 749 */ 750 #endif 655 751 656 752 /* Remember that we've done this. */ -
vendor/gnumake/current/filedef.h
r280 r501 1 1 /* Definition of target file data structures for GNU Make. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1997, 3 2002 Free Software Foundation, Inc. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 4 5 This file is part of GNU Make. 5 6 6 GNU Make is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2, or (at your option) 9 any later version. 10 11 GNU Make is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with GNU Make; see the file COPYING. If not, write to 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 Boston, MA 02111-1307, USA. */ 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 20 18 21 19 … … 43 41 used when there are multiple double-colon 44 42 entries for the same file. */ 43 struct file *last; /* Last entry for the same file name. */ 45 44 46 45 /* File that this file was renamed to. After any time that a … … 85 84 unsigned int cmd_target:1; /* Nonzero if file was given on cmd line. */ 86 85 unsigned int phony:1; /* Nonzero if this is a phony file 87 i.e., a dependencyof .PHONY. */86 i.e., a prerequisite of .PHONY. */ 88 87 unsigned int intermediate:1;/* Nonzero if this is an intermediate file. */ 89 /* Nonzero, for an intermediate file, 90 means remove_intermediates should not delete it. */ 91 unsigned int secondary:1; 88 unsigned int secondary:1; /* Nonzero means remove_intermediates should 89 not delete it. */ 92 90 unsigned int dontcare:1; /* Nonzero if no complaint is to be made if 93 91 this target cannot be remade. */ … … 95 93 unsigned int pat_searched:1;/* Nonzero if we already searched for 96 94 pattern-specific variables. */ 97 unsigned int considered:1; /* equal to `considered' if file has been95 unsigned int considered:1; /* equal to 'considered' if file has been 98 96 considered on current scan of goal chain */ 99 97 }; … … 106 104 extern struct file *lookup_file PARAMS ((char *name)); 107 105 extern struct file *enter_file PARAMS ((char *name)); 106 extern struct dep *parse_prereqs PARAMS ((char *prereqs)); 108 107 extern void remove_intermediates PARAMS ((int sig)); 109 108 extern void snap_deps PARAMS ((void)); -
vendor/gnumake/current/function.c
r280 r501 1 1 /* Builtin function expansion for GNU Make. 2 Copyright (C) 1988, 1989, 1991-1997, 1999, 2002 Free Software Foundation, Inc. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 3 5 This file is part of GNU Make. 4 6 5 GNU Make is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2, or (at your option) 8 any later version. 9 10 GNU Make is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with GNU Make; see the file COPYING. If not, write to 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 Boston, MA 02111-1307, USA. */ 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 19 18 20 19 #include "make.h" … … 497 496 } 498 497 498 static char * 499 func_flavor (char *o, char **argv, const char *funcname UNUSED) 500 { 501 register struct variable *v = lookup_variable (argv[0], strlen (argv[0])); 502 503 if (v == 0) 504 o = variable_buffer_output (o, "undefined", 9); 505 else 506 if (v->recursive) 507 o = variable_buffer_output (o, "recursive", 9); 508 else 509 o = variable_buffer_output (o, "simple", 6); 510 511 return o; 512 } 513 499 514 #ifdef VMS 500 515 # define IS_PATHSEP(c) ((c) == ']') … … 736 751 737 752 if (s <= end || end - beg < 0) 738 fatal ( reading_file, "%s: '%s'", message, beg);753 fatal (*expanding_var, "%s: '%s'", message, beg); 739 754 } 740 755 … … 753 768 754 769 if (i == 0) 755 fatal (reading_file, _("first argument to `word' function must be greater than 0")); 770 fatal (*expanding_var, 771 _("first argument to `word' function must be greater than 0")); 756 772 757 773 … … 780 796 start = atoi (argv[0]); 781 797 if (start < 1) 782 fatal ( reading_file,798 fatal (*expanding_var, 783 799 "invalid first argument to `wordlist' function: `%d'", start); 784 800 … … 1104 1120 case 'i': 1105 1121 printf ("%s\n", msg); 1122 fflush(stdout); 1106 1123 break; 1107 1124 1108 1125 default: 1109 fatal ( reading_file, "Internal error: func_error: '%s'", funcname);1126 fatal (*expanding_var, "Internal error: func_error: '%s'", funcname); 1110 1127 } 1111 1128 … … 1221 1238 } 1222 1239 1240 /* 1241 $(or condition1[,condition2[,condition3[...]]]) 1242 1243 A CONDITION is false iff it evaluates to an empty string. White 1244 space before and after CONDITION are stripped before evaluation. 1245 1246 CONDITION1 is evaluated. If it's true, then this is the result of 1247 expansion. If it's false, CONDITION2 is evaluated, and so on. If none of 1248 the conditions are true, the expansion is the empty string. 1249 1250 Once a CONDITION is true no further conditions are evaluated 1251 (short-circuiting). 1252 */ 1253 1254 static char * 1255 func_or (char *o, char **argv, const char *funcname UNUSED) 1256 { 1257 for ( ; *argv ; ++argv) 1258 { 1259 const char *begp = *argv; 1260 const char *endp = begp + strlen (*argv) - 1; 1261 char *expansion; 1262 int result = 0; 1263 1264 /* Find the result of the condition: if it's false keep going. */ 1265 1266 strip_whitespace (&begp, &endp); 1267 1268 if (begp > endp) 1269 continue; 1270 1271 expansion = expand_argument (begp, endp+1); 1272 result = strlen (expansion); 1273 1274 /* If the result is false keep going. */ 1275 if (!result) 1276 { 1277 free (expansion); 1278 continue; 1279 } 1280 1281 /* It's true! Keep this result and return. */ 1282 o = variable_buffer_output (o, expansion, result); 1283 free (expansion); 1284 break; 1285 } 1286 1287 return o; 1288 } 1289 1290 /* 1291 $(and condition1[,condition2[,condition3[...]]]) 1292 1293 A CONDITION is false iff it evaluates to an empty string. White 1294 space before and after CONDITION are stripped before evaluation. 1295 1296 CONDITION1 is evaluated. If it's false, then this is the result of 1297 expansion. If it's true, CONDITION2 is evaluated, and so on. If all of 1298 the conditions are true, the expansion is the result of the last condition. 1299 1300 Once a CONDITION is false no further conditions are evaluated 1301 (short-circuiting). 1302 */ 1303 1304 static char * 1305 func_and (char *o, char **argv, const char *funcname UNUSED) 1306 { 1307 char *expansion; 1308 int result; 1309 1310 while (1) 1311 { 1312 const char *begp = *argv; 1313 const char *endp = begp + strlen (*argv) - 1; 1314 1315 /* An empty condition is always false. */ 1316 strip_whitespace (&begp, &endp); 1317 if (begp > endp) 1318 return o; 1319 1320 expansion = expand_argument (begp, endp+1); 1321 result = strlen (expansion); 1322 1323 /* If the result is false, stop here: we're done. */ 1324 if (!result) 1325 break; 1326 1327 /* Otherwise the result is true. If this is the last one, keep this 1328 result and quit. Otherwise go on to the next one! */ 1329 1330 if (*(++argv)) 1331 free (expansion); 1332 else 1333 { 1334 o = variable_buffer_output (o, expansion, result); 1335 break; 1336 } 1337 } 1338 1339 free (expansion); 1340 1341 return o; 1342 } 1343 1223 1344 static char * 1224 1345 func_wildcard (char *o, char **argv, const char *funcname UNUSED) … … 1277 1398 \r is replaced on UNIX as well. Is this desirable? 1278 1399 */ 1279 void1280 fold_newlines (char *buffer, int *length)1400 static void 1401 fold_newlines (char *buffer, unsigned int *length) 1281 1402 { 1282 1403 char *dst = buffer; … … 1337 1458 TRUE, 1338 1459 DUPLICATE_SAME_ACCESS) == FALSE) { 1339 fatal (NILF, _("create_child_process: DuplicateHandle(In) failed (e=% d)\n"),1460 fatal (NILF, _("create_child_process: DuplicateHandle(In) failed (e=%ld)\n"), 1340 1461 GetLastError()); 1341 1462 … … 1348 1469 TRUE, 1349 1470 DUPLICATE_SAME_ACCESS) == FALSE) { 1350 fatal (NILF, _("create_child_process: DuplicateHandle(Err) failed (e=% d)\n"),1471 fatal (NILF, _("create_child_process: DuplicateHandle(Err) failed (e=%ld)\n"), 1351 1472 GetLastError()); 1352 1473 } 1353 1474 1354 1475 if (!CreatePipe(&hChildOutRd, &hChildOutWr, &saAttr, 0)) 1355 fatal (NILF, _("CreatePipe() failed (e=% d)\n"), GetLastError());1476 fatal (NILF, _("CreatePipe() failed (e=%ld)\n"), GetLastError()); 1356 1477 1357 1478 hProcess = process_init_fd(hIn, hChildOutWr, hErr); … … 1465 1586 { 1466 1587 char* batch_filename = NULL; 1467 unsigned int i;1468 1588 1469 1589 #ifdef __MSDOS__ … … 1490 1610 to put it in the environment. This is even more confusing when 1491 1611 var was not explicitly exported, but just appeared in the 1492 calling environment. */ 1612 calling environment. 1613 1614 envp = target_environment (NILF); 1615 */ 1493 1616 1494 1617 envp = environ; … … 1556 1679 { 1557 1680 /* We are the parent. */ 1558 1559 1681 char *buffer; 1560 unsigned int maxlen ;1682 unsigned int maxlen, i; 1561 1683 int cc; 1562 1684 … … 1621 1743 if (shell_function_completed == -1) 1622 1744 { 1623 /* This most likely means that the execvp failed, 1624 so we should just write out the error message 1625 that came in over the pipe from the child. */ 1745 /* This likely means that the execvp failed, so we should just 1746 write the error message in the pipe from the child. */ 1626 1747 fputs (buffer, stderr); 1627 1748 fflush (stderr); … … 1629 1750 else 1630 1751 { 1631 /* The child finished normally. Replace all 1632 newlines in its output with spaces, and put 1633 that in the variable output buffer. */ 1752 /* The child finished normally. Replace all newlines in its output 1753 with spaces, and put that in the variable output buffer. */ 1634 1754 fold_newlines (buffer, &i); 1635 1755 o = variable_buffer_output (o, buffer, i); … … 1663 1783 BPTR child_stdout; 1664 1784 char tmp_output[FILENAME_MAX]; 1665 unsigned int maxlen = 200 ;1666 int cc , i;1785 unsigned int maxlen = 200, i; 1786 int cc; 1667 1787 char * buffer, * ptr; 1668 1788 char ** aptr; … … 1947 2067 { STRING_SIZE_TUPLE("findstring"), 2, 2, 1, func_findstring}, 1948 2068 { STRING_SIZE_TUPLE("firstword"), 0, 1, 1, func_firstword}, 2069 { STRING_SIZE_TUPLE("flavor"), 0, 1, 1, func_flavor}, 1949 2070 { STRING_SIZE_TUPLE("join"), 2, 2, 1, func_join}, 1950 2071 { STRING_SIZE_TUPLE("lastword"), 0, 1, 1, func_lastword}, … … 1965 2086 { STRING_SIZE_TUPLE("warning"), 0, 1, 1, func_error}, 1966 2087 { STRING_SIZE_TUPLE("if"), 2, 3, 0, func_if}, 2088 { STRING_SIZE_TUPLE("or"), 1, 0, 0, func_or}, 2089 { STRING_SIZE_TUPLE("and"), 1, 0, 0, func_and}, 1967 2090 { STRING_SIZE_TUPLE("value"), 0, 1, 1, func_value}, 1968 2091 { STRING_SIZE_TUPLE("eval"), 0, 1, 1, func_eval}, … … 1984 2107 { 1985 2108 if (argc < (int)entry_p->minimum_args) 1986 fatal ( reading_file,1987 _(" Insufficient number of arguments (%d) to function `%s'"),2109 fatal (*expanding_var, 2110 _("insufficient number of arguments (%d) to function `%s'"), 1988 2111 argc, entry_p->name); 1989 2112 … … 1996 2119 1997 2120 if (!entry_p->func_ptr) 1998 fatal ( reading_file, _("Unimplemented on this platform: function `%s'"),1999 entry_p->name);2121 fatal (*expanding_var, 2122 _("unimplemented on this platform: function `%s'"), entry_p->name); 2000 2123 2001 2124 return entry_p->func_ptr (o, argv, entry_p->name); … … 2046 2169 2047 2170 if (count >= 0) 2048 fatal ( reading_file,2171 fatal (*expanding_var, 2049 2172 _("unterminated call to function `%s': missing `%c'"), 2050 2173 entry_p->name, closeparen); -
vendor/gnumake/current/getloadavg.c
r280 r501 1 1 /* Get the system load averages. 2 Copyright (C) 1985, 86, 87, 88, 89, 91, 92, 93, 1994, 1995, 1997 3 Free Software Foundation, Inc. 4 5 This program is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by7 the Free Software Foundation; either version 2, or (at your option) 8 any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program; if not, write to the Free Software 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 18 2 Copyright (C) 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 3 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free 4 Software Foundation, Inc. 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2, or (at your option) 9 any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License along with 17 this program; see the file COPYING. If not, write to the Free Software 18 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 19 19 20 20 /* Compile-time symbols that this file uses: -
vendor/gnumake/current/getopt.c
r54 r501 1 1 /* Getopt for GNU. 2 NOTE: getopt is now part of the C library, so if you don't know what 3 "Keep this file name-space clean" means, talk to [email protected] 4 before changing it! 5 6 Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98 7 Free Software Foundation, Inc. 8 9 NOTE: The canonical source of this file is maintained with the GNU C Library. 10 Bugs can be reported to [email protected]. 11 12 This program is free software; you can redistribute it and/or modify it 13 under the terms of the GNU General Public License as published by the 14 Free Software Foundation; either version 2, or (at your option) any 15 later version. 16 17 This program is distributed in the hope that it will be useful, 18 but WITHOUT ANY WARRANTY; without even the implied warranty of 19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 GNU General Public License for more details. 21 22 You should have received a copy of the GNU General Public License 23 along with this program; if not, write to the Free Software 24 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 25 USA. */ 26 2 NOTE: getopt is now part of the C library, so if you don't know what 3 "Keep this file name-space clean" means, talk to [email protected] 4 before changing it! 5 6 Copyright (C) 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 7 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 8 Foundation, Inc. 9 10 NOTE: The canonical source of this file is maintained with the GNU C Library. 11 Bugs can be reported to [email protected]. 12 13 This program is free software; you can redistribute it and/or modify it 14 under the terms of the GNU General Public License as published by the 15 Free Software Foundation; either version 2, or (at your option) any 16 later version. 17 18 This program is distributed in the hope that it will be useful, 19 but WITHOUT ANY WARRANTY; without even the implied warranty of 20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 GNU General Public License for more details. 22 23 You should have received a copy of the GNU General Public License along with 24 this program; see the file COPYING. If not, write to the Free Software 25 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 27 26 28 27 /* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>. -
vendor/gnumake/current/getopt.h
r54 r501 1 1 /* Declarations for getopt. 2 Copyright (C) 1989,90,91,92,93,94,96,97 Free Software Foundation, Inc. 2 Copyright (C) 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 3 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 3 4 4 5 5 NOTE: The canonical source of this file is maintained with the GNU C Library. 6 Bugs can be reported to [email protected]. 6 7 7 8 9 10 8 This program is free software; you can redistribute it and/or modify it 9 under the terms of the GNU General Public License as published by the 10 Free Software Foundation; either version 2, or (at your option) any 11 later version. 11 12 12 13 14 15 13 This program is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 16 17 17 You should have received a copy of the GNU General Public License 18 along with this program; if not, write to the Free Software 19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 20 USA. */ 18 You should have received a copy of the GNU General Public License along with 19 this program; see the file COPYING. If not, write to the Free Software 20 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 21 21 22 22 #ifndef _GETOPT_H -
vendor/gnumake/current/getopt1.c
r54 r501 1 1 /* getopt_long and getopt_long_only entry points for GNU getopt. 2 Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98 3 Free Software Foundation, Inc. 2 Copyright (C) 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 4 5 5 6 6 NOTE: The canonical source of this file is maintained with the GNU C Library. 7 Bugs can be reported to [email protected]. 7 8 8 9 10 11 9 This program is free software; you can redistribute it and/or modify it 10 under the terms of the GNU General Public License as published by the 11 Free Software Foundation; either version 2, or (at your option) any 12 later version. 12 13 13 14 15 16 14 This program is distributed in the hope that it will be useful, 15 but WITHOUT ANY WARRANTY; without even the implied warranty of 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 GNU General Public License for more details. 17 18 18 You should have received a copy of the GNU General Public License 19 along with this program; if not, write to the Free Software 20 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 21 USA. */ 19 You should have received a copy of the GNU General Public License along with 20 this program; see the file COPYING. If not, write to the Free Software 21 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 22 22 23 23 -
vendor/gnumake/current/gettext.h
r54 r501 1 1 /* Convenience header for conditional use of GNU <libintl.h>. 2 Copyright (C) 1995-1998, 2000-2002 Free Software Foundation, Inc. 2 Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 3 2006 Free Software Foundation, Inc. 4 This file is part of GNU Make. 3 5 4 This program is free software; you can redistribute it and/or modify it 5 under the terms of the GNU Library General Public License as published 6 by the Free Software Foundation; either version 2, or (at your option) 7 any later version. 6 GNU Make is free software; you can redistribute it and/or modify it under the 7 terms of the GNU General Public License as published by the Free Software 8 Foundation; either version 2, or (at your option) any later version. 8 9 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Library General Public License for more details. 10 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 13 14 You should have received a copy of the GNU Library General Public 15 License along with this program; if not, write to the Free Software 16 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 17 USA. */ 14 You should have received a copy of the GNU General Public License along with 15 GNU Make; see the file COPYING. If not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 18 17 19 18 #ifndef _LIBGETTEXT_H -
vendor/gnumake/current/glob/ChangeLog
r280 r501 1 2006-02-24 Eli Zaretskii <[email protected]> 2 3 * glob.c (my_malloc) [WINDOWS32]: Provide a full ISO C prototype, 4 to avoid compiler warnings. 5 6 2005-06-25 Paul D. Smith <[email protected]> 7 8 * fnmatch.h, glob.h [WINDOWS32]: Fix ifdefs in headers. 9 Fixes Savannah bug #13477. 10 1 11 2005-03-11 Paul D. Smith <[email protected]> 2 12 … … 146 156 only for ?s, not for *s. Fix from Chet Ramey. 147 157 158 159 160 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 161 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 162 Foundation, Inc. 163 This file is part of GNU Make. 164 165 GNU Make is free software; you can redistribute it and/or modify it under the 166 terms of the GNU General Public License as published by the Free Software 167 Foundation; either version 2, or (at your option) any later version. 168 169 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 170 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 171 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 172 173 You should have received a copy of the GNU General Public License along with 174 GNU Make; see the file COPYING. If not, write to the Free Software 175 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -
vendor/gnumake/current/glob/Makefile.am
r53 r501 1 1 # -*-Makefile-*-, or close enough 2 # Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 3 # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 4 # This file is part of GNU Make. 5 # 6 # GNU Make is free software; you can redistribute it and/or modify it under the 7 # terms of the GNU General Public License as published by the Free Software 8 # Foundation; either version 2, or (at your option) any later version. 9 # 10 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 # 14 # You should have received a copy of the GNU General Public License along with 15 # GNU Make; see the file COPYING. If not, write to the Free Software 16 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2 17 3 18 AUTOMAKE_OPTIONS = foreign -
vendor/gnumake/current/glob/Makefile.ami
r53 r501 1 # Makefile for standalone distribution of libglob.a (fnmatch, glob). 2 3 # Copyright (C) 1991, 92, 93, 94, 95, 97, 98 Free Software Foundation, Inc. 4 # This file is part of the GNU C Library. 5 6 # This library is free software; you can redistribute it and/or 7 # modify it under the terms of the GNU Library General Public License 8 # as published by the Free Software Foundation; either version 2 of 9 # the License, or (at your option) any later version. 10 11 # This library is distributed in the hope that it will be useful, 12 # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 # Library General Public License for more details. 15 16 # You should have received a copy of the GNU Library General Public 17 # License along with this library; see the file COPYING.LIB. If 18 # not, write to the Free Software Foundation, Inc., 19 # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 1 # Makefile for standalone libglob.a (fnmatch, glob). -*-Makefile-*- 2 # Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 3 # 2005, 2006 Free Software Foundation, Inc. 4 # This file is part of GNU Make. 5 # 6 # GNU Make is free software; you can redistribute it and/or modify it under the 7 # terms of the GNU General Public License as published by the Free Software 8 # Foundation; either version 2, or (at your option) any later version. 9 # 10 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 # 14 # You should have received a copy of the GNU General Public License along with 15 # GNU Make; see the file COPYING. If not, write to the Free Software 16 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 17 21 18 # Ultrix 2.2 make doesn't expand the value of VPATH. -
vendor/gnumake/current/glob/Makefile.in
r152 r501 1 # Makefile.in generated by automake 1. 8.2from Makefile.am.1 # Makefile.in generated by automake 1.9.6 from Makefile.am. 2 2 # @configure_input@ 3 3 4 4 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 5 # 2003, 2004 Free Software Foundation, Inc.5 # 2003, 2004, 2005 Free Software Foundation, Inc. 6 6 # This Makefile.in is free software; the Free Software Foundation 7 7 # gives unlimited permission to copy and/or distribute it, … … 16 16 17 17 # -*-Makefile-*-, or close enough 18 19 SOURCES = $(libglob_a_SOURCES) 18 # Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 19 # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 20 # This file is part of GNU Make. 21 # 22 # GNU Make is free software; you can redistribute it and/or modify it under the 23 # terms of the GNU General Public License as published by the Free Software 24 # Foundation; either version 2, or (at your option) any later version. 25 # 26 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 27 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 28 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 29 # 30 # You should have received a copy of the GNU General Public License along with 31 # GNU Make; see the file COPYING. If not, write to the Free Software 32 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 33 21 34 srcdir = @srcdir@ … … 39 52 PRE_UNINSTALL = : 40 53 POST_UNINSTALL = : 54 build_triplet = @build@ 41 55 host_triplet = @host@ 42 56 subdir = glob … … 56 70 CONFIG_HEADER = $(top_builddir)/config.h 57 71 CONFIG_CLEAN_FILES = 72 LIBRARIES = $(noinst_LIBRARIES) 58 73 ARFLAGS = cru 59 LIBRARIES = $(noinst_LIBRARIES)60 74 libglob_a_AR = $(AR) $(ARFLAGS) 61 75 libglob_a_LIBADD = … … 65 79 depcomp = $(SHELL) $(top_srcdir)/config/depcomp 66 80 am__depfiles_maybe = depfiles 67 @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/fnmatch.Po ./$(DEPDIR)/glob.Po68 81 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 69 82 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) … … 144 157 USE_NLS = @USE_NLS@ 145 158 VERSION = @VERSION@ 159 WINDOWSENV_FALSE = @WINDOWSENV_FALSE@ 160 WINDOWSENV_TRUE = @WINDOWSENV_TRUE@ 146 161 XGETTEXT = @XGETTEXT@ 147 162 ac_ct_CC = @ac_ct_CC@ … … 153 168 am__leading_dot = @am__leading_dot@ 154 169 am__quote = @am__quote@ 170 am__tar = @am__tar@ 171 am__untar = @am__untar@ 155 172 bindir = @bindir@ 156 173 build = @build@ … … 243 260 @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi 244 261 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ 245 @AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ 246 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 262 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 247 263 @am__fastdepCC_FALSE@ $(COMPILE) -c $< 248 264 … … 251 267 @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi 252 268 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ 253 @AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ 254 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 269 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 255 270 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` 256 271 uninstall-info-am: … … 276 291 $(AWK) ' { files[$$0] = 1; } \ 277 292 END { for (i in files) print i; }'`; \ 278 test -z "$(ETAGS_ARGS)$$tags$$unique" \ 279 || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ 280 $$tags $$unique 293 if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ 294 test -n "$$unique" || unique=$$empty_fix; \ 295 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ 296 $$tags $$unique; \ 297 fi 281 298 ctags: CTAGS 282 299 CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ … … 352 369 353 370 distclean-generic: 354 - rm -f $(CONFIG_CLEAN_FILES)371 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) 355 372 356 373 maintainer-clean-generic: -
vendor/gnumake/current/glob/SMakefile
r53 r501 1 1 # Makefile for standalone distribution of libglob.a (fnmatch, glob). 2 3 # Copyright (C) 1991, 92, 93, 94, 95, 97, 98 Free Software Foundation, Inc. 4 # This file is part of the GNU C Library. 5 6 # This library is free software; you can redistribute it and/or 7 # modify it under the terms of the GNU Library General Public License 8 # as published by the Free Software Foundation; either version 2 of 9 # the License, or (at your option) any later version. 10 11 # This library is distributed in the hope that it will be useful, 12 # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 # Library General Public License for more details. 15 16 # You should have received a copy of the GNU Library General Public 17 # License along with this library; see the file COPYING.LIB. If 18 # not, write to the Free Software Foundation, Inc., 19 # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 2 # Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 3 # 2005, 2006 Free Software Foundation, Inc. 4 # This file is part of GNU Make. 5 # 6 # GNU Make is free software; you can redistribute it and/or modify it under the 7 # terms of the GNU General Public License as published by the Free Software 8 # Foundation; either version 2, or (at your option) any later version. 9 # 10 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 # 14 # You should have received a copy of the GNU General Public License along with 15 # GNU Make; see the file COPYING. If not, write to the Free Software 16 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 17 21 18 # Ultrix 2.2 make doesn't expand the value of VPATH. -
vendor/gnumake/current/glob/configure.bat
r53 r501 1 1 @echo off 2 rem Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 3 rem 2004, 2005, 2006 Free Software Foundation, Inc. 4 rem This file is part of GNU Make. 5 6 rem GNU Make is free software; you can redistribute it and/or modify it under 7 rem the terms of the GNU General Public License as published by the Free 8 rem Software Foundation; either version 2, or (at your option) any later 9 rem version. 10 11 rem GNU Make is distributed in the hope that it will be useful, but WITHOUT 12 rem ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 rem FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 14 rem more details. 15 16 rem You should have received a copy of the GNU General Public License along 17 rem with GNU Make; see the file COPYING. If not, write to the Free Software 18 rem Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 19 2 20 echo Configuring glob for DJGPP 3 21 rem This batch file assumes a unix-type "sed" program -
vendor/gnumake/current/glob/fnmatch.c
r53 r501 1 1 /* Copyright (C) 1991, 92, 93, 96, 97, 98, 99 Free Software Foundation, Inc. 2 3 4 5 6 7 8 9 10 11 12 13 14 You should have received a copy of the GNU Library General Public 15 License along with this library; see the file COPYING.LIB. If not, 16 write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 17 Boston, MA 02111-1307,USA. */2 This file is part of the GNU C Library. 3 4 This library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Library General Public License as 6 published by the Free Software Foundation; either version 2 of the 7 License, or (at your option) any later version. 8 9 This library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Library General Public License for more details. 13 14 You should have received a copy of the GNU Library General Public License 15 along with this library; see the file COPYING.LIB. If not, write to the Free 16 Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 17 USA. */ 18 18 19 19 #if HAVE_CONFIG_H -
vendor/gnumake/current/glob/fnmatch.h
r53 r501 1 1 /* Copyright (C) 1991, 92, 93, 96, 97, 98, 99 Free Software Foundation, Inc. 2 2 This file is part of the GNU C Library. 3 3 4 5 6 7 4 The GNU C Library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Library General Public License as 6 published by the Free Software Foundation; either version 2 of the 7 License, or (at your option) any later version. 8 8 9 10 11 12 9 The GNU C Library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Library General Public License for more details. 13 13 14 You should have received a copy of the GNU Library General Public 15 License along with the GNU C Library; see the file COPYING.LIB. If not, 16 write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 17 Boston, MA 02111-1307,USA. */14 You should have received a copy of the GNU Library General Public License 15 along with this library; see the file COPYING.LIB. If not, write to the Free 16 Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 17 USA. */ 18 18 19 19 #ifndef _FNMATCH_H … … 25 25 26 26 #if defined __cplusplus || (defined __STDC__ && __STDC__) || defined WINDOWS32 27 # if !defined __GLIBC__ || !defined __P27 # if !defined __GLIBC__ 28 28 # undef __P 29 29 # define __P(protos) protos … … 38 38 39 39 #ifndef const 40 # if (defined __STDC__ && __STDC__) || defined __cplusplus 40 # if (defined __STDC__ && __STDC__) || defined __cplusplus || defined WINDOWS32 41 41 # define __const const 42 42 # else -
vendor/gnumake/current/glob/glob.c
r280 r501 1 1 /* Copyright (C) 1991,92,93,94,95,96,97,98,99 Free Software Foundation, Inc. 2 2 3 4 5 6 7 8 9 10 11 12 13 You should have received a copy of the GNU Library General Public 14 License along with this library; see the file COPYING.LIB. If not, 15 write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 16 Boston, MA 02111-1307,USA. */3 This library is free software; you can redistribute it and/or 4 modify it under the terms of the GNU Library General Public License as 5 published by the Free Software Foundation; either version 2 of the 6 License, or (at your option) any later version. 7 8 This library is distributed in the hope that it will be useful, 9 but WITHOUT ANY WARRANTY; without even the implied warranty of 10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 Library General Public License for more details. 12 13 You should have received a copy of the GNU Library General Public License 14 along with this library; see the file COPYING.LIB. If not, write to the Free 15 Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 16 USA. */ 17 17 18 18 /* AIX requires this to be the first thing in the file. */ … … 189 189 # ifdef WINDOWS32 190 190 static void * 191 my_realloc (void *p, unsigned int n) 191 192 # else 192 193 static char * 193 # endif194 194 my_realloc (p, n) 195 195 char *p; 196 196 unsigned int n; 197 # endif 197 198 { 198 199 /* These casts are the for sake of the broken Ultrix compiler, … … 301 302 static int collated_compare __P ((const __ptr_t, const __ptr_t)); 302 303 303 #ifdef VMS304 /* these compilers like prototypes */305 304 #if !defined _LIBC || !defined NO_GLOB_PATTERN_P 306 int __glob_pattern_p (const char *pattern, int quote); 307 #endif 305 int __glob_pattern_p __P ((const char *pattern, int quote)); 308 306 #endif 309 307 -
vendor/gnumake/current/glob/glob.h
r53 r501 1 1 /* Copyright (C) 1991, 92, 95, 96, 97, 98 Free Software Foundation, Inc. 2 2 3 4 5 6 7 8 9 10 11 12 13 You should have received a copy of the GNU Library General Public 14 License along with the GNU C Library; see the file COPYING.LIB. If not, 15 write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 16 Boston, MA 02111-1307,USA. */3 The GNU C Library is free software; you can redistribute it and/or 4 modify it under the terms of the GNU Library General Public License as 5 published by the Free Software Foundation; either version 2 of the 6 License, or (at your option) any later version. 7 8 The GNU C Library is distributed in the hope that it will be useful, 9 but WITHOUT ANY WARRANTY; without even the implied warranty of 10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 Library General Public License for more details. 12 13 You should have received a copy of the GNU Library General Public License 14 along with this library; see the file COPYING.LIB. If not, write to the Free 15 Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 16 USA. */ 17 17 18 18 #ifndef _GLOB_H … … 25 25 #undef __ptr_t 26 26 #if defined __cplusplus || (defined __STDC__ && __STDC__) || defined WINDOWS32 27 # if !defined __GLIBC__ || !defined __P27 # if !defined __GLIBC__ 28 28 # undef __P 29 29 # undef __PMT -
vendor/gnumake/current/hash.c
r54 r501 3 3 Written by Greg McGary <[email protected]> <[email protected]> 4 4 5 This program is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2, or (at your option) 8 any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program; if not, write to the Free Software 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 */ 5 This program is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2, or (at your option) 8 any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 this program; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 19 18 20 19 #include "make.h" … … 127 126 128 127 void * 129 hash_insert (struct hash_table *ht, void *item)128 hash_insert (struct hash_table *ht, const void *item) 130 129 { 131 130 void **slot = hash_find_slot (ht, item); 132 void *old_item = slot ? *slot : 0;131 const void *old_item = slot ? *slot : 0; 133 132 hash_insert_at (ht, item, slot); 134 return ( (HASH_VACANT (old_item)) ? 0 : old_item);135 } 136 137 void * 138 hash_insert_at (struct hash_table *ht, void *item, const void *slot)139 { 140 void *old_item = *(void **) slot;133 return (void *)((HASH_VACANT (old_item)) ? 0 : old_item); 134 } 135 136 void * 137 hash_insert_at (struct hash_table *ht, const void *item, const void *slot) 138 { 139 const void *old_item = *(void **) slot; 141 140 if (HASH_VACANT (old_item)) 142 141 { -
vendor/gnumake/current/hash.h
r54 r501 1 1 /* hash.h -- decls for hash table 2 3 4 5 6 7 8 9 10 11 12 13 14 15 You should have received a copy of the GNU General Public License 16 along with this program; if not, write to the Free Software17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.*/2 Copyright (C) 1995, 1999, 2002 Free Software Foundation, Inc. 3 Written by Greg McGary <[email protected]> <[email protected]> 4 5 This program is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2, or (at your option) 8 any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 this program; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 18 18 19 19 #ifndef _hash_h_ … … 64 64 void **hash_find_slot __P((struct hash_table *ht, void const *key)); 65 65 void *hash_find_item __P((struct hash_table *ht, void const *key)); 66 void *hash_insert __P((struct hash_table *ht, void *item));67 void *hash_insert_at __P((struct hash_table *ht, void *item, void const *slot));66 void *hash_insert __P((struct hash_table *ht, const void *item)); 67 void *hash_insert_at __P((struct hash_table *ht, const void *item, void const *slot)); 68 68 void *hash_delete __P((struct hash_table *ht, void const *item)); 69 69 void *hash_delete_at __P((struct hash_table *ht, void const *slot)); -
vendor/gnumake/current/implicit.c
r280 r501 1 1 /* Implicit rule searching for GNU Make. 2 Copyright (C) 1988,1989,1990,1991,1992,1993,1994,1997,2000,2004,2005 Free Software Foundation, Inc. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 3 5 This file is part of GNU Make. 4 6 5 GNU Make is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2, or (at your option) 8 any later version. 9 10 GNU Make is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with GNU Make; see the file COPYING. If not, write to 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 Boston, MA 02111-1307, USA. */ 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 19 18 20 19 #include "make.h" … … 81 80 82 81 static void 83 free_idep_chain (struct idep *p)82 free_idep_chain (struct idep *p) 84 83 { 85 register struct idep* n; 86 register struct file *f; 84 struct idep *n; 87 85 88 86 for (; p != 0; p = n) … … 92 90 if (p->name) 93 91 { 92 struct file *f = p->intermediate_file; 93 94 if (f != 0 95 && (f->stem < f->name || f->stem > f->name + strlen (f->name))) 96 free (f->stem); 97 94 98 free (p->name); 95 96 f = p->intermediate_file;97 98 if (f != 099 && (f->stem < f->name100 || f->stem > f->name + strlen (f->name)))101 free (f->stem);102 99 } 103 100 … … 264 261 int specific_rule_matched = 0; 265 262 266 registerunsigned int i = 0; /* uninit checks OK */267 registerstruct rule *rule;268 registerstruct dep *dep, *expl_d;263 unsigned int i = 0; /* uninit checks OK */ 264 struct rule *rule; 265 struct dep *dep, *expl_d; 269 266 270 267 char *p, *vname; … … 350 347 prefix and the target pattern does not contain a slash. */ 351 348 349 check_lastslash = 0; 350 if (lastslash) 351 { 352 352 #ifdef VMS 353 check_lastslash = lastslash != 0 354 && ((strchr (target, ']') == 0) 355 && (strchr (target, ':') == 0)); 353 check_lastslash = (strchr (target, ']') == 0 354 && strchr (target, ':') == 0); 356 355 #else 357 check_lastslash = lastslash != 0 && strchr (target, '/') == 0; 356 check_lastslash = strchr (target, '/') == 0; 357 #ifdef HAVE_DOS_PATHS 358 /* Didn't find it yet: check for DOS-type directories. */ 359 if (check_lastslash) 360 { 361 char *b = strchr (target, '\\'); 362 check_lastslash = !(b || (target[0] && target[1] == ':')); 363 } 358 364 #endif 365 #endif 366 } 359 367 if (check_lastslash) 360 368 { 361 /* In that case, don't include the 362 directory prefix in STEM here. */ 369 /* If so, don't include the directory prefix in STEM here. */ 363 370 unsigned int difference = lastslash - filename + 1; 364 371 if (difference > stemlen) … … 437 444 unsigned int failed = 0; 438 445 int check_lastslash; 446 int file_variables_set = 0; 439 447 440 448 rule = tryrules[i]; … … 474 482 stem_str[stemlen] = '\0'; 475 483 476 /* Temporary assign STEM to file->stem and set file variables. */ 484 /* Temporary assign STEM to file->stem (needed to set file 485 variables below). */ 477 486 file->stem = stem_str; 478 set_file_variables (file);479 487 480 488 /* Try each dependency; see if it "exists". */ 481 482 /* @@ There is always only one dep line for any given implicit483 rule. So the loop is not necessary. Can rule->deps be 0?484 485 Watch out for conversion of suffix rules to implicit rules.486 */487 489 488 490 for (dep = rule->deps; dep != 0; dep = dep->next) … … 493 495 494 496 /* In an ideal world we would take the dependency line, 495 substitute the stem, re-expand the whole line and 496 chop it into individual prerequisites. Unfortunately497 this won't work because of the "check_lastslash" twist.498 Instead, we will have to go word by word, taking $()'s499 into account, for each word we will substitute the stem,500 re-expand, chop it up, and, if check_lastslash != 0,501 add the directory part to eachresulting prerequisite. */497 substitute the stem, re-expand the whole line and chop it 498 into individual prerequisites. Unfortunately this won't work 499 because of the "check_lastslash" twist. Instead, we will 500 have to go word by word, taking $()'s into account, for each 501 word we will substitute the stem, re-expand, chop it up, and, 502 if check_lastslash != 0, add the directory part to each 503 resulting prerequisite. */ 502 504 503 505 p = get_next_word (dep->name, &len); … … 511 513 break; /* No more words */ 512 514 513 /* If the dependency name has %, substitute the stem. 514 Watch out, we are going to do something tricky here. If 515 we just replace % with the stem value, later, when we do 516 the second expansion, we will re-expand this stem value 517 once again. This is not good especially if you have 518 certain characters in your setm (like $). 519 520 Instead, we will replace % with $* and allow the second 521 expansion to take care of it for us. This way (since $* 522 is a simple variable) there won't be additional 523 re-expansion of the stem. */ 515 /* Is there a pattern in this prerequisite? */ 524 516 525 517 for (p2 = p; p2 < p + len && *p2 != '%'; ++p2) 526 518 ; 527 519 528 if ( p2 < p + len)520 if (dep->need_2nd_expansion) 529 521 { 530 register unsigned int i = p2 - p; 531 bcopy (p, depname, i); 532 bcopy ("$*", depname + i, 2); 533 bcopy (p2 + 1, depname + i + 2, len - i - 1); 534 depname[len + 2 - 1] = '\0'; 535 536 if (check_lastslash) 537 add_dir = 1; 538 539 had_stem = 1; 522 /* If the dependency name has %, substitute the stem. 523 524 Watch out, we are going to do something tricky 525 here. If we just replace % with the stem value, 526 later, when we do the second expansion, we will 527 re-expand this stem value once again. This is not 528 good especially if you have certain characters in 529 your stem (like $). 530 531 Instead, we will replace % with $* and allow the 532 second expansion to take care of it for us. This way 533 (since $* is a simple variable) there won't be 534 additional re-expansion of the stem. */ 535 536 if (p2 < p + len) 537 { 538 register unsigned int i = p2 - p; 539 bcopy (p, depname, i); 540 bcopy ("$*", depname + i, 2); 541 bcopy (p2 + 1, depname + i + 2, len - i - 1); 542 depname[len + 2 - 1] = '\0'; 543 544 if (check_lastslash) 545 add_dir = 1; 546 547 had_stem = 1; 548 } 549 else 550 { 551 bcopy (p, depname, len); 552 depname[len] = '\0'; 553 } 554 555 /* Set file variables. Note that we cannot do it once 556 at the beginning of the function because of the stem 557 value. */ 558 if (!file_variables_set) 559 { 560 set_file_variables (file); 561 file_variables_set = 1; 562 } 563 564 p2 = variable_expand_for_file (depname, file); 540 565 } 541 566 else 542 567 { 543 bcopy (p, depname, len); 544 depname[len] = '\0'; 568 if (p2 < p + len) 569 { 570 register unsigned int i = p2 - p; 571 bcopy (p, depname, i); 572 bcopy (stem_str, depname + i, stemlen); 573 bcopy (p2 + 1, depname + i + stemlen, len - i - 1); 574 depname[len + stemlen - 1] = '\0'; 575 576 if (check_lastslash) 577 add_dir = 1; 578 579 had_stem = 1; 580 } 581 else 582 { 583 bcopy (p, depname, len); 584 depname[len] = '\0'; 585 } 586 587 p2 = depname; 545 588 } 546 547 p2 = variable_expand_for_file (depname, file);548 589 549 590 /* Parse the dependencies. */ … … 564 605 565 606 /* @@ It would be nice to teach parse_file_seq or 566 multi_glob to add prefix. This would save us 567 somereallocations. */607 multi_glob to add prefix. This would save us some 608 reallocations. */ 568 609 569 610 if (order_only || add_dir || had_stem) … … 621 662 if (file_impossible_p (name)) 622 663 { 623 /* If this dependency has already been ruled 624 "impossible", then the rule fails and don't 625 bother trying it on the second pass either 626 since we know that will fail too. */ 664 /* If this dependency has already been ruled "impossible", 665 then the rule fails and don't bother trying it on the 666 second pass either since we know that will fail too. */ 627 667 DBS (DB_IMPLICIT, 628 668 (d->had_stem … … 641 681 : _("Trying rule prerequisite `%s'.\n"), name)); 642 682 643 /* If this prerequisite also happened to be explicitly 644 mentioned for FILE skip all the test below since it 645 it has to be built anyway, no matter which implicit 646 rule we choose. */ 683 /* If this prerequisite also happened to be explicitly mentioned 684 for FILE skip all the test below since it it has to be built 685 anyway, no matter which implicit rule we choose. */ 647 686 648 687 for (expl_d = file->deps; expl_d != 0; expl_d = expl_d->next) 649 if (str cmp (dep_name (expl_d), name) == 0) break;650 688 if (streq (dep_name (expl_d), name)) 689 break; 651 690 if (expl_d != 0) 652 691 continue; 653 654 655 692 656 693 /* The DEP->changed flag says that this dependency resides in a … … 665 702 /*|| ((!dep->changed || check_lastslash) && */ 666 703 || file_exists_p (name)) 667 { 668 continue; 669 } 704 continue; 670 705 671 706 /* This code, given FILENAME = "lib/foo.o", dependency name … … 684 719 685 720 686 /* We could not find the file in any place we should look. 687 Try to make this dependency as an intermediate file,688 but only onthe second pass. */721 /* We could not find the file in any place we should look. Try 722 to make this dependency as an intermediate file, but only on 723 the second pass. */ 689 724 690 725 if (intermed_ok) … … 717 752 file and failed, mark that name as impossible 718 753 so we won't go through the search again later. */ 754 if (intermediate_file->variables) 755 free_variable_set (intermediate_file->variables); 719 756 file_impossible (name); 720 757 } … … 777 814 { 778 815 struct dep *next = dep->next; 779 free (dep->name); 780 free ((char *)dep); 816 free_dep (dep); 781 817 dep = next; 782 818 } … … 837 873 } 838 874 839 dep = (struct dep *) xmalloc (sizeof (struct dep));875 dep = alloc_dep (); 840 876 dep->ignore_mtime = d->ignore_mtime; 841 dep->need_2nd_expansion = 0;842 877 s = d->name; /* Hijacking the name. */ 843 878 d->name = 0; 844 879 if (recursions == 0) 845 880 { 846 dep->name = 0;847 881 dep->file = lookup_file (s); 848 882 if (dep->file == 0) … … 857 891 { 858 892 dep->name = s; 859 dep->file = 0;860 dep->changed = 0;861 893 } 894 862 895 if (d->intermediate_file == 0 && tryrules[foundrule]->terminal) 863 896 { … … 902 935 file->is_target = 1; 903 936 937 /* Set precious flag. */ 938 { 939 struct file *f = lookup_file (rule->targets[matches[foundrule]]); 940 if (f && f->precious) 941 file->precious = 1; 942 } 943 904 944 /* If this rule builds other targets, too, put the others into FILE's 905 945 `also_make' member. */ … … 909 949 if (i != matches[foundrule]) 910 950 { 911 struct dep *new = (struct dep *) xmalloc (sizeof (struct dep)); 951 struct file *f; 952 struct dep *new = alloc_dep (); 953 912 954 /* GKM FIMXE: handle '|' here too */ 913 new->ignore_mtime = 0;914 new->need_2nd_expansion = 0;915 955 new->name = p = (char *) xmalloc (rule->lens[i] + fullstemlen + 1); 916 956 bcopy (rule->targets[i], p, … … 923 963 new->file = enter_file (new->name); 924 964 new->next = file->also_make; 965 966 /* Set precious flag. */ 967 f = lookup_file (rule->targets[i]); 968 if (f && f->precious) 969 new->file->precious = 1; 970 971 /* Set the is_target flag so that this file is not treated 972 as intermediate by the pattern rule search algorithm and 973 file_exists_p cannot pick it up yet. */ 974 new->file->is_target = 1; 975 925 976 file->also_make = new; 926 977 } -
vendor/gnumake/current/job.c
r280 r501 1 1 /* Job execution and handling for GNU Make. 2 Copyright (C) 1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1999, 3 2000,2001,2002,2003,2004,2005 Free Software Foundation, Inc. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 4 5 This file is part of GNU Make. 5 6 6 GNU Make is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2, or (at your option) 9 any later version. 10 11 GNU Make is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with GNU Make; see the file COPYING. If not, write to 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 Boston, MA 02111-1307, USA. */ 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 20 18 21 19 #include "make.h" … … 34 32 /* Default shell to use. */ 35 33 #ifdef WINDOWS32 34 #include <windows.h> 36 35 37 36 char *default_shell = "sh.exe"; 38 37 int no_default_sh_exe = 1; 39 38 int batch_mode_shell = 1; 39 HANDLE main_thread; 40 40 41 41 #elif defined (_AMIGA) … … 99 99 # include <starlet.h> 100 100 # include <lib$routines.h> 101 static void vmsWaitForChildren PARAMS ((int *)); 101 102 #endif 102 103 … … 242 243 } 243 244 244 /* This function creates a temporary file name with the given extension 245 * the unixy param controls both the extension and the path separator 246 * return an xmalloc'ed string of a newly created temp file or die. */ 245 /* This function creates a temporary file name with an extension specified 246 * by the unixy arg. 247 * Return an xmalloc'ed string of a newly created temp file and its 248 * file descriptor, or die. */ 247 249 static char * 248 create_batch_file name(char const *base, int unixy)250 create_batch_file (char const *base, int unixy, int *fd) 249 251 { 250 252 const char *const ext = unixy ? "sh" : "bat"; … … 304 306 char *const path = (char *) xmalloc (final_size); 305 307 memcpy (path, temp_path, final_size); 306 CloseHandle (h);308 *fd = _open_osfhandle ((long)h, 0); 307 309 if (unixy) 308 310 { … … 317 319 } 318 320 321 *fd = -1; 319 322 if (error == NULL) 320 323 error = _("Cannot create a temporary file\n"); … … 448 451 reap_children (int block, int err) 449 452 { 453 #ifndef WINDOWS32 450 454 WAIT_T status; 451 455 /* Initially, assume we have some. */ 452 456 int reap_more = 1; 457 #endif 453 458 454 459 #ifdef WAIT_NOHANG … … 475 480 int child_failed; 476 481 int any_remote, any_local; 482 int dontcare; 477 483 478 484 if (err && block) 479 485 { 480 /* We might block for a while, so let the user know why. */ 486 static int printed = 0; 487 488 /* We might block for a while, so let the user know why. 489 Only print this message once no matter how many jobs are left. */ 481 490 fflush (stdout); 482 error (NILF, _("*** Waiting for unfinished jobs....")); 491 if (!printed) 492 error (NILF, _("*** Waiting for unfinished jobs....")); 493 printed = 1; 483 494 } 484 495 … … 539 550 { 540 551 #ifdef VMS 541 static void vmsWaitForChildren PARAMS ((int *));542 552 vmsWaitForChildren (&status); 543 553 pid = c->pid; … … 612 622 { 613 623 HANDLE hPID; 614 int err; 624 int werr; 625 HANDLE hcTID, hcPID; 615 626 exit_code = 0; 616 627 exit_sig = 0; 617 628 coredump = 0; 629 630 /* Record the thread ID of the main process, so that we 631 could suspend it in the signal handler. */ 632 if (!main_thread) 633 { 634 hcTID = GetCurrentThread (); 635 hcPID = GetCurrentProcess (); 636 if (!DuplicateHandle (hcPID, hcTID, hcPID, &main_thread, 0, 637 FALSE, DUPLICATE_SAME_ACCESS)) 638 { 639 DWORD e = GetLastError (); 640 fprintf (stderr, 641 "Determine main thread ID (Error %ld: %s)\n", 642 e, map_windows32_error_to_string(e)); 643 } 644 else 645 DB (DB_VERBOSE, ("Main thread handle = 0x%08lx\n", 646 (unsigned long)main_thread)); 647 } 618 648 619 649 /* wait for anything to finish */ … … 623 653 624 654 /* was an error found on this process? */ 625 err = process_last_err(hPID);655 werr = process_last_err(hPID); 626 656 627 657 /* get exit data */ 628 658 exit_code = process_exit_code(hPID); 629 659 630 if ( err)660 if (werr) 631 661 fprintf(stderr, "make (e=%d): %s", 632 662 exit_code, map_windows32_error_to_string(exit_code)); … … 691 721 good_stdin_used = 0; 692 722 723 dontcare = c->dontcare; 724 693 725 if (child_failed && !c->noerror && !ignore_errors_flag) 694 726 { … … 696 728 delete non-precious targets, and abort. */ 697 729 static int delete_on_error = -1; 698 child_error (c->file->name, exit_code, exit_sig, coredump, 0); 730 731 if (!dontcare) 732 child_error (c->file->name, exit_code, exit_sig, coredump, 0); 733 699 734 c->file->update_status = 2; 700 735 if (delete_on_error == -1) … … 796 831 /* If the job failed, and the -k flag was not given, die, 797 832 unless we are already in the process of dying. */ 798 if (!err && child_failed && ! keep_going_flag &&833 if (!err && child_failed && !dontcare && !keep_going_flag && 799 834 /* fatal_error_signal will die with the right signal. */ 800 835 !handling_fatal_signal) … … 938 973 start_job_command (struct child *child) 939 974 { 940 #if ndef _AMIGA975 #if !defined(_AMIGA) && !defined(WINDOWS32) 941 976 static int bad_stdin = -1; 942 977 #endif … … 959 994 960 995 p = child->command_ptr; 961 child->noerror = flags & COMMANDS_NOERROR;996 child->noerror = ((flags & COMMANDS_NOERROR) != 0); 962 997 963 998 while (*p != '\0') … … 1352 1387 unblock_sigs(); 1353 1388 fprintf(stderr, 1354 _("process_easy() failed failed to launch process (e=%d)\n"), 1355 process_last_err(hPID)); 1356 for (i = 0; argv[i]; i++) 1357 fprintf(stderr, "%s ", argv[i]); 1358 fprintf(stderr, _("\nCounted %d args in failed launch\n"), i); 1389 _("process_easy() failed to launch process (e=%ld)\n"), 1390 process_last_err(hPID)); 1391 for (i = 0; argv[i]; i++) 1392 fprintf(stderr, "%s ", argv[i]); 1393 fprintf(stderr, _("\nCounted %d args in failed launch\n"), i); 1394 goto error; 1359 1395 } 1360 1396 } … … 1401 1437 /* If we are running at least one job already and the load average 1402 1438 is too high, make this one wait. */ 1403 if (!c->remote && job_slots_used > 0 && load_too_high ()) 1439 if (!c->remote 1440 && ((job_slots_used > 0 && load_too_high ()) 1441 #ifdef WINDOWS32 1442 || (process_used_slots () >= MAXIMUM_WAIT_OBJECTS) 1443 #endif 1444 )) 1404 1445 { 1405 1446 /* Put this child on the chain of children waiting for the load average … … 1575 1616 c->command_lines = lines; 1576 1617 c->sh_batch_file = NULL; 1618 1619 /* Cache dontcare flag because file->dontcare can be changed once we 1620 return. Check dontcare inheritance mechanism for details. */ 1621 c->dontcare = file->dontcare; 1577 1622 1578 1623 /* Fetch the first command line to be run. */ … … 1772 1817 time_t now; 1773 1818 1819 #ifdef WINDOWS32 1820 /* sub_proc.c cannot wait for more than MAXIMUM_WAIT_OBJECTS children */ 1821 if (process_used_slots () >= MAXIMUM_WAIT_OBJECTS) 1822 return 1; 1823 #endif 1824 1774 1825 if (max_load_average < 0) 1775 1826 return 0; … … 1908 1959 } 1909 1960 1910 #elif !defined (_AMIGA) && !defined (__MSDOS__) 1961 #elif !defined (_AMIGA) && !defined (__MSDOS__) && !defined (VMS) 1911 1962 1912 1963 /* UNIX: … … 1929 1980 exec_command (argv, envp); 1930 1981 } 1931 #endif /* !AMIGA && !__MSDOS__ */1982 #endif /* !AMIGA && !__MSDOS__ && !VMS */ 1932 1983 #endif /* !WINDOWS32 */ 1933 1984 … … 1972 2023 int i; 1973 2024 fprintf(stderr, 1974 _("process_easy() failed failed to launch process (e=% d)\n"),2025 _("process_easy() failed failed to launch process (e=%ld)\n"), 1975 2026 process_last_err(hPID)); 1976 2027 for (i = 0; argv[i]; i++) … … 2002 2053 else 2003 2054 fprintf(stderr, 2004 _("make reaped child pid % d, still waiting for pid %d\n"),2005 hWaitPID,hPID);2055 _("make reaped child pid %ld, still waiting for pid %ld\n"), 2056 (DWORD)hWaitPID, (DWORD)hPID); 2006 2057 } 2007 2058 … … 2274 2325 int instring, word_has_equals, seen_nonequals, last_argument_was_empty; 2275 2326 char **new_argv = 0; 2327 char *argstr = 0; 2276 2328 #ifdef WINDOWS32 2277 2329 int slow_flag = 0; 2278 2330 2279 if ( no_default_sh_exe) {2331 if (!unixy_shell) { 2280 2332 sh_cmds = sh_cmds_dos; 2281 2333 sh_chars = sh_chars_dos; … … 2360 2412 2361 2413 /* All the args can fit in a buffer as big as LINE is. */ 2362 ap = new_argv[0] = (char *) xmalloc (i);2414 ap = new_argv[0] = argstr = (char *) xmalloc (i); 2363 2415 end = ap + i; 2364 2416 … … 2368 2420 for (p = line; *p != '\0'; ++p) 2369 2421 { 2370 if (ap > end) 2371 abort (); 2422 assert (ap <= end); 2372 2423 2373 2424 if (instring) 2374 2425 { 2375 string_char:2376 2426 /* Inside a string, just copy any char except a closing quote 2377 2427 or a backslash-newline combination. */ … … 2383 2433 } 2384 2434 else if (*p == '\\' && p[1] == '\n') 2385 goto swallow_escaped_newline; 2435 { 2436 /* Backslash-newline is handled differently depending on what 2437 kind of string we're in: inside single-quoted strings you 2438 keep them; in double-quoted strings they disappear. 2439 For DOS/Windows/OS2, if we don't have a POSIX shell, 2440 we keep the pre-POSIX behavior of removing the 2441 backslash-newline. */ 2442 if (instring == '"' 2443 #if defined (__MSDOS__) || defined (__EMX__) || defined (WINDOWS32) 2444 || !unixy_shell 2445 #endif 2446 ) 2447 ++p; 2448 else 2449 { 2450 *(ap++) = *(p++); 2451 *(ap++) = *p; 2452 } 2453 /* If there's a TAB here, skip it. */ 2454 if (p[1] == '\t') 2455 ++p; 2456 } 2386 2457 else if (*p == '\n' && restp != NULL) 2387 2458 { … … 2423 2494 2424 2495 case '\\': 2425 /* Backslash-newline combinations are eaten. */ 2496 /* Backslash-newline has special case handling, ref POSIX. 2497 We're in the fastpath, so emulate what the shell would do. */ 2426 2498 if (p[1] == '\n') 2427 2499 { 2428 swallow_escaped_newline: 2429 2430 /* Eat the backslash, the newline, and following whitespace, 2431 replacing it all with a single space. */ 2432 p += 2; 2433 2434 /* If there is a tab after a backslash-newline, 2435 remove it from the source line which will be echoed, 2436 since it was most likely used to line 2437 up the continued line with the previous one. */ 2438 if (*p == '\t') 2439 /* Note these overlap and strcpy() is undefined for 2440 overlapping objects in ANSI C. The strlen() _IS_ right, 2441 since we need to copy the nul byte too. */ 2442 bcopy (p + 1, p, strlen (p)); 2443 2444 if (instring) 2445 goto string_char; 2446 else 2447 { 2448 if (ap != new_argv[i]) 2449 /* Treat this as a space, ending the arg. 2450 But if it's at the beginning of the arg, it should 2451 just get eaten, rather than becoming an empty arg. */ 2452 goto end_of_arg; 2453 else 2454 p = next_token (p) - 1; 2455 } 2500 /* Throw out the backslash and newline. */ 2501 ++p; 2502 2503 /* If there is a tab after a backslash-newline, remove it. */ 2504 if (p[1] == '\t') 2505 ++p; 2506 2507 /* If there's nothing in this argument yet, skip any 2508 whitespace before the start of the next word. */ 2509 if (ap == new_argv[i]) 2510 p = next_token (p + 1) - 1; 2456 2511 } 2457 2512 else if (p[1] != '\0') 2458 2513 { 2459 2514 #ifdef HAVE_DOS_PATHS 2460 /* Only remove backslashes before characters special 2461 to Unixy shells. All other backslashes are copied 2462 verbatim, since they are probably DOS-style 2463 directory separators. This still leaves a small 2464 window for problems, but at least it should work 2465 for the vast majority of naive users. */ 2515 /* Only remove backslashes before characters special to Unixy 2516 shells. All other backslashes are copied verbatim, since 2517 they are probably DOS-style directory separators. This 2518 still leaves a small window for problems, but at least it 2519 should work for the vast majority of naive users. */ 2466 2520 2467 2521 #ifdef __MSDOS__ … … 2478 2532 if (p[1] != '\\' && p[1] != '\'' 2479 2533 && !isspace ((unsigned char)p[1]) 2480 && (strchr (sh_chars_sh, p[1]) == 0))2534 && strchr (sh_chars_sh, p[1]) == 0) 2481 2535 /* back up one notch, to copy the backslash */ 2482 2536 --p; … … 2507 2561 case ' ': 2508 2562 case '\t': 2509 end_of_arg:2510 2563 /* We have the end of an argument. 2511 2564 Terminate the text of the argument. */ … … 2543 2596 2544 2597 /* Ignore multiple whitespace chars. */ 2545 p = next_token (p); 2546 /* Next iteration should examine the first nonwhite char. */ 2547 --p; 2598 p = next_token (p) - 1; 2548 2599 break; 2549 2600 … … 2575 2626 2576 2627 if (new_argv[0] == 0) 2577 /* Line was empty. */ 2578 return 0; 2628 { 2629 /* Line was empty. */ 2630 free (argstr); 2631 free ((char *)new_argv); 2632 return 0; 2633 } 2579 2634 2580 2635 return new_argv; … … 2586 2641 { 2587 2642 /* Free the old argument list we were working on. */ 2588 free ( new_argv[0]);2589 free (( void*)new_argv);2643 free (argstr); 2644 free ((char *)new_argv); 2590 2645 } 2591 2646 … … 2677 2732 else if (*p == '\\' && p[1] == '\n') 2678 2733 { 2679 /* Eat the backslash, the newline, and following whitespace, 2680 replacing it all with a single space (which is escaped 2681 from the shell). */ 2682 p += 2; 2683 2684 /* If there is a tab after a backslash-newline, 2685 remove it from the source line which will be echoed, 2686 since it was most likely used to line 2687 up the continued line with the previous one. */ 2688 if (*p == '\t') 2689 bcopy (p + 1, p, strlen (p)); 2690 2691 p = next_token (p); 2692 --p; 2693 if (unixy_shell && !batch_mode_shell) 2694 *ap++ = '\\'; 2695 *ap++ = ' '; 2734 /* POSIX says we keep the backslash-newline, but throw out 2735 the next char if it's a TAB. If we don't have a POSIX 2736 shell on DOS/Windows/OS2, mimic the pre-POSIX behavior 2737 and remove the backslash/newline. */ 2738 #if defined (__MSDOS__) || defined (__EMX__) || defined (WINDOWS32) 2739 # define PRESERVE_BSNL unixy_shell 2740 #else 2741 # define PRESERVE_BSNL 1 2742 #endif 2743 if (PRESERVE_BSNL) 2744 { 2745 *(ap++) = '\\'; 2746 *(ap++) = '\\'; 2747 *(ap++) = '\n'; 2748 } 2749 2750 ++p; 2751 if (p[1] == '\t') 2752 ++p; 2753 2696 2754 continue; 2697 2755 } … … 2723 2781 command line (e.g. Cygnus GNUWIN32 sh.exe on WIN32 systems). In these 2724 2782 cases, run commands via a script file. */ 2725 if ((no_default_sh_exe || batch_mode_shell) && batch_filename_ptr) { 2783 if (just_print_flag) { 2784 /* Need to allocate new_argv, although it's unused, because 2785 start_job_command will want to free it and its 0'th element. */ 2786 new_argv = (char **) xmalloc(2 * sizeof (char *)); 2787 new_argv[0] = xstrdup (""); 2788 new_argv[1] = NULL; 2789 } else if ((no_default_sh_exe || batch_mode_shell) && batch_filename_ptr) { 2790 int temp_fd; 2726 2791 FILE* batch = NULL; 2727 2792 int id = GetCurrentProcessId(); … … 2730 2795 /* create a file name */ 2731 2796 sprintf(fbuf, "make%d", id); 2732 *batch_filename_ptr = create_batch_file name (fbuf, unixy_shell);2797 *batch_filename_ptr = create_batch_file (fbuf, unixy_shell, &temp_fd); 2733 2798 2734 2799 DB (DB_JOBS, (_("Creating temporary batch file %s\n"), 2735 2800 *batch_filename_ptr)); 2736 2801 2737 /* create batch file to execute command */ 2738 batch = fopen (*batch_filename_ptr, "w"); 2802 /* Create a FILE object for the batch file, and write to it the 2803 commands to be executed. Put the batch file in TEXT mode. */ 2804 _setmode (temp_fd, _O_TEXT); 2805 batch = _fdopen (temp_fd, "wt"); 2739 2806 if (!unixy_shell) 2740 2807 fputs ("@echo off\n", batch); -
vendor/gnumake/current/job.h
r280 r501 1 1 /* Definitions for managing subprocesses in GNU Make. 2 Copyright (C) 1992, 1993, 1996, 1999 Free Software Foundation, Inc. 2 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 3 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 3 4 This file is part of GNU Make. 4 5 5 GNU Make is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2, or (at your option) 8 any later version. 6 GNU Make is free software; you can redistribute it and/or modify it under the 7 terms of the GNU General Public License as published by the Free Software 8 Foundation; either version 2, or (at your option) any later version. 9 9 10 GNU Make is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 10 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 13 15 You should have received a copy of the GNU General Public License 16 along with GNU Make; see the file COPYING. If not, write to 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 Boston, MA 02111-1307, USA. */ 14 You should have received a copy of the GNU General Public License along with 15 GNU Make; see the file COPYING. If not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 19 17 20 18 #ifndef SEEN_JOB_H … … 64 62 unsigned int good_stdin:1; /* Nonzero if this child has a good stdin. */ 65 63 unsigned int deleted:1; /* Nonzero if targets have been deleted. */ 64 unsigned int dontcare:1; /* Saved dontcare flag. */ 66 65 }; 67 66 -
vendor/gnumake/current/main.c
r280 r501 1 1 /* Argument parsing and main program of GNU Make. 2 Copyright (C) 1988, 1989, 1990, 1991, 1994, 1995, 1996, 1997, 1998, 1999, 3 2002, 2003, 2005 Free Software Foundation, Inc. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 4 5 This file is part of GNU Make. 5 6 6 GNU Make is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2, or (at your option) 9 any later version. 10 11 GNU Make is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with GNU Make; see the file COPYING. If not, write to 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 19 MA 02111-1307, USA. */ 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 20 18 21 19 #include "make.h" … … 84 82 #endif 85 83 84 static void clean_jobserver PARAMS ((int status)); 86 85 static void print_data_base PARAMS ((void)); 87 86 static void print_version PARAMS ((void)); … … 273 272 they appear out of date or not. */ 274 273 274 static int always_make_set = 0; 275 275 int always_make_flag = 0; 276 276 … … 365 365 { 366 366 { 'b', ignore, 0, 0, 0, 0, 0, 0, 0 }, 367 { 'B', flag, (char *) &always_make_ flag, 1, 1, 0, 0, 0, "always-make" },367 { 'B', flag, (char *) &always_make_set, 1, 1, 0, 0, 0, "always-make" }, 368 368 { 'C', string, (char *) &directories, 0, 0, 0, 0, 0, "directory" }, 369 369 { 'd', flag, (char *) &debug_flag, 1, 1, 0, 0, 0, 0 }, … … 419 419 { CHAR_MAX+4, flag, (char *) &warn_undefined_variables_flag, 1, 1, 0, 0, 0, 420 420 "warn-undefined-variables" }, 421 { 0 }421 { 0, 0, 0, 0, 0, 0, 0, 0, 0 } 422 422 }; 423 423 … … 488 488 489 489 int posix_pedantic; 490 491 /* Nonzero if we have seen the '.SECONDEXPANSION' target. 492 This turns on secondary expansion of prerequisites. */ 493 494 int second_expansion; 490 495 491 496 /* Nonzero if we have seen the `.NOTPARALLEL' target. … … 536 541 { 537 542 init_hash_global_variable_set (); 543 strcache_init (); 538 544 init_hash_files (); 539 545 hash_init_directories (); … … 666 672 { 667 673 sprintf(errmsg, 668 _("%s: Interrupt/Exception caught (code = 0x% x, addr = 0x%x)\n"),669 prg, exrec->ExceptionCode, exrec->ExceptionAddress);674 _("%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%lx)\n"), 675 prg, exrec->ExceptionCode, (DWORD)exrec->ExceptionAddress); 670 676 fprintf(stderr, errmsg); 671 677 exit(255); … … 673 679 674 680 sprintf(errmsg, 675 _("\nUnhandled exception filter called from program %s\nExceptionCode = % x\nExceptionFlags = %x\nExceptionAddress = %x\n"),681 _("\nUnhandled exception filter called from program %s\nExceptionCode = %lx\nExceptionFlags = %lx\nExceptionAddress = %lx\n"), 676 682 prg, exrec->ExceptionCode, exrec->ExceptionFlags, 677 exrec->ExceptionAddress);683 (DWORD)exrec->ExceptionAddress); 678 684 679 685 if (exrec->ExceptionCode == EXCEPTION_ACCESS_VIOLATION … … 681 687 sprintf(&errmsg[strlen(errmsg)], 682 688 (exrec->ExceptionInformation[0] 683 ? _("Access violation: write operation at address % x\n")684 : _("Access violation: read operation at address % x\n")),689 ? _("Access violation: write operation at address %lx\n") 690 : _("Access violation: read operation at address %lx\n")), 685 691 exrec->ExceptionInformation[1]); 686 692 … … 755 761 batch_mode_shell = 1; 756 762 unixy_shell = 0; 757 sh_found = 0; 763 sprintf (sh_path, "%s", search_token); 764 default_shell = xstrdup (w32ify (sh_path, 0)); 765 DB (DB_VERBOSE, 766 (_("find_and_set_shell setting default_shell = %s\n"), default_shell)); 767 sh_found = 1; 758 768 } else if (!no_default_sh_exe && 759 769 (token == NULL || !strcmp (search_token, default_shell))) { … … 769 779 } else { 770 780 char *p; 771 struct variable *v = lookup_variable ( "PATH", 4);781 struct variable *v = lookup_variable (STRING_SIZE_TUPLE ("PATH")); 772 782 773 783 /* Search Path for shell */ … … 842 852 open_tmpfile(char **name, const char *template) 843 853 { 854 #ifdef HAVE_FDOPEN 844 855 int fd; 856 #endif 845 857 846 858 #if defined HAVE_MKSTEMP || defined HAVE_MKTEMP … … 894 906 struct dep *read_makefiles; 895 907 PATH_VAR (current_directory); 908 unsigned int restarts = 0; 896 909 #ifdef WINDOWS32 897 910 char *unix_path = NULL; … … 917 930 } 918 931 } 932 #endif 933 934 #ifdef HAVE_ATEXIT 935 atexit (close_stdout); 919 936 #endif 920 937 … … 1047 1064 /* Extract program from full path */ 1048 1065 int argv0_len; 1049 char *p = strrchr (argv[0], '\\'); 1050 if (!p) 1051 p = argv[0]; 1052 argv0_len = strlen(p); 1053 if (argv0_len > 4 1054 && streq (&p[argv0_len - 4], ".exe")) 1066 program = strrchr (argv[0], '\\'); 1067 if (program) 1055 1068 { 1056 /* Remove .exe extension */1057 p[argv0_len - 4] = '\0';1058 /* Increment past the initial '\'*/1059 program = p + 1;1069 argv0_len = strlen(program); 1070 if (argv0_len > 4 && streq (&program[argv0_len - 4], ".exe")) 1071 /* Remove .exe extension */ 1072 program[argv0_len - 4] = '\0'; 1060 1073 } 1061 1074 } … … 1101 1114 /* Set up .FEATURES */ 1102 1115 define_variable (".FEATURES", 9, 1103 "target-specific order-only second-expansion ",1116 "target-specific order-only second-expansion else-if", 1104 1117 o_default, 0); 1118 #ifndef NO_ARCHIVES 1119 do_variable_definition (NILF, ".FEATURES", "archives", 1120 o_default, f_append, 0); 1121 #endif 1105 1122 #ifdef MAKE_JOBSERVER 1106 1123 do_variable_definition (NILF, ".FEATURES", "jobserver", … … 1150 1167 1151 1168 /* Another wrinkle is that POSIX says the value of SHELL set in the 1152 makefile should not change the value of SHELL given to 1153 subprocesses, which seems silly to me but... */ 1154 if (strncmp (envp[i], "SHELL=", 6) == 0) 1169 makefile won't change the value of SHELL given to subprocesses */ 1170 if (streq (v->name, "SHELL")) 1155 1171 { 1156 1172 #ifndef __MSDOS__ … … 1159 1175 shell_var.name = "SHELL"; 1160 1176 shell_var.value = xstrdup (ep + 1); 1177 } 1178 1179 /* If MAKE_RESTARTS is set, remember it but don't export it. */ 1180 if (streq (v->name, "MAKE_RESTARTS")) 1181 { 1182 v->export = v_noexport; 1183 restarts = (unsigned int) atoi (ep + 1); 1161 1184 } 1162 1185 } … … 1204 1227 /* Decode the switches. */ 1205 1228 1206 decode_env_switches ( "MAKEFLAGS", 9);1229 decode_env_switches (STRING_SIZE_TUPLE ("MAKEFLAGS")); 1207 1230 #if 0 1208 1231 /* People write things like: 1209 1232 MFLAGS="CC=gcc -pipe" "CFLAGS=-g" 1210 1233 and we set the -p, -i and -e switches. Doesn't seem quite right. */ 1211 decode_env_switches ( "MFLAGS", 6);1234 decode_env_switches (STRING_SIZE_TUPLE ("MFLAGS")); 1212 1235 #endif 1213 1236 decode_switches (argc, argv, 0); 1214 1237 #ifdef WINDOWS32 1215 1238 if (suspend_flag) { 1216 fprintf(stderr, "%s (pid = % d)\n", argv[0], GetCurrentProcessId());1239 fprintf(stderr, "%s (pid = %ld)\n", argv[0], GetCurrentProcessId()); 1217 1240 fprintf(stderr, _("%s is suspending for 30 seconds..."), argv[0]); 1218 1241 Sleep(30 * 1000); … … 1223 1246 decode_debug_flags (); 1224 1247 1248 /* Set always_make_flag if -B was given and we've not restarted already. */ 1249 always_make_flag = always_make_set && (restarts == 0); 1250 1225 1251 /* Print version information. */ 1226 1227 1252 if (print_version_flag || print_data_base_flag || db_level) 1228 print_version (); 1229 1230 /* `make --version' is supposed to just print the version and exit. */ 1231 if (print_version_flag) 1232 die (0); 1253 { 1254 print_version (); 1255 1256 /* `make --version' is supposed to just print the version and exit. */ 1257 if (print_version_flag) 1258 die (0); 1259 } 1233 1260 1234 1261 #ifndef VMS … … 1377 1404 /* Figure out the level of recursion. */ 1378 1405 { 1379 struct variable *v = lookup_variable ( MAKELEVEL_NAME, MAKELEVEL_LENGTH);1406 struct variable *v = lookup_variable (STRING_SIZE_TUPLE (MAKELEVEL_NAME)); 1380 1407 if (v != 0 && v->value[0] != '\0' && v->value[0] != '-') 1381 1408 makelevel = (unsigned int) atoi (v->value); … … 1424 1451 } 1425 1452 1426 (void) define_variable ("CURDIR", 6, current_directory, o_ default, 0);1453 (void) define_variable ("CURDIR", 6, current_directory, o_file, 0); 1427 1454 1428 1455 /* Read any stdin makefiles into temporary files. */ … … 1577 1604 if (no_default_sh_exe) 1578 1605 no_default_sh_exe = !find_and_set_default_shell(NULL); 1579 1580 if (no_default_sh_exe && job_slots != 1) {1581 error (NILF, _("Do not specify -j or --jobs if sh.exe is not available."));1582 error (NILF, _("Resetting make for single job mode."));1583 job_slots = 1;1584 }1585 1606 #endif /* WINDOWS32 */ 1586 1607 … … 1589 1610 { 1590 1611 extern int _is_unixy_shell (const char *_path); 1591 struct variable *shv = lookup_variable ( "SHELL", 5);1612 struct variable *shv = lookup_variable (STRING_SIZE_TUPLE ("SHELL")); 1592 1613 extern int unixy_shell; 1593 1614 extern char *default_shell; … … 1608 1629 1609 1630 /* Decode switches again, in case the variables were set by the makefile. */ 1610 decode_env_switches ( "MAKEFLAGS", 9);1631 decode_env_switches (STRING_SIZE_TUPLE ("MAKEFLAGS")); 1611 1632 #if 0 1612 decode_env_switches ( "MFLAGS", 6);1633 decode_env_switches (STRING_SIZE_TUPLE ("MFLAGS")); 1613 1634 #endif 1614 1635 … … 1761 1782 build_vpath_lists (); 1762 1783 1763 /* Mark files given with -o flags as very old 1764 a nd as having been updated already, and files given with -W flags as1765 brand new (time-stamp as far as possible into the future). */1784 /* Mark files given with -o flags as very old and as having been updated 1785 already, and files given with -W flags as brand new (time-stamp as far 1786 as possible into the future). If restarts is set we'll do -W later. */ 1766 1787 1767 1788 if (old_files != 0) … … 1775 1796 } 1776 1797 1777 if ( new_files != 0)1798 if (!restarts && new_files != 0) 1778 1799 { 1779 1800 for (p = new_files->list; *p != 0; ++p) … … 1835 1856 1836 1857 /* Free the storage. */ 1837 free ((char *)d);1858 free_dep (d); 1838 1859 1839 1860 d = last == 0 ? read_makefiles : last->next; … … 1954 1975 log_working_directory (0); 1955 1976 1977 clean_jobserver (0); 1978 1956 1979 if (makefiles != 0) 1957 1980 { … … 1998 2021 } 1999 2022 2000 #ifndef _AMIGA 2001 for (p = environ; *p != 0; ++p) 2002 if (strneq (*p, MAKELEVEL_NAME, MAKELEVEL_LENGTH) 2003 && (*p)[MAKELEVEL_LENGTH] == '=') 2004 { 2005 /* The SGI compiler apparently can't understand 2006 the concept of storing the result of a function 2007 in something other than a local variable. */ 2008 char *sgi_loses; 2009 sgi_loses = (char *) alloca (40); 2010 *p = sgi_loses; 2011 sprintf (*p, "%s=%u", MAKELEVEL_NAME, makelevel); 2012 break; 2013 } 2014 #else /* AMIGA */ 2015 { 2016 char buffer[256]; 2017 int len; 2018 2019 len = GetVar (MAKELEVEL_NAME, buffer, sizeof (buffer), GVF_GLOBAL_ONLY); 2020 2021 if (len != -1) 2022 { 2023 sprintf (buffer, "%u", makelevel); 2024 SetVar (MAKELEVEL_NAME, buffer, -1, GVF_GLOBAL_ONLY); 2025 } 2026 } 2027 #endif 2023 ++restarts; 2028 2024 2029 2025 if (ISDB (DB_BASIC)) 2030 2026 { 2031 2027 char **p; 2032 fputs (_("Re-executing:"), stdout);2028 printf (_("Re-executing[%u]:"), restarts); 2033 2029 for (p = nargv; *p != 0; ++p) 2034 2030 printf (" %s", *p); 2035 2031 putchar ('\n'); 2036 2032 } 2033 2034 #ifndef _AMIGA 2035 for (p = environ; *p != 0; ++p) 2036 { 2037 if (strneq (*p, MAKELEVEL_NAME, MAKELEVEL_LENGTH) 2038 && (*p)[MAKELEVEL_LENGTH] == '=') 2039 { 2040 /* The SGI compiler apparently can't understand 2041 the concept of storing the result of a function 2042 in something other than a local variable. */ 2043 char *sgi_loses; 2044 sgi_loses = (char *) alloca (40); 2045 *p = sgi_loses; 2046 sprintf (*p, "%s=%u", MAKELEVEL_NAME, makelevel); 2047 } 2048 if (strneq (*p, "MAKE_RESTARTS=", 14)) 2049 { 2050 char *sgi_loses; 2051 sgi_loses = (char *) alloca (40); 2052 *p = sgi_loses; 2053 sprintf (*p, "MAKE_RESTARTS=%u", restarts); 2054 restarts = 0; 2055 } 2056 } 2057 #else /* AMIGA */ 2058 { 2059 char buffer[256]; 2060 2061 sprintf (buffer, "%u", makelevel); 2062 SetVar (MAKELEVEL_NAME, buffer, -1, GVF_GLOBAL_ONLY); 2063 2064 sprintf (buffer, "%u", restarts); 2065 SetVar ("MAKE_RESTARTS", buffer, -1, GVF_GLOBAL_ONLY); 2066 restarts = 0; 2067 } 2068 #endif 2069 2070 /* If we didn't set the restarts variable yet, add it. */ 2071 if (restarts) 2072 { 2073 char *b = alloca (40); 2074 sprintf (b, "MAKE_RESTARTS=%u", restarts); 2075 putenv (b); 2076 } 2037 2077 2038 2078 fflush (stdout); … … 2086 2126 define_makeflags (1, 0); 2087 2127 2128 /* Set always_make_flag if -B was given. */ 2129 always_make_flag = always_make_set; 2130 2131 /* If restarts is set we haven't set up -W files yet, so do that now. */ 2132 if (restarts && new_files != 0) 2133 { 2134 for (p = new_files->list; *p != 0; ++p) 2135 { 2136 f = enter_command_line_file (*p); 2137 f->last_mtime = f->mtime_before_update = NEW_MTIME; 2138 } 2139 } 2140 2088 2141 /* If there is a temp file from reading a makefile from stdin, get rid of 2089 2142 it now. */ … … 2127 2180 } 2128 2181 2129 goals = (struct dep *) xmalloc (sizeof (struct dep)); 2130 goals->next = 0; 2131 goals->name = 0; 2132 goals->ignore_mtime = 0; 2133 goals->need_2nd_expansion = 0; 2182 goals = alloc_dep (); 2134 2183 goals->file = default_goal_file; 2135 2184 } … … 2181 2230 } 2182 2231 2232 /* NOTREACHED */ 2183 2233 return 0; 2184 2234 } … … 2287 2337 if (goals == 0) 2288 2338 { 2289 goals = (struct dep *) xmalloc (sizeof (struct dep));2339 goals = alloc_dep (); 2290 2340 lastgoal = goals; 2291 2341 } 2292 2342 else 2293 2343 { 2294 lastgoal->next = (struct dep *) xmalloc (sizeof (struct dep));2344 lastgoal->next = alloc_dep (); 2295 2345 lastgoal = lastgoal->next; 2296 2346 } 2297 lastgoal->name = 0; 2347 2298 2348 lastgoal->file = f; 2299 lastgoal->ignore_mtime = 0;2300 lastgoal->need_2nd_expansion = 0;2301 2349 2302 2350 { … … 2305 2353 char *value; 2306 2354 2307 v = lookup_variable ( "MAKECMDGOALS", 12);2355 v = lookup_variable (STRING_SIZE_TUPLE ("MAKECMDGOALS")); 2308 2356 if (v == 0) 2309 2357 value = f->name; … … 2896 2944 2897 2945 printf ("%sGNU Make %s\n\ 2898 %sCopyright (C) 200 3Free Software Foundation, Inc.\n",2946 %sCopyright (C) 2006 Free Software Foundation, Inc.\n", 2899 2947 precede, version_string, precede); 2900 2948 … … 2920 2968 2921 2969 static void 2922 print_data_base ( void)2970 print_data_base () 2923 2971 { 2924 2972 time_t when; … … 2932 2980 print_file_data_base (); 2933 2981 print_vpath_data_base (); 2982 strcache_print_stats ("#"); 2934 2983 2935 2984 when = time ((time_t *) 0); 2936 2985 printf (_("\n# Finished Make data base on %s\n"), ctime (&when)); 2986 } 2987 2988 static void 2989 clean_jobserver (int status) 2990 { 2991 char token = '+'; 2992 2993 /* Sanity: have we written all our jobserver tokens back? If our 2994 exit status is 2 that means some kind of syntax error; we might not 2995 have written all our tokens so do that now. If tokens are left 2996 after any other error code, that's bad. */ 2997 2998 if (job_fds[0] != -1 && jobserver_tokens) 2999 { 3000 if (status != 2) 3001 error (NILF, 3002 "INTERNAL: Exiting with %u jobserver tokens (should be 0)!", 3003 jobserver_tokens); 3004 else 3005 while (jobserver_tokens--) 3006 { 3007 int r; 3008 3009 EINTRLOOP (r, write (job_fds[1], &token, 1)); 3010 if (r != 1) 3011 perror_with_name ("write", ""); 3012 } 3013 } 3014 3015 3016 /* Sanity: If we're the master, were all the tokens written back? */ 3017 3018 if (master_job_slots) 3019 { 3020 /* We didn't write one for ourself, so start at 1. */ 3021 unsigned int tcnt = 1; 3022 3023 /* Close the write side, so the read() won't hang. */ 3024 close (job_fds[1]); 3025 3026 while (read (job_fds[0], &token, 1) == 1) 3027 ++tcnt; 3028 3029 if (tcnt != master_job_slots) 3030 error (NILF, 3031 "INTERNAL: Exiting with %u jobserver tokens available; should be %u!", 3032 tcnt, master_job_slots); 3033 3034 close (job_fds[0]); 3035 } 2937 3036 } 2938 3037 … … 2947 3046 if (!dying) 2948 3047 { 2949 char token = '+';2950 3048 int err; 2951 3049 … … 2956 3054 2957 3055 /* Wait for children to die. */ 2958 for (err = (status != 0); job_slots_used > 0; err = 0) 3056 err = (status != 0); 3057 while (job_slots_used > 0) 2959 3058 reap_children (1, err); 2960 3059 … … 2968 3067 print_data_base (); 2969 3068 2970 /* Sanity: have we written all our jobserver tokens back? If our 2971 exit status is 2 that means some kind of syntax error; we might not 2972 have written all our tokens so do that now. If tokens are left 2973 after any other error code, that's bad. */ 2974 2975 if (job_fds[0] != -1 && jobserver_tokens) 2976 { 2977 if (status != 2) 2978 error (NILF, 2979 "INTERNAL: Exiting with %u jobserver tokens (should be 0)!", 2980 jobserver_tokens); 2981 else 2982 while (jobserver_tokens--) 2983 { 2984 int r; 2985 2986 EINTRLOOP (r, write (job_fds[1], &token, 1)); 2987 if (r != 1) 2988 perror_with_name ("write", ""); 2989 } 2990 } 2991 2992 2993 /* Sanity: If we're the master, were all the tokens written back? */ 2994 2995 if (master_job_slots) 2996 { 2997 /* We didn't write one for ourself, so start at 1. */ 2998 unsigned int tcnt = 1; 2999 3000 /* Close the write side, so the read() won't hang. */ 3001 close (job_fds[1]); 3002 3003 while ((err = read (job_fds[0], &token, 1)) == 1) 3004 ++tcnt; 3005 3006 if (tcnt != master_job_slots) 3007 error (NILF, 3008 "INTERNAL: Exiting with %u jobserver tokens available; should be %u!", 3009 tcnt, master_job_slots); 3010 } 3069 clean_jobserver (status); 3011 3070 3012 3071 /* Try to move back to the original directory. This is essential on -
vendor/gnumake/current/make.1
r54 r501 1 .TH MAKE 1 L"22 August 1989" "GNU" "LOCAL USER COMMANDS"1 .TH MAKE 1 "22 August 1989" "GNU" "LOCAL USER COMMANDS" 2 2 .SH NAME 3 3 make \- GNU make utility to maintain groups of programs … … 7 7 .B \-f 8 8 .I makefile 9 ] [ option ] ... 10 target ... 9 ] [ options ] ... [ targets ] ... 11 10 .SH WARNING 12 This man page is an extract of the documentation of 13 .I GNUmake .11 This man page is an extract of the documentation of GNU 12 .IR make . 14 13 It is updated only occasionally, because the GNU project does not use nroff. 15 14 For complete, current documentation, refer to the Info file 16 15 .B make.info 17 16 which is made from the Texinfo source file 18 .BR make.texi nfo.17 .BR make.texi . 19 18 .SH DESCRIPTION 20 19 .LP … … 26 25 The manual describes the GNU implementation of 27 26 .IR make , 28 which was written by Richard Stallman and Roland McGrath. 27 which was written by Richard Stallman and Roland McGrath, and is 28 currently maintained by Paul Smith. 29 29 Our examples show C programs, since they are most common, but you can use 30 30 .I make … … 107 107 .sp 1 108 108 .TP 0.5i 109 .B \-b 110 .TP 0.5i 111 .B \-m 109 .BR \-b , " \-m" 112 110 These options are ignored for compatibility with other versions of 113 111 .IR make . 114 112 .TP 0.5i 115 .BI "\-C " dir 113 .BR \-B , " \-\-always\-make" 114 Unconditionally make all targets. 115 .TP 0.5i 116 \fB\-C\fR \fIdir\fR, \fB\-\-directory\fR=\fIdir\fR 116 117 Change to directory 117 118 .I dir … … 137 138 decides what to do. 138 139 .TP 0.5i 139 .B \-e 140 .BI \-\-debug "[=FLAGS]" 141 Print debugging information in addition to normal processing. 142 If the 143 .I FLAGS 144 are omitted, then the behavior is the same as if 145 .B \-d 146 was specified. 147 .I FLAGS 148 may be 149 .I a 150 for all debugging output (same as using 151 .BR \-d ), 152 .I b 153 for basic debugging, 154 .I v 155 for more verbose basic debugging, 156 .I i 157 for showing implicit rules, 158 .I j 159 for details on invocation of commands, and 160 .I m 161 for debugging while remaking makefiles. 162 .TP 0.5i 163 .BR \-e , " \-\-environment\-overrides" 140 164 Give variables taken from the environment precedence 141 165 over variables from makefiles. 142 166 .TP 0.5i 143 .BI "\-f " file 167 +\fB\-f\fR \fIfile\fR, \fB\-\-file\fR=\fIfile\fR, \fB\-\-makefile\fR=\fIFILE\fR 144 168 Use 145 169 .I file 146 170 as a makefile. 147 171 .TP 0.5i 148 .B \-i172 .BR \-i , " \-\-ignore\-errors" 149 173 Ignore all errors in commands executed to remake files. 150 174 .TP 0.5i 151 .BI "\-I " dir 175 \fB\-I\fR \fIdir\fR, \fB\-\-include\-dir\fR=\fIdir\fR 152 176 Specifies a directory 153 177 .I dir … … 170 194 flag. 171 195 .TP 0.5i 172 .BI "\-j " jobs 173 Specifies the number of jobs (commands) to run simultaneously. 196 \fB\-j\fR [\fIjobs\fR], \fB\-\-jobs\fR[=\fIjobs\fR] 197 Specifies the number of 198 .I jobs 199 (commands) to run simultaneously. 174 200 If there is more than one 175 201 .B \-j … … 181 207 will not limit the number of jobs that can run simultaneously. 182 208 .TP 0.5i 183 .B \-k209 .BR \-k , " \-\-keep\-going" 184 210 Continue as much as possible after an error. 185 211 While the target that failed, and those that depend on it, cannot … … 187 213 all the same. 188 214 .TP 0.5i 189 .B \-l 190 .TP 0.5i 191 .BI "\-l " load 215 \fB\-l\fR [\fIload\fR], \fB\-\-load\-average\fR[=\fIload\fR] 192 216 Specifies that no new jobs (commands) should be started if there are 193 217 others jobs running and the load average is at least … … 196 220 With no argument, removes a previous load limit. 197 221 .TP 0.5i 198 .B \-n 222 .BR \-L , " \-\-check\-symlink\-times" 223 Use the latest mtime between symlinks and target. 224 .TP 0.5i 225 .BR \-n , " \-\-just\-print" , " \-\-dry\-run" , " \-\-recon" 199 226 Print the commands that would be executed, but do not execute them. 200 227 .TP 0.5i 201 .BI "\-o " file 228 \fB\-o\fR \fIfile\fR, \fB\-\-old\-file\fR=\fIfile\fR, \fB\-\-assume\-old\fR=\fIfile\fR 202 229 Do not remake the file 203 230 .I file … … 207 234 Essentially the file is treated as very old and its rules are ignored. 208 235 .TP 0.5i 209 .B \-p236 .BR \-p , " \-\-print\-data\-base" 210 237 Print the data base (rules and variable values) that results from 211 238 reading the makefiles; then execute as usual or as otherwise … … 219 246 .BI \-f /dev/null. 220 247 .TP 0.5i 221 .B \-q248 .BR \-q , " \-\-question" 222 249 ``Question mode''. 223 250 Do not run any commands, or print anything; just return an exit status … … 225 252 otherwise. 226 253 .TP 0.5i 227 .B \-r228 Eliminate use of the built -in implicit rules.254 .BR \-r , " \-\-no\-builtin\-rules" 255 Eliminate use of the built\-in implicit rules. 229 256 Also clear out the default list of suffixes for suffix rules. 230 257 .TP 0.5i 231 .B \-s 258 .BR \-R , " \-\-no\-builtin\-variables" 259 Don't define any built\-in variables. 260 .TP 0.5i 261 .BR \-s , " \-\-silent" , " \-\-quiet" 232 262 Silent operation; do not print the commands as they are executed. 233 263 .TP 0.5i 234 .B \-S264 .BR \-S , " \-\-no\-keep\-going" , " \-\-stop" 235 265 Cancel the effect of the 236 266 .B \-k … … 246 276 in MAKEFLAGS in your environment. 247 277 .TP 0.5i 248 .B \-t278 .BR \-t , " \-\-touch" 249 279 Touch files (mark them up to date without really changing them) 250 280 instead of running their commands. … … 253 283 .IR make . 254 284 .TP 0.5i 255 .B \-v285 .BR \-v , " \-\-version" 256 286 Print the version of the 257 287 .I make … … 259 289 is no warranty. 260 290 .TP 0.5i 261 .B \-w291 .BR \-w , " \-\-print\-directory" 262 292 Print a message containing the working directory 263 293 before and after other processing. … … 267 297 commands. 268 298 .TP 0.5i 269 .BI "\-W " file 299 .B \-\-no\-print\-directory 300 Turn off 301 .BR \-w , 302 even if it was turned on implicitly. 303 .TP 0.5i 304 \fB\-W\fR \fIfile\fR, \fB\-\-what\-if\fR=\fIfile\fR, \fB\-\-new\-file\fR=\fIfile\fR, \fB\-\-assume\-new\fR=\fIfile\fR 270 305 Pretend that the target 271 306 .I file … … 282 317 except that the modification time is changed only in the imagination of 283 318 .IR make . 319 .TP 0.5i 320 .B \-\-warn\-undefined\-variables 321 Warn when an undefined variable is referenced. 322 .SH "EXIT STATUS" 323 GNU 324 .I make 325 exits with a status of zero if all makefiles were successfully parsed 326 and no targets that were built failed. A status of one will be returned 327 if the 328 .B \-q 329 flag was used and 330 .I make 331 determines that a target needs to be rebuilt. A status of two will be 332 returned if any errors were encountered. 284 333 .SH "SEE ALSO" 285 334 .I "The GNU Make Manual" 286 335 .SH BUGS 287 336 See the chapter `Problems and Bugs' in 288 .I "The GNU Make Manual" .337 .IR "The GNU Make Manual" . 289 338 .SH AUTHOR 290 339 This manual page contributed by Dennis Morse of Stanford University. 291 It has been reworked by Roland McGrath. 340 It has been reworked by Roland McGrath. Further updates contributed by 341 Mike Frysinger. 342 .SH "COPYRIGHT" 343 Copyright (C) 1992, 1993, 1996, 1999 Free Software Foundation, Inc. 344 This file is part of GNU 345 .IR make . 346 .LP 347 GNU 348 .I make 349 is free software; you can redistribute it and/or modify it under the 350 terms of the GNU General Public License as published by the Free 351 Software Foundation; either version 2, or (at your option) any later 352 version. 353 .LP 354 GNU 355 .I make 356 is distributed in the hope that it will be useful, but WITHOUT ANY 357 WARRANTY; without even the implied warranty of MERCHANTABILITY or 358 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 359 for more details. 360 .LP 361 You should have received a copy of the GNU General Public License 362 along with GNU 363 .IR make ; 364 see the file COPYING. If not, write to the Free Software Foundation, 365 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. -
vendor/gnumake/current/make.h
r280 r501 1 1 /* Miscellaneous global declarations and portability cruft for GNU Make. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999, 3 2002 Free Software Foundation, Inc. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 4 5 This file is part of GNU Make. 5 6 6 GNU Make is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2, or (at your option) 9 any later version. 10 11 GNU Make is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with GNU Make; see the file COPYING. If not, write to 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 Boston, MA 02111-1307, USA. */ 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 20 18 21 19 /* We use <config.h> instead of "config.h" so that a compilation … … 43 41 44 42 /* Use prototypes if available. */ 45 #if defined (__cplusplus) || (defined (__STDC__) &&__STDC__)43 #if defined (__cplusplus) || defined (__STDC__) 46 44 # undef PARAMS 47 45 # define PARAMS(protos) protos … … 277 275 # endif 278 276 279 #endif /* ANSI_STRING. */280 #undef ANSI_STRING281 282 277 /* SCO Xenix has a buggy macro definition in <string.h>. */ 283 278 #undef strerror 284 285 #if !defined(ANSI_STRING) && !defined(__DECC) 279 #if !defined(__DECC) 286 280 extern char *strerror PARAMS ((int errnum)); 287 281 #endif 282 283 #endif /* !ANSI_STRING. */ 284 #undef ANSI_STRING 288 285 289 286 #if HAVE_INTTYPES_H … … 359 356 #endif 360 357 358 /* This is needed for getcwd() and chdir(). */ 359 #if defined(_MSC_VER) || defined(__BORLANDC__) 360 # include <direct.h> 361 #endif 362 361 363 #ifdef WINDOWS32 362 364 # include <fcntl.h> … … 379 381 struct floc 380 382 { 381 c har *filenm;383 const char *filenm; 382 384 unsigned long lineno; 383 385 }; … … 423 425 extern char *end_of_token PARAMS ((const char *)); 424 426 extern void collapse_continuations PARAMS ((char *)); 425 extern void remove_comments PARAMS((char *));426 427 extern char *lindex PARAMS ((const char *, const char *, int)); 427 428 extern int alpha_compare PARAMS ((const void *, const void *)); 428 429 extern void print_spaces PARAMS ((unsigned int)); 429 extern char *find_char_unquote PARAMS ((char *, int, int, int));430 430 extern char *find_percent PARAMS ((char *)); 431 431 extern FILE *open_tmpfile PARAMS ((char **, const char *)); … … 461 461 extern void child_access PARAMS ((void)); 462 462 463 extern char * 464 strip_whitespace PARAMS ((const char **begpp, const char **endpp)); 465 463 extern void close_stdout PARAMS ((void)); 464 465 extern char *strip_whitespace PARAMS ((const char **begpp, const char **endpp)); 466 467 /* String caching */ 468 extern void strcache_init PARAMS ((void)); 469 extern void strcache_print_stats PARAMS ((const char *prefix)); 470 extern int strcache_iscached PARAMS ((const char *str)); 471 extern const char *strcache_add PARAMS ((const char *str)); 472 extern const char *strcache_add_len PARAMS ((const char *str, int len)); 473 extern int strcache_setbufsize PARAMS ((int size)); 466 474 467 475 #ifdef HAVE_VFORK_H … … 484 492 # if !defined(VMS) && !defined(__DECC) 485 493 extern char *getcwd (); 486 # endif494 # endif 487 495 #else 488 496 extern char *getwd (); … … 491 499 492 500 extern const struct floc *reading_file; 501 extern const struct floc **expanding_var; 493 502 494 503 extern char **environ; … … 499 508 extern int print_version_flag, print_directory_flag, check_symlink_flag; 500 509 extern int warn_undefined_variables_flag, posix_pedantic, not_parallel; 501 extern int clock_skew_detected, rebuilding_makefiles;510 extern int second_expansion, clock_skew_detected, rebuilding_makefiles; 502 511 503 512 /* can we run commands via 'sh -c xxx' or must we use batch files? */ -
vendor/gnumake/current/make.lnk
r54 r501 1 FROM LIB:cres.o "commands.o"+"job.o"+"dir.o"+"file.o"+"misc.o"+"main.o"+"read.o"+"remake.o"+"rule.o"+"implicit.o"+"default.o"+"variable.o"+"expand.o"+"function.o"+"vpath.o"+"version.o"+"ar.o"+"arscan.o"+"signame.o"+"remote-stub.o"+"getopt.o"+"getopt1.o"+"alloca.o"+"amiga.o" 1 FROM LIB:cres.o "commands.o"+"job.o"+"dir.o"+"file.o"+"misc.o"+"main.o"+"read.o"+"remake.o"+"rule.o"+"implicit.o"+"default.o"+"variable.o"+"expand.o"+"function.o"+"vpath.o"+"version.o"+"ar.o"+"arscan.o"+"signame.o"+"remote-stub.o"+"getopt.o"+"getopt1.o"+"alloca.o"+"amiga.o"+"hash.o"+"strcache.o" 2 2 TO "make.new" 3 3 LIB glob/glob.lib LIB:sc.lib LIB:amiga.lib -
vendor/gnumake/current/makefile.com
r54 r501 13 13 $! hb 14 14 $! But don't ask Martin Zinser about the lines, I added/changed. 15 $! In case of an error do some cleanup 15 $! In case of an error do some cleanup 16 16 $ on error then $ goto cleanup 17 17 $! in case somebody set up her/his own symbol for cc … … 34 34 $ ccopt = "" 35 35 $ else 36 $ ccopt = "/decc/prefix= all"36 $ ccopt = "/decc/prefix=(all,except=(globfree,glob))" 37 37 $ if f$trnlnm("SYS").eqs."" 38 38 $ then … … 69 69 $ filelist = "alloca ar arscan commands default dir expand file function " + - 70 70 "hash implicit job main misc read remake remote-stub rule " + - 71 "signame variable version vmsfunctions vmsify vpath " + - 72 "[.glob]glob [.glob]fnmatch getopt1 getopt "71 "signame variable version vmsfunctions vmsify vpath " + - 72 "[.glob]glob [.glob]fnmatch getopt1 getopt strcache" 73 73 $ copy config.h-vms config.h 74 74 $ n=0 … … 96 96 $ exit 97 97 $! 98 $!----------------------------------------------------------------------------- -98 $!----------------------------------------------------------------------------- 99 99 $! 100 100 $! Check if this is a define relating to the properties of the C/C++ … … 102 102 $! 103 103 $CHECK_CC_QUAL: 104 $ open/write tmpc 'tc 104 $ open/write tmpc 'tc 105 105 $ ccqual = "/warn=(disable=questcompare)" 106 106 $ write tmpc "#include <stdio.h>" 107 107 $ write tmpc "unsigned int i = 1;" 108 108 $ write tmpc "int main(){" 109 $ write tmpc "if (i < 0){printf(""Mission impossible\n"");}}" 109 $ write tmpc "if (i < 0){printf(""Mission impossible\n"");}}" 110 110 $ close tmpc 111 111 $ gosub cc_qual_check 112 112 $ return 113 113 $! 114 $!----------------------------------------------------------------------------- -114 $!----------------------------------------------------------------------------- 115 115 $! 116 116 $! Check for properties of C/C++ compiler … … 123 123 $ set message/fac/ident/sever/text 124 124 $ delete/nolog 'tmpnam'.*;* 125 $ if cc_qual then ccopt = ccopt + ccqual 125 $ if cc_qual then ccopt = ccopt + ccqual 126 126 $ return 127 $!----------------------------------------------------------------------------- -127 $!----------------------------------------------------------------------------- 128 128 $! 129 129 $ compileit : subroutine … … 132 132 $ if ploc .lt. f$length(p1) then filnam=f$extract(ploc+1,100,p1) 133 133 $ write optf "''filnam'" 134 $ cc'ccopt'/include=([],[.glob]) - 135 /define=("allocated_variable_expand_for_file=alloc_var_expand_for_file","unlink=remove","HAVE_CONFIG_H","VMS") - 134 $ cc'ccopt'/include=([],[.glob]) - 135 /define=("allocated_variable_expand_for_file=alloc_var_expand_for_file","unlink=remove","HAVE_CONFIG_H","VMS") - 136 136 'p1' 137 137 $ exit 138 138 $ endsubroutine : compileit 139 $! 140 $!----------------------------------------------------------------------------- 141 $!Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 142 $!2006 Free Software Foundation, Inc. 143 $!This file is part of GNU Make. 144 $! 145 $!GNU Make is free software; you can redistribute it and/or modify it under the 146 $!terms of the GNU General Public License as published by the Free Software 147 $!Foundation; either version 2, or (at your option) any later version. 148 $! 149 $!GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 150 $!WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 151 $!A PARTICULAR PURPOSE. See the GNU General Public License for more details. 152 $! 153 $!You should have received a copy of the GNU General Public License along with 154 $!GNU Make; see the file COPYING. If not, write to the Free Software 155 $!Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -
vendor/gnumake/current/makefile.vms
r280 r501 1 # Copyright (C) 1988, 1989, 1996, 1997 Free Software Foundation, Inc. 1 # -*-Makefile-*- to build GNU make on VMS 2 # 3 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 4 # 2006 Free Software Foundation, Inc. 2 5 # This file is part of GNU Make. 3 6 # 7 # GNU Make is free software; you can redistribute it and/or modify it under the 8 # terms of the GNU General Public License as published by the Free Software 9 # Foundation; either version 2, or (at your option) any later version. 10 # 11 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 # 15 # You should have received a copy of the GNU General Public License along with 16 # GNU Make; see the file COPYING. If not, write to the Free Software 17 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 4 19 # VMS extensions from GNU Make 3.60 imported by 5 20 # Klaus Kämpf ([email protected]) … … 7 22 # Modified for version 3.80 by [email protected] 8 23 # Modified for version 3.81 by Hartmut Becker 9 #10 # GNU Make is free software; you can redistribute it and/or modify11 # it under the terms of the GNU General Public License as published by12 # the Free Software Foundation; either version 2, or (at your option)13 # any later version.14 #15 # GNU Make is distributed in the hope that it will be useful,16 # but WITHOUT ANY WARRANTY; without even the implied warranty of17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the18 # GNU General Public License for more details.19 #20 # You should have received a copy of the GNU General Public License21 # along with GNU Make; see the file COPYING. If not, write to22 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,23 # Boston, MA 02111-1307, USA.24 24 25 25 CC = cc … … 33 33 34 34 ifeq ($(CC),cc) 35 CFLAGS = $(defines) /include=([],[.glob])/prefix=(all,except=(glob,globfree))/standard=relaxed 35 CFLAGS = $(defines) /include=([],[.glob])/prefix=(all,except=(glob,globfree))/standard=relaxed/warn=(disable=questcompare) 36 36 else 37 37 CFLAGS = $(defines) /include=([],[.glob]) … … 91 91 objs = commands.obj,job.obj,dir.obj,file.obj,misc.obj,hash.obj,\ 92 92 main.obj,read.obj,remake.obj,rule.obj,implicit.obj,\ 93 default.obj,variable.obj,expand.obj,function.obj, \93 default.obj,variable.obj,expand.obj,function.obj,strcache.obj,\ 94 94 vpath.obj,version.obj$(ARCHIVES)$(ALLOCA)$(extras)$(getopt)$(glob) 95 srcs = commands.c job.c dir.c file.c misc.c hash.c \95 srcs = commands.c job.c dir.c file.c misc.c hash.c \ 96 96 main.c read.c remake.c rule.c implicit.c \ 97 default.c variable.c expand.c function.c \97 default.c variable.c expand.c function.c strcache.c \ 98 98 vpath.c version.c vmsfunctions.c vmsify.c $(ARCHIVES_SRC) $(ALLOCASRC) \ 99 99 commands.h dep.h filedef.h job.h make.h rule.h variable.h … … 117 117 # Automatically generated dependencies. 118 118 commands.obj: commands.c make.h dep.h commands.h filedef.h variable.h job.h 119 job.obj: job.c make.h commands.h job.h filedef.h variable.h119 job.obj: job.c vmsjobs.c make.h commands.h job.h filedef.h variable.h 120 120 dir.obj: dir.c make.h 121 121 file.obj: file.c make.h commands.h dep.h filedef.h variable.h 122 122 misc.obj: misc.c make.h dep.h 123 123 hash.obj: hash.c make.h hash.h 124 strcache.obj: strcache.c make.h hash.h 124 125 main.obj: main.c make.h commands.h dep.h filedef.h variable.h job.h 125 126 read.obj: read.c make.h commands.h dep.h filedef.h variable.h -
vendor/gnumake/current/misc.c
r280 r501 1 1 /* Miscellaneous generic support functions for GNU Make. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1997, 3 2002 Free Software Foundation, Inc. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 4 5 This file is part of GNU Make. 5 6 6 GNU Make is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2, or (at your option) 9 any later version. 10 11 GNU Make is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with GNU Make; see the file COPYING. If not, write to 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 Boston, MA 02111-1307, USA. */ 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 20 18 21 19 #include "make.h" … … 153 151 154 152 155 /* Remove comments from LINE.156 This is done by copying the text at LINE onto itself. */157 158 void159 remove_comments (char *line)160 {161 char *comment;162 163 comment = find_char_unquote (line, '#', 0, 0);164 165 if (comment != 0)166 /* Cut off the line at the #. */167 *comment = '\0';168 }169 170 171 153 /* Print N spaces (used in debug for target-depth). */ 172 154 … … 506 488 507 489 490 491 /* Allocate a new `struct dep' with all fields initialized to 0. */ 492 493 struct dep * 494 alloc_dep () 495 { 496 struct dep *d = (struct dep *) xmalloc (sizeof (struct dep)); 497 bzero ((char *) d, sizeof (struct dep)); 498 return d; 499 } 500 501 502 /* Free `struct dep' along with `name' and `stem'. */ 503 504 void 505 free_dep (struct dep *d) 506 { 507 if (d->name != 0) 508 free (d->name); 509 510 if (d->stem != 0) 511 free (d->stem); 512 513 free ((char *)d); 514 } 515 508 516 /* Copy a chain of `struct dep', making a new chain 509 517 with the same contents as the old one. */ 510 518 511 519 struct dep * 512 copy_dep_chain ( struct dep *d)520 copy_dep_chain (const struct dep *d) 513 521 { 514 522 register struct dep *c; … … 520 528 c = (struct dep *) xmalloc (sizeof (struct dep)); 521 529 bcopy ((char *) d, (char *) c, sizeof (struct dep)); 530 522 531 if (c->name != 0) 523 532 c->name = xstrdup (c->name); 533 if (c->stem != 0) 534 c->stem = xstrdup (c->stem); 535 524 536 c->next = 0; 525 537 if (firstnew == 0) … … 534 546 } 535 547 548 /* Free a chain of 'struct dep'. */ 549 550 void 551 free_dep_chain (struct dep *d) 552 { 553 while (d != 0) 554 { 555 struct dep *df = d; 556 d = d->next; 557 free_dep (df); 558 } 559 } 560 536 561 537 562 /* Free a chain of `struct nameseq'. Each nameseq->name is freed 538 as well. Can be used on `struct dep' chains.*/563 as well. For `struct dep' chains use free_dep_chain. */ 539 564 540 565 void … … 621 646 622 647 static void 623 log_access (c har *flavor)648 log_access (const char *flavor) 624 649 { 625 650 if (! ISDB (DB_JOBS)) … … 836 861 } 837 862 #endif 863 864 865 866 /* This code is stolen from gnulib. 867 If/when we abandon the requirement to work with K&R compilers, we can 868 remove this (and perhaps other parts of GNU make!) and migrate to using 869 gnulib directly. 870 871 This is called only through atexit(), which means die() has already been 872 invoked. So, call exit() here directly. Apparently that works...? 873 */ 874 875 /* Close standard output, exiting with status 'exit_failure' on failure. 876 If a program writes *anything* to stdout, that program should close 877 stdout and make sure that it succeeds before exiting. Otherwise, 878 suppose that you go to the extreme of checking the return status 879 of every function that does an explicit write to stdout. The last 880 printf can succeed in writing to the internal stream buffer, and yet 881 the fclose(stdout) could still fail (due e.g., to a disk full error) 882 when it tries to write out that buffered data. Thus, you would be 883 left with an incomplete output file and the offending program would 884 exit successfully. Even calling fflush is not always sufficient, 885 since some file systems (NFS and CODA) buffer written/flushed data 886 until an actual close call. 887 888 Besides, it's wasteful to check the return value from every call 889 that writes to stdout -- just let the internal stream state record 890 the failure. That's what the ferror test is checking below. 891 892 It's important to detect such failures and exit nonzero because many 893 tools (most notably `make' and other build-management systems) depend 894 on being able to detect failure in other tools via their exit status. */ 895 896 void 897 close_stdout (void) 898 { 899 int prev_fail = ferror (stdout); 900 int fclose_fail = fclose (stdout); 901 902 if (prev_fail || fclose_fail) 903 { 904 if (fclose_fail) 905 error (NILF, _("write error: %s"), strerror (errno)); 906 else 907 error (NILF, _("write error")); 908 exit (EXIT_FAILURE); 909 } 910 } -
vendor/gnumake/current/po/ChangeLog
r280 r501 1 2006-01-28 Paul D. Smith <[email protected]> 2 3 * LINGUAS: Added new translation for Vietnamese (vi). 4 5 2005-07-14 Paul D. Smith <[email protected]> 6 7 * LINGUAS: Added new translation for Indonesian (id). 8 1 9 2005-05-09 Paul D. Smith <[email protected]> 2 10 … … 44 52 45 53 * POTFILES.in, LINGUAS, Makevars: Created. 54 55 56 Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 57 This file is part of GNU Make. 58 59 GNU Make is free software; you can redistribute it and/or modify it under the 60 terms of the GNU General Public License as published by the Free Software 61 Foundation; either version 2, or (at your option) any later version. 62 63 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 64 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 65 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 66 67 You should have received a copy of the GNU General Public License along with 68 GNU Make; see the file COPYING. If not, write to the Free Software 69 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -
vendor/gnumake/current/po/LINGUAS
r280 r501 1 # Set of available languages: 2 0languages1 # Set of available languages: 23 languages 2 2 3 be da de es fi fr ga gl he hr ja ko nl pl pt_BR ru rw sv tr ukzh_CN3 be da de es fi fr ga gl he hr id ja ko nl pl pt_BR ru rw sv tr uk vi zh_CN 4 4 5 5 # Can't seem to get en@quot and en@boldquot to build properly? -
vendor/gnumake/current/po/Makevars
r53 r501 1 # This is a -*-Makefile-*- 2 # Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 3 # This file is part of GNU Make. 4 # 5 # GNU Make is free software; you can redistribute it and/or modify it under the 6 # terms of the GNU General Public License as published by the Free Software 7 # Foundation; either version 2, or (at your option) any later version. 8 # 9 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 10 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 11 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 12 # 13 # You should have received a copy of the GNU General Public License along with 14 # GNU Make; see the file COPYING. If not, write to the Free Software 15 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 16 17 1 18 # Makefile variables for PO directory in any package using GNU gettext. 2 19 -
vendor/gnumake/current/po/POTFILES.in
r280 r501 1 1 # List of source files containing translatable strings. 2 # Copyright (C) 2002 Free Software Foundation, Inc. 2 # Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 3 # Foundation, Inc. 4 # This file is part of GNU Make. 5 # 6 # GNU Make is free software; you can redistribute it and/or modify it under the 7 # terms of the GNU General Public License as published by the Free Software 8 # Foundation; either version 2, or (at your option) any later version. 9 # 10 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 # 14 # You should have received a copy of the GNU General Public License along with 15 # GNU Make; see the file COPYING. If not, write to the Free Software 16 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 3 17 4 18 ar.c … … 20 34 rule.c 21 35 signame.c 36 strcache.c 22 37 variable.c 23 38 variable.h -
vendor/gnumake/current/po/make.pot
r152 r501 9 9 "Project-Id-Version: PACKAGE VERSION\n" 10 10 "Report-Msgid-Bugs-To: [email protected]\n" 11 "POT-Creation-Date: 200 4-03-06 03:08-0500\n"11 "POT-Creation-Date: 2006-04-01 01:40-0500\n" 12 12 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 13 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 17 17 "Content-Transfer-Encoding: 8bit\n" 18 18 19 #: ar.c:5 519 #: ar.c:53 20 20 #, c-format 21 21 msgid "attempt to use unsupported feature: `%s'" 22 22 msgstr "" 23 23 24 #: ar.c:13 924 #: ar.c:137 25 25 msgid "touch archive member is not available on VMS" 26 26 msgstr "" 27 27 28 #: ar.c:1 7028 #: ar.c:168 29 29 #, c-format 30 30 msgid "touch: Archive `%s' does not exist" 31 31 msgstr "" 32 32 33 #: ar.c:17 333 #: ar.c:171 34 34 #, c-format 35 35 msgid "touch: `%s' is not a valid archive" 36 36 msgstr "" 37 37 38 #: ar.c:1 8038 #: ar.c:178 39 39 #, c-format 40 40 msgid "touch: Member `%s' does not exist in `%s'" 41 41 msgstr "" 42 42 43 #: ar.c:18 743 #: ar.c:185 44 44 #, c-format 45 45 msgid "touch: Bad return code from ar_member_touch on `%s'" … … 80 80 msgstr "" 81 81 82 #: commands.c:4 1582 #: commands.c:422 83 83 msgid "*** Break.\n" 84 84 msgstr "" 85 85 86 #: commands.c:5 0986 #: commands.c:545 87 87 #, c-format 88 88 msgid "*** [%s] Archive member `%s' may be bogus; not deleted" 89 89 msgstr "" 90 90 91 #: commands.c:5 1291 #: commands.c:548 92 92 #, c-format 93 93 msgid "*** Archive member `%s' may be bogus; not deleted" 94 94 msgstr "" 95 95 96 #: commands.c:5 2596 #: commands.c:561 97 97 #, c-format 98 98 msgid "*** [%s] Deleting file `%s'" 99 99 msgstr "" 100 100 101 #: commands.c:5 27101 #: commands.c:563 102 102 #, c-format 103 103 msgid "*** Deleting file `%s'" 104 104 msgstr "" 105 105 106 #: commands.c:5 63106 #: commands.c:599 107 107 msgid "# commands to execute" 108 108 msgstr "" 109 109 110 #: commands.c: 566110 #: commands.c:602 111 111 msgid " (built-in):" 112 112 msgstr "" 113 113 114 #: commands.c: 568114 #: commands.c:604 115 115 #, c-format 116 116 msgid " (from `%s', line %lu):\n" 117 117 msgstr "" 118 118 119 #: dir.c:9 67119 #: dir.c:983 120 120 msgid "" 121 121 "\n" … … 123 123 msgstr "" 124 124 125 #: dir.c:9 79125 #: dir.c:995 126 126 #, c-format 127 127 msgid "# %s: could not be stat'd.\n" 128 128 msgstr "" 129 129 130 #: dir.c:9 83130 #: dir.c:999 131 131 #, c-format 132 132 msgid "# %s (key %s, mtime %d): could not be opened.\n" 133 133 msgstr "" 134 134 135 #: dir.c: 987135 #: dir.c:1003 136 136 #, c-format 137 137 msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" 138 138 msgstr "" 139 139 140 #: dir.c: 992140 #: dir.c:1008 141 141 #, c-format 142 142 msgid "# %s (device %ld, inode %ld): could not be opened.\n" 143 143 msgstr "" 144 144 145 #: dir.c:10 19145 #: dir.c:1035 146 146 #, c-format 147 147 msgid "# %s (key %s, mtime %d): " 148 148 msgstr "" 149 149 150 #: dir.c:10 23150 #: dir.c:1039 151 151 #, c-format 152 152 msgid "# %s (device %d, inode [%d,%d,%d]): " 153 153 msgstr "" 154 154 155 #: dir.c:10 28155 #: dir.c:1044 156 156 #, c-format 157 157 msgid "# %s (device %ld, inode %ld): " 158 158 msgstr "" 159 159 160 #: dir.c:10 34 dir.c:1055160 #: dir.c:1050 dir.c:1071 161 161 msgid "No" 162 162 msgstr "" 163 163 164 #: dir.c:10 37 dir.c:1058164 #: dir.c:1053 dir.c:1074 165 165 msgid " files, " 166 166 msgstr "" 167 167 168 #: dir.c:10 39 dir.c:1060168 #: dir.c:1055 dir.c:1076 169 169 msgid "no" 170 170 msgstr "" 171 171 172 #: dir.c:10 42172 #: dir.c:1058 173 173 msgid " impossibilities" 174 174 msgstr "" 175 175 176 #: dir.c:10 46176 #: dir.c:1062 177 177 msgid " so far." 178 178 msgstr "" 179 179 180 #: dir.c:10 63180 #: dir.c:1079 181 181 #, c-format 182 182 msgid " impossibilities in %lu directories.\n" 183 183 msgstr "" 184 184 185 #: expand.c:1 07185 #: expand.c:128 186 186 #, c-format 187 187 msgid "Recursive variable `%s' references itself (eventually)" 188 188 msgstr "" 189 189 190 #: expand.c:2 48190 #: expand.c:266 191 191 msgid "unterminated variable reference" 192 192 msgstr "" 193 193 194 #: file.c:2 57194 #: file.c:270 195 195 #, c-format 196 196 msgid "Commands were specified for file `%s' at %s:%lu," 197 197 msgstr "" 198 198 199 #: file.c:2 62199 #: file.c:275 200 200 #, c-format 201 201 msgid "Commands for file `%s' were found by implicit rule search," 202 202 msgstr "" 203 203 204 #: file.c:2 65204 #: file.c:278 205 205 #, c-format 206 206 msgid "but `%s' is now considered the same file as `%s'." 207 207 msgstr "" 208 208 209 #: file.c:2 68209 #: file.c:281 210 210 #, c-format 211 211 msgid "Commands for `%s' will be ignored in favor of those for `%s'." 212 212 msgstr "" 213 213 214 #: file.c: 288214 #: file.c:301 215 215 #, c-format 216 216 msgid "can't rename single-colon `%s' to double-colon `%s'" 217 217 msgstr "" 218 218 219 #: file.c: 293219 #: file.c:306 220 220 #, c-format 221 221 msgid "can't rename double-colon `%s' to single-colon `%s'" 222 222 msgstr "" 223 223 224 #: file.c:3 64224 #: file.c:381 225 225 #, c-format 226 226 msgid "*** Deleting intermediate file `%s'" 227 227 msgstr "" 228 228 229 #: file.c:3 68229 #: file.c:385 230 230 msgid "Removing intermediate files...\n" 231 231 msgstr "" 232 232 233 #: file.c: 554233 #: file.c:781 234 234 #, c-format 235 235 msgid "%s: Timestamp out of range; substituting %s" 236 236 msgstr "" 237 237 238 #: file.c: 555238 #: file.c:782 239 239 msgid "Current time" 240 240 msgstr "" 241 241 242 #: file.c: 654242 #: file.c:881 243 243 msgid "# Not a target:" 244 244 msgstr "" 245 245 246 #: file.c: 676246 #: file.c:903 247 247 msgid "# Precious file (prerequisite of .PRECIOUS)." 248 248 msgstr "" 249 249 250 #: file.c: 678250 #: file.c:905 251 251 msgid "# Phony target (prerequisite of .PHONY)." 252 252 msgstr "" 253 253 254 #: file.c: 680254 #: file.c:907 255 255 msgid "# Command-line target." 256 256 msgstr "" 257 257 258 #: file.c: 682259 msgid "# A default or MAKEFILESmakefile."260 msgstr "" 261 262 #: file.c: 684258 #: file.c:909 259 msgid "# A default, MAKEFILES, or -include/sinclude makefile." 260 msgstr "" 261 262 #: file.c:911 263 263 msgid "# Implicit rule search has been done." 264 264 msgstr "" 265 265 266 #: file.c: 685266 #: file.c:912 267 267 msgid "# Implicit rule search has not been done." 268 268 msgstr "" 269 269 270 #: file.c: 687270 #: file.c:914 271 271 #, c-format 272 272 msgid "# Implicit/static pattern stem: `%s'\n" 273 273 msgstr "" 274 274 275 #: file.c: 689275 #: file.c:916 276 276 msgid "# File is an intermediate prerequisite." 277 277 msgstr "" 278 278 279 #: file.c: 692279 #: file.c:919 280 280 msgid "# Also makes:" 281 281 msgstr "" 282 282 283 #: file.c: 698283 #: file.c:925 284 284 msgid "# Modification time never checked." 285 285 msgstr "" 286 286 287 #: file.c: 700287 #: file.c:927 288 288 msgid "# File does not exist." 289 289 msgstr "" 290 290 291 #: file.c: 702291 #: file.c:929 292 292 msgid "# File is very old." 293 293 msgstr "" 294 294 295 #: file.c: 707295 #: file.c:934 296 296 #, c-format 297 297 msgid "# Last modified %s\n" 298 298 msgstr "" 299 299 300 #: file.c: 710300 #: file.c:937 301 301 msgid "# File has been updated." 302 302 msgstr "" 303 303 304 #: file.c: 710304 #: file.c:937 305 305 msgid "# File has not been updated." 306 306 msgstr "" 307 307 308 #: file.c: 714308 #: file.c:941 309 309 msgid "# Commands currently running (THIS IS A BUG)." 310 310 msgstr "" 311 311 312 #: file.c: 717312 #: file.c:944 313 313 msgid "# Dependencies commands running (THIS IS A BUG)." 314 314 msgstr "" 315 315 316 #: file.c: 726316 #: file.c:953 317 317 msgid "# Successfully updated." 318 318 msgstr "" 319 319 320 #: file.c: 730320 #: file.c:957 321 321 msgid "# Needs to be updated (-q is set)." 322 322 msgstr "" 323 323 324 #: file.c: 733324 #: file.c:960 325 325 msgid "# Failed to be updated." 326 326 msgstr "" 327 327 328 #: file.c: 736328 #: file.c:963 329 329 msgid "# Invalid value in `update_status' member!" 330 330 msgstr "" 331 331 332 #: file.c: 743332 #: file.c:970 333 333 msgid "# Invalid value in `command_state' member!" 334 334 msgstr "" 335 335 336 #: file.c: 762336 #: file.c:989 337 337 msgid "" 338 338 "\n" … … 340 340 msgstr "" 341 341 342 #: file.c: 766342 #: file.c:993 343 343 msgid "" 344 344 "\n" … … 347 347 msgstr "" 348 348 349 #: function.c:7 21349 #: function.c:759 350 350 msgid "non-numeric first argument to `word' function" 351 351 msgstr "" 352 352 353 #: function.c:7 25353 #: function.c:764 354 354 msgid "first argument to `word' function must be greater than 0" 355 355 msgstr "" 356 356 357 #: function.c:7 46357 #: function.c:785 358 358 msgid "non-numeric first argument to `wordlist' function" 359 359 msgstr "" 360 360 361 #: function.c:7 48361 #: function.c:787 362 362 msgid "non-numeric second argument to `wordlist' function" 363 363 msgstr "" 364 364 365 #: function.c:1 295366 #, c-format 367 msgid "create_child_process: DuplicateHandle(In) failed (e=% d)\n"368 msgstr "" 369 370 #: function.c:1 306371 #, c-format 372 msgid "create_child_process: DuplicateHandle(Err) failed (e=% d)\n"373 msgstr "" 374 375 #: function.c:1 311376 #, c-format 377 msgid "CreatePipe() failed (e=% d)\n"378 msgstr "" 379 380 #: function.c:1 316365 #: function.c:1453 366 #, c-format 367 msgid "create_child_process: DuplicateHandle(In) failed (e=%ld)\n" 368 msgstr "" 369 370 #: function.c:1464 371 #, c-format 372 msgid "create_child_process: DuplicateHandle(Err) failed (e=%ld)\n" 373 msgstr "" 374 375 #: function.c:1469 376 #, c-format 377 msgid "CreatePipe() failed (e=%ld)\n" 378 msgstr "" 379 380 #: function.c:1474 381 381 msgid "windows32_openpipe (): process_init_fd() failed\n" 382 382 msgstr "" 383 383 384 #: function.c:1 566384 #: function.c:1725 385 385 #, c-format 386 386 msgid "Cleaning up temporary batch file %s\n" 387 387 msgstr "" 388 388 389 #: function.c: 1784390 #, c-format 391 msgid " Insufficient number of arguments (%d) to function `%s'"392 msgstr "" 393 394 #: function.c: 1795395 #, c-format 396 msgid " Unimplemented on this platform: function `%s'"397 msgstr "" 398 399 #: function.c: 1846389 #: function.c:2101 390 #, c-format 391 msgid "insufficient number of arguments (%d) to function `%s'" 392 msgstr "" 393 394 #: function.c:2113 395 #, c-format 396 msgid "unimplemented on this platform: function `%s'" 397 msgstr "" 398 399 #: function.c:2163 400 400 #, c-format 401 401 msgid "unterminated call to function `%s': missing `%c'" … … 457 457 msgstr "" 458 458 459 #: hash.c:5 2459 #: hash.c:51 460 460 #, c-format 461 461 msgid "can't allocate %ld bytes for hash table: memory exhausted" 462 462 msgstr "" 463 463 464 #: hash.c:28 3464 #: hash.c:282 465 465 #, c-format 466 466 msgid "Load=%ld/%ld=%.0f%%, " 467 467 msgstr "" 468 468 469 #: hash.c:284 470 #, c-format 471 msgid "Rehash=%d, " 472 msgstr "" 473 469 474 #: hash.c:285 470 475 #, c-format 471 msgid "Rehash=%d, "472 msgstr ""473 474 #: hash.c:286475 #, c-format476 476 msgid "Collisions=%ld/%ld=%.0f%%" 477 477 msgstr "" 478 478 479 #: implicit.c: 38479 #: implicit.c:41 480 480 #, c-format 481 481 msgid "Looking for an implicit rule for `%s'.\n" 482 482 msgstr "" 483 483 484 #: implicit.c:5 4484 #: implicit.c:57 485 485 #, c-format 486 486 msgid "Looking for archive-member implicit rule for `%s'.\n" 487 487 msgstr "" 488 488 489 #: implicit.c: 199489 #: implicit.c:319 490 490 msgid "Avoiding implicit rule recursion.\n" 491 491 msgstr "" 492 492 493 #: implicit.c: 337493 #: implicit.c:476 494 494 #, c-format 495 495 msgid "Trying pattern rule with stem `%.*s'.\n" 496 496 msgstr "" 497 497 498 #: implicit.c: 378498 #: implicit.c:667 499 499 #, c-format 500 500 msgid "Rejecting impossible implicit prerequisite `%s'.\n" 501 501 msgstr "" 502 502 503 #: implicit.c: 379503 #: implicit.c:668 504 504 #, c-format 505 505 msgid "Rejecting impossible rule prerequisite `%s'.\n" 506 506 msgstr "" 507 507 508 #: implicit.c: 389508 #: implicit.c:678 509 509 #, c-format 510 510 msgid "Trying implicit prerequisite `%s'.\n" 511 511 msgstr "" 512 512 513 #: implicit.c: 390513 #: implicit.c:679 514 514 #, c-format 515 515 msgid "Trying rule prerequisite `%s'.\n" 516 516 msgstr "" 517 517 518 #: implicit.c: 412518 #: implicit.c:710 519 519 #, c-format 520 520 msgid "Found prerequisite `%s' as VPATH `%s'\n" 521 521 msgstr "" 522 522 523 #: implicit.c: 430523 #: implicit.c:730 524 524 #, c-format 525 525 msgid "Looking for a rule with intermediate file `%s'.\n" 526 526 msgstr "" 527 527 528 #: job.c:300 528 #: job.c:321 529 msgid "Cannot create a temporary file\n" 530 msgstr "" 531 532 #: job.c:388 529 533 #, c-format 530 534 msgid "*** [%s] Error 0x%x (ignored)" 531 535 msgstr "" 532 536 533 #: job.c:3 01537 #: job.c:389 534 538 #, c-format 535 539 msgid "*** [%s] Error 0x%x" 536 540 msgstr "" 537 541 538 #: job.c:3 05542 #: job.c:393 539 543 #, c-format 540 544 msgid "[%s] Error %d (ignored)" 541 545 msgstr "" 542 546 543 #: job.c:3 06547 #: job.c:394 544 548 #, c-format 545 549 msgid "*** [%s] Error %d" 546 550 msgstr "" 547 551 548 #: job.c:3 11552 #: job.c:399 549 553 msgid " (core dumped)" 550 554 msgstr "" 551 555 552 #: job.c:360 553 #, c-format 554 msgid "Warning: Empty redirection\n" 555 msgstr "" 556 557 #: job.c:482 556 #: job.c:488 558 557 msgid "*** Waiting for unfinished jobs...." 559 558 msgstr "" 560 559 561 #: job.c:51 1560 #: job.c:518 562 561 #, c-format 563 562 msgid "Live child 0x%08lx (%s) PID %ld %s\n" 564 563 msgstr "" 565 564 566 #: job.c:5 13 job.c:669 job.c:767 job.c:1388565 #: job.c:520 job.c:701 job.c:804 job.c:1457 567 566 msgid " (remote)" 568 567 msgstr "" 569 568 570 #: job.c:6 66569 #: job.c:698 571 570 #, c-format 572 571 msgid "Reaping losing child 0x%08lx PID %ld %s\n" 573 572 msgstr "" 574 573 575 #: job.c:6 67574 #: job.c:699 576 575 #, c-format 577 576 msgid "Reaping winning child 0x%08lx PID %ld %s\n" 578 577 msgstr "" 579 578 580 #: job.c: 672579 #: job.c:704 581 580 #, c-format 582 581 msgid "Cleaning up temp batch file %s\n" 583 582 msgstr "" 584 583 585 #: job.c: 765584 #: job.c:802 586 585 #, c-format 587 586 msgid "Removing child 0x%08lx PID %ld%s from chain.\n" 588 587 msgstr "" 589 588 590 #: job.c:8 22589 #: job.c:862 591 590 msgid "write jobserver" 592 591 msgstr "" 593 592 594 #: job.c:8 24593 #: job.c:864 595 594 #, c-format 596 595 msgid "Released token for child 0x%08lx (%s).\n" 597 596 msgstr "" 598 597 599 #: job.c:13 20 job.c:2476600 #, c-format 601 msgid "process_easy() failed failed to launch process (e=%d)\n"602 msgstr "" 603 604 #: job.c:13 24 job.c:2480598 #: job.c:1383 599 #, c-format 600 msgid "process_easy() failed to launch process (e=%ld)\n" 601 msgstr "" 602 603 #: job.c:1387 job.c:2020 605 604 #, c-format 606 605 msgid "" … … 609 608 msgstr "" 610 609 611 #: job.c:1 386610 #: job.c:1455 612 611 #, c-format 613 612 msgid "Putting child 0x%08lx (%s) PID %ld%s on the chain.\n" 614 613 msgstr "" 615 614 616 #: job.c:1 630615 #: job.c:1709 617 616 #, c-format 618 617 msgid "Obtained token for child 0x%08lx (%s).\n" 619 618 msgstr "" 620 619 621 #: job.c:1 639620 #: job.c:1718 622 621 msgid "read jobs pipe" 623 622 msgstr "" 624 623 625 #: job.c:1 745624 #: job.c:1832 626 625 msgid "cannot enforce load limits on this operating system" 627 626 msgstr "" 628 627 629 #: job.c:1 747628 #: job.c:1834 630 629 msgid "cannot enforce load limit: " 631 630 msgstr "" 632 631 633 #: job.c:1870 634 #, c-format 635 msgid "internal error: `%s' command_state" 636 msgstr "" 637 638 #: job.c:1955 639 #, c-format 640 msgid "-warning, CTRL-Y will leave sub-process(es) around.\n" 641 msgstr "" 642 643 #: job.c:1972 644 #, c-format 645 msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n" 646 msgstr "" 647 648 #: job.c:2083 649 #, c-format 650 msgid "BUILTIN [%s][%s]\n" 651 msgstr "" 652 653 #: job.c:2094 654 #, c-format 655 msgid "BUILTIN CD %s\n" 656 msgstr "" 657 658 #: job.c:2112 659 #, c-format 660 msgid "BUILTIN RM %s\n" 661 msgstr "" 662 663 #: job.c:2133 664 #, c-format 665 msgid "Unknown builtin command '%s'\n" 666 msgstr "" 667 668 #: job.c:2155 669 #, c-format 670 msgid "Error, empty command\n" 671 msgstr "" 672 673 #: job.c:2162 main.c:1365 674 msgid "fopen (temporary file)" 675 msgstr "" 676 677 #: job.c:2167 678 #, c-format 679 msgid "Redirected input from %s\n" 680 msgstr "" 681 682 #: job.c:2174 683 #, c-format 684 msgid "Redirected error to %s\n" 685 msgstr "" 686 687 #: job.c:2181 688 #, c-format 689 msgid "Redirected output to %s\n" 690 msgstr "" 691 692 #: job.c:2244 693 #, c-format 694 msgid "Executing %s instead\n" 695 msgstr "" 696 697 #: job.c:2344 698 #, c-format 699 msgid "Error spawning, %d\n" 700 msgstr "" 701 702 #: job.c:2377 632 #: job.c:1907 703 633 msgid "no more file handles: could not duplicate stdin\n" 704 634 msgstr "" 705 635 706 #: job.c: 2379636 #: job.c:1909 707 637 msgid "no more file handles: could not duplicate stdout\n" 708 638 msgstr "" 709 639 710 #: job.c:2405 711 msgid "restoring of stdin failed\n" 712 msgstr "" 713 714 #: job.c:2407 715 msgid "restoring of stdout failed\n" 716 msgstr "" 717 718 #: job.c:2505 719 #, c-format 720 msgid "make reaped child pid %d, still waiting for pid %d\n" 721 msgstr "" 722 723 #: job.c:2544 640 #: job.c:1937 641 msgid "Could not restore stdin\n" 642 msgstr "" 643 644 #: job.c:1945 645 msgid "Could not restore stdout\n" 646 msgstr "" 647 648 #: job.c:2016 649 #, c-format 650 msgid "process_easy() failed failed to launch process (e=%ld)\n" 651 msgstr "" 652 653 #: job.c:2046 654 #, c-format 655 msgid "make reaped child pid %ld, still waiting for pid %ld\n" 656 msgstr "" 657 658 #: job.c:2085 724 659 #, c-format 725 660 msgid "%s: Command not found" 726 661 msgstr "" 727 662 728 #: job.c:2 588663 #: job.c:2145 729 664 #, c-format 730 665 msgid "%s: Shell program not found" 731 666 msgstr "" 732 667 733 #: job.c:2 597668 #: job.c:2154 734 669 msgid "spawnvpe: environment space might be exhausted" 735 670 msgstr "" 736 671 737 #: job.c:2 802672 #: job.c:2363 738 673 #, c-format 739 674 msgid "$SHELL changed (was `%s', now `%s')\n" 740 675 msgstr "" 741 676 742 #: job.c: 3223677 #: job.c:2789 743 678 #, c-format 744 679 msgid "Creating temporary batch file %s\n" 745 680 msgstr "" 746 681 747 #: job.c: 3363682 #: job.c:2902 748 683 #, c-format 749 684 msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" 750 685 msgstr "" 751 686 752 #: main.c:2 68687 #: main.c:291 753 688 msgid "Options:\n" 754 689 msgstr "" 755 690 756 #: main.c:2 69691 #: main.c:292 757 692 msgid " -b, -m Ignored for compatibility.\n" 758 693 msgstr "" 759 694 760 #: main.c:2 71695 #: main.c:294 761 696 msgid " -B, --always-make Unconditionally make all targets.\n" 762 697 msgstr "" 763 698 764 #: main.c:2 73699 #: main.c:296 765 700 msgid "" 766 701 " -C DIRECTORY, --directory=DIRECTORY\n" … … 768 703 msgstr "" 769 704 770 #: main.c:2 76705 #: main.c:299 771 706 msgid " -d Print lots of debugging information.\n" 772 707 msgstr "" 773 708 774 #: main.c: 278709 #: main.c:301 775 710 msgid "" 776 711 " --debug[=FLAGS] Print various types of debugging information.\n" 777 712 msgstr "" 778 713 779 #: main.c: 280714 #: main.c:303 780 715 msgid "" 781 716 " -e, --environment-overrides\n" … … 783 718 msgstr "" 784 719 785 #: main.c: 283720 #: main.c:306 786 721 msgid "" 787 722 " -f FILE, --file=FILE, --makefile=FILE\n" … … 789 724 msgstr "" 790 725 791 #: main.c: 286726 #: main.c:309 792 727 msgid " -h, --help Print this message and exit.\n" 793 728 msgstr "" 794 729 795 #: main.c: 288730 #: main.c:311 796 731 msgid " -i, --ignore-errors Ignore errors from commands.\n" 797 732 msgstr "" 798 733 799 #: main.c: 290734 #: main.c:313 800 735 msgid "" 801 736 " -I DIRECTORY, --include-dir=DIRECTORY\n" … … 803 738 msgstr "" 804 739 805 #: main.c: 293740 #: main.c:316 806 741 msgid "" 807 742 " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " … … 809 744 msgstr "" 810 745 811 #: main.c: 295746 #: main.c:318 812 747 msgid "" 813 748 " -k, --keep-going Keep going when some targets can't be made.\n" 814 749 msgstr "" 815 750 816 #: main.c: 297751 #: main.c:320 817 752 msgid "" 818 753 " -l [N], --load-average[=N], --max-load[=N]\n" … … 821 756 msgstr "" 822 757 823 #: main.c:300 758 #: main.c:323 759 msgid "" 760 " -L, --check-symlink-times Use the latest mtime between symlinks and " 761 "target.\n" 762 msgstr "" 763 764 #: main.c:325 824 765 msgid "" 825 766 " -n, --just-print, --dry-run, --recon\n" … … 828 769 msgstr "" 829 770 830 #: main.c:3 03771 #: main.c:328 831 772 msgid "" 832 773 " -o FILE, --old-file=FILE, --assume-old=FILE\n" … … 835 776 msgstr "" 836 777 837 #: main.c:3 06778 #: main.c:331 838 779 msgid " -p, --print-data-base Print make's internal database.\n" 839 780 msgstr "" 840 781 841 #: main.c:3 08782 #: main.c:333 842 783 msgid "" 843 784 " -q, --question Run no commands; exit status says if up to " … … 845 786 msgstr "" 846 787 847 #: main.c:3 10788 #: main.c:335 848 789 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" 849 790 msgstr "" 850 791 851 #: main.c:3 12792 #: main.c:337 852 793 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" 853 794 msgstr "" 854 795 855 #: main.c:3 14796 #: main.c:339 856 797 msgid " -s, --silent, --quiet Don't echo commands.\n" 857 798 msgstr "" 858 799 859 #: main.c:3 16800 #: main.c:341 860 801 msgid "" 861 802 " -S, --no-keep-going, --stop\n" … … 863 804 msgstr "" 864 805 865 #: main.c:3 19806 #: main.c:344 866 807 msgid " -t, --touch Touch targets instead of remaking them.\n" 867 808 msgstr "" 868 809 869 #: main.c:3 21810 #: main.c:346 870 811 msgid "" 871 812 " -v, --version Print the version number of make and exit.\n" 872 813 msgstr "" 873 814 874 #: main.c:3 23815 #: main.c:348 875 816 msgid " -w, --print-directory Print the current directory.\n" 876 817 msgstr "" 877 818 878 #: main.c:3 25819 #: main.c:350 879 820 msgid "" 880 821 " --no-print-directory Turn off -w, even if it was turned on " … … 882 823 msgstr "" 883 824 884 #: main.c:3 27825 #: main.c:352 885 826 msgid "" 886 827 " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" … … 888 829 msgstr "" 889 830 890 #: main.c:3 30831 #: main.c:355 891 832 msgid "" 892 833 " --warn-undefined-variables Warn when an undefined variable is " … … 894 835 msgstr "" 895 836 896 #: main.c:5 12837 #: main.c:549 897 838 msgid "empty string invalid as file name" 898 839 msgstr "" 899 840 900 #: main.c: 591841 #: main.c:630 901 842 #, c-format 902 843 msgid "unknown debug level specification `%s'" 903 844 msgstr "" 904 845 905 #: main.c:6 31906 #, c-format 907 msgid "%s: Interrupt/Exception caught (code = 0x% x, addr = 0x%x)\n"908 msgstr "" 909 910 #: main.c:6 38846 #: main.c:670 847 #, c-format 848 msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%lx)\n" 849 msgstr "" 850 851 #: main.c:677 911 852 #, c-format 912 853 msgid "" 913 854 "\n" 914 855 "Unhandled exception filter called from program %s\n" 915 "ExceptionCode = % x\n"916 "ExceptionFlags = % x\n"917 "ExceptionAddress = % x\n"918 msgstr "" 919 920 #: main.c:6 46921 #, c-format 922 msgid "Access violation: write operation at address % x\n"923 msgstr "" 924 925 #: main.c:6 47926 #, c-format 927 msgid "Access violation: read operation at address % x\n"928 msgstr "" 929 930 #: main.c:7 12856 "ExceptionCode = %lx\n" 857 "ExceptionFlags = %lx\n" 858 "ExceptionAddress = %lx\n" 859 msgstr "" 860 861 #: main.c:685 862 #, c-format 863 msgid "Access violation: write operation at address %lx\n" 864 msgstr "" 865 866 #: main.c:686 867 #, c-format 868 msgid "Access violation: read operation at address %lx\n" 869 msgstr "" 870 871 #: main.c:762 main.c:773 931 872 #, c-format 932 873 msgid "find_and_set_shell setting default_shell = %s\n" 933 874 msgstr "" 934 875 935 #: main.c: 755876 #: main.c:814 936 877 #, c-format 937 878 msgid "find_and_set_shell path search set default_shell = %s\n" 938 879 msgstr "" 939 880 940 #: main.c:1 111881 #: main.c:1236 941 882 #, c-format 942 883 msgid "%s is suspending for 30 seconds..." 943 884 msgstr "" 944 885 945 #: main.c:1 113886 #: main.c:1238 946 887 #, c-format 947 888 msgid "done sleep(30). Continuing.\n" 948 889 msgstr "" 949 890 950 #: main.c:1 326891 #: main.c:1466 951 892 msgid "Makefile from standard input specified twice." 952 893 msgstr "" 953 894 954 #: main.c:1371 895 #: main.c:1505 vmsjobs.c:486 896 msgid "fopen (temporary file)" 897 msgstr "" 898 899 #: main.c:1511 955 900 msgid "fwrite (temporary file)" 956 901 msgstr "" 957 902 958 #: main.c:1459 959 msgid "Do not specify -j or --jobs if sh.exe is not available." 960 msgstr "" 961 962 #: main.c:1460 963 msgid "Resetting make for single job mode." 964 msgstr "" 965 966 #: main.c:1501 903 #: main.c:1640 967 904 msgid "Parallel jobs (-j) are not supported on this platform." 968 905 msgstr "" 969 906 970 #: main.c:1 502907 #: main.c:1641 971 908 msgid "Resetting to single job (-j1) mode." 972 909 msgstr "" 973 910 974 #: main.c:1 517911 #: main.c:1656 975 912 msgid "internal error: multiple --jobserver-fds options" 976 913 msgstr "" 977 914 978 #: main.c:1 525915 #: main.c:1664 979 916 #, c-format 980 917 msgid "internal error: invalid --jobserver-fds string `%s'" 981 918 msgstr "" 982 919 983 #: main.c:1 535920 #: main.c:1674 984 921 msgid "warning: -jN forced in submake: disabling jobserver mode." 985 922 msgstr "" 986 923 987 #: main.c:1 545924 #: main.c:1684 988 925 msgid "dup jobserver" 989 926 msgstr "" 990 927 991 #: main.c:1 548928 #: main.c:1687 992 929 msgid "" 993 930 "warning: jobserver unavailable: using -j1. Add `+' to parent make rule." 994 931 msgstr "" 995 932 996 #: main.c:1 571933 #: main.c:1710 997 934 msgid "creating jobs pipe" 998 935 msgstr "" 999 936 1000 #: main.c:1 584937 #: main.c:1725 1001 938 msgid "init jobserver pipe" 1002 939 msgstr "" 1003 940 1004 #: main.c:1670 941 #: main.c:1744 942 msgid "Symbolic links not supported: disabling -L." 943 msgstr "" 944 945 #: main.c:1820 1005 946 msgid "Updating makefiles....\n" 1006 947 msgstr "" 1007 948 1008 #: main.c:1 695949 #: main.c:1845 1009 950 #, c-format 1010 951 msgid "Makefile `%s' might loop; not remaking it.\n" 1011 952 msgstr "" 1012 953 1013 #: main.c:1 770954 #: main.c:1924 1014 955 #, c-format 1015 956 msgid "Failed to remake makefile `%s'." 1016 957 msgstr "" 1017 958 1018 #: main.c:1 786959 #: main.c:1941 1019 960 #, c-format 1020 961 msgid "Included makefile `%s' was not found." 1021 962 msgstr "" 1022 963 1023 #: main.c:1 791964 #: main.c:1946 1024 965 #, c-format 1025 966 msgid "Makefile `%s' was not found" 1026 967 msgstr "" 1027 968 1028 #: main.c: 1859969 #: main.c:2016 1029 970 msgid "Couldn't change back to original directory." 1030 971 msgstr "" 1031 972 1032 #: main.c:1894 1033 msgid "Re-executing:" 1034 msgstr "" 1035 1036 #: main.c:1949 973 #: main.c:2024 974 #, c-format 975 msgid "Re-executing[%u]:" 976 msgstr "" 977 978 #: main.c:2140 1037 979 msgid "unlink (temporary file): " 1038 980 msgstr "" 1039 981 1040 #: main.c:1972 982 #: main.c:2169 983 msgid ".DEFAULT_GOAL contains more than one target" 984 msgstr "" 985 986 #: main.c:2189 1041 987 msgid "No targets specified and no makefile found" 1042 988 msgstr "" 1043 989 1044 #: main.c: 1974990 #: main.c:2191 1045 991 msgid "No targets" 1046 992 msgstr "" 1047 993 1048 #: main.c: 1979994 #: main.c:2196 1049 995 msgid "Updating goal targets....\n" 1050 996 msgstr "" 1051 997 1052 #: main.c:2 005998 #: main.c:2222 1053 999 msgid "warning: Clock skew detected. Your build may be incomplete." 1054 1000 msgstr "" 1055 1001 1056 #: main.c:2 1581002 #: main.c:2383 1057 1003 #, c-format 1058 1004 msgid "Usage: %s [options] [target] ...\n" 1059 1005 msgstr "" 1060 1006 1061 #: main.c:2 1641007 #: main.c:2389 1062 1008 #, c-format 1063 1009 msgid "" … … 1066 1012 msgstr "" 1067 1013 1068 #: main.c:2 1661014 #: main.c:2391 1069 1015 #, c-format 1070 1016 msgid "" … … 1073 1019 msgstr "" 1074 1020 1075 #: main.c:2 1691021 #: main.c:2394 1076 1022 #, c-format 1077 1023 msgid "Report bugs to <[email protected]>\n" 1078 1024 msgstr "" 1079 1025 1080 #: main.c:2 2411026 #: main.c:2466 1081 1027 #, c-format 1082 1028 msgid "the `-%c' option requires a non-empty string argument" 1083 1029 msgstr "" 1084 1030 1085 #: main.c:2 2931031 #: main.c:2518 1086 1032 #, c-format 1087 1033 msgid "the `-%c' option requires a positive integral argument" 1088 1034 msgstr "" 1089 1035 1090 #: main.c:2 7171036 #: main.c:2942 1091 1037 #, c-format 1092 1038 msgid "" … … 1096 1042 msgstr "" 1097 1043 1098 #: main.c:2 7231044 #: main.c:2948 1099 1045 #, c-format 1100 1046 msgid "" … … 1103 1049 msgstr "" 1104 1050 1105 #: main.c:2 7251051 #: main.c:2950 1106 1052 #, c-format 1107 1053 msgid "" … … 1110 1056 msgstr "" 1111 1057 1112 #: main.c:2 7431058 #: main.c:2968 1113 1059 #, c-format 1114 1060 msgid "" … … 1117 1063 msgstr "" 1118 1064 1119 #: main.c:2 7521065 #: main.c:2978 1120 1066 #, c-format 1121 1067 msgid "" … … 1124 1070 msgstr "" 1125 1071 1126 #: main.c: 28221072 #: main.c:3101 1127 1073 #, c-format 1128 1074 msgid "%s: Entering an unknown directory\n" 1129 1075 msgstr "" 1130 1076 1131 #: main.c: 28241077 #: main.c:3103 1132 1078 #, c-format 1133 1079 msgid "%s: Leaving an unknown directory\n" 1134 1080 msgstr "" 1135 1081 1136 #: main.c: 28271082 #: main.c:3106 1137 1083 #, c-format 1138 1084 msgid "%s: Entering directory `%s'\n" 1139 1085 msgstr "" 1140 1086 1141 #: main.c: 28301087 #: main.c:3109 1142 1088 #, c-format 1143 1089 msgid "%s: Leaving directory `%s'\n" 1144 1090 msgstr "" 1145 1091 1146 #: main.c: 28351092 #: main.c:3114 1147 1093 #, c-format 1148 1094 msgid "%s[%u]: Entering an unknown directory\n" 1149 1095 msgstr "" 1150 1096 1151 #: main.c: 28381097 #: main.c:3117 1152 1098 #, c-format 1153 1099 msgid "%s[%u]: Leaving an unknown directory\n" 1154 1100 msgstr "" 1155 1101 1156 #: main.c: 28421102 #: main.c:3121 1157 1103 #, c-format 1158 1104 msgid "%s[%u]: Entering directory `%s'\n" 1159 1105 msgstr "" 1160 1106 1161 #: main.c: 28451107 #: main.c:3124 1162 1108 #, c-format 1163 1109 msgid "%s[%u]: Leaving directory `%s'\n" 1164 1110 msgstr "" 1165 1111 1166 #: misc.c: 3031112 #: misc.c:285 1167 1113 msgid ". Stop.\n" 1168 1114 msgstr "" 1169 1115 1116 #: misc.c:306 1117 #, c-format 1118 msgid "Unknown error %d" 1119 msgstr "" 1120 1121 #: misc.c:316 1122 #, c-format 1123 msgid "%s%s: %s" 1124 msgstr "" 1125 1170 1126 #: misc.c:324 1171 1127 #, c-format 1172 msgid "Unknown error %d"1173 msgstr ""1174 1175 #: misc.c:3341176 #, c-format1177 msgid "%s%s: %s"1178 msgstr ""1179 1180 #: misc.c:3421181 #, c-format1182 1128 msgid "%s: %s" 1183 1129 msgstr "" 1184 1130 1185 #: misc.c:3 62 misc.c:377 misc.c:394 read.c:31041131 #: misc.c:344 misc.c:359 misc.c:376 read.c:3127 1186 1132 msgid "virtual memory exhausted" 1187 1133 msgstr "" 1188 1134 1189 #: misc.c:6 281135 #: misc.c:646 1190 1136 #, c-format 1191 1137 msgid "%s: user %lu (real %lu), group %lu (real %lu)\n" 1192 1138 msgstr "" 1193 1139 1194 #: misc.c:6 491140 #: misc.c:667 1195 1141 msgid "Initialized access" 1196 1142 msgstr "" 1197 1143 1198 #: misc.c:7 281144 #: misc.c:746 1199 1145 msgid "User access" 1200 1146 msgstr "" 1201 1147 1202 #: misc.c:7 761148 #: misc.c:794 1203 1149 msgid "Make access" 1204 1150 msgstr "" 1205 1151 1206 #: misc.c:8 101152 #: misc.c:828 1207 1153 msgid "Child access" 1208 1154 msgstr "" 1209 1155 1210 #: read.c:158 1156 #: misc.c:892 1157 #, c-format 1158 msgid "write error: %s" 1159 msgstr "" 1160 1161 #: misc.c:894 1162 msgid "write error" 1163 msgstr "" 1164 1165 #: read.c:160 1211 1166 msgid "Reading makefiles...\n" 1212 1167 msgstr "" 1213 1168 1214 #: read.c:31 61169 #: read.c:315 1215 1170 #, c-format 1216 1171 msgid "Reading makefile `%s'" 1217 1172 msgstr "" 1218 1173 1219 #: read.c:31 81174 #: read.c:317 1220 1175 #, c-format 1221 1176 msgid " (no default goal)" 1222 1177 msgstr "" 1223 1178 1224 #: read.c:3 201179 #: read.c:319 1225 1180 #, c-format 1226 1181 msgid " (search path)" 1227 1182 msgstr "" 1228 1183 1229 #: read.c:32 21184 #: read.c:321 1230 1185 #, c-format 1231 1186 msgid " (don't care)" 1232 1187 msgstr "" 1233 1188 1234 #: read.c:32 41189 #: read.c:323 1235 1190 #, c-format 1236 1191 msgid " (no ~ expansion)" … … 1241 1196 msgstr "" 1242 1197 1243 #: read.c:63 21198 #: read.c:633 1244 1199 msgid "extraneous `endef'" 1245 1200 msgstr "" 1246 1201 1247 #: read.c:64 4 read.c:672 variable.c:12291202 #: read.c:645 read.c:673 variable.c:1316 1248 1203 msgid "empty variable name" 1249 1204 msgstr "" 1250 1205 1251 #: read.c:66 11206 #: read.c:662 1252 1207 msgid "empty `override' directive" 1253 1208 msgstr "" 1254 1209 1255 #: read.c:68 61210 #: read.c:687 1256 1211 msgid "invalid `override' directive" 1257 1212 msgstr "" 1258 1213 1259 #: read.c:801 1260 #, c-format 1261 msgid "no file name for `%sinclude'" 1262 msgstr "" 1263 1264 #: read.c:864 1214 #: read.c:854 1265 1215 msgid "commands commence before first target" 1266 1216 msgstr "" 1267 1217 1268 #: read.c:9 151218 #: read.c:905 1269 1219 msgid "missing rule before commands" 1270 1220 msgstr "" 1271 1221 1272 #: read.c: 10011222 #: read.c:992 1273 1223 #, c-format 1274 1224 msgid "missing separator%s" 1275 1225 msgstr "" 1276 1226 1277 #: read.c: 10031227 #: read.c:994 1278 1228 msgid " (did you mean TAB instead of 8 spaces?)" 1279 1229 msgstr "" 1280 1230 1281 #: read.c:11 731231 #: read.c:1152 1282 1232 msgid "missing target pattern" 1283 1233 msgstr "" 1284 1234 1285 #: read.c:11 751235 #: read.c:1154 1286 1236 msgid "multiple target patterns" 1287 1237 msgstr "" 1288 1238 1289 #: read.c:11 791239 #: read.c:1158 1290 1240 #, c-format 1291 1241 msgid "target pattern contains no `%%'" 1292 1242 msgstr "" 1293 1243 1294 #: read.c:12 381244 #: read.c:1286 1295 1245 msgid "missing `endif'" 1296 1246 msgstr "" 1297 1247 1298 #: read.c:13 141248 #: read.c:1377 1299 1249 msgid "Extraneous text after `endef' directive" 1300 1250 msgstr "" 1301 1251 1302 #: read.c:1 3481252 #: read.c:1411 1303 1253 msgid "missing `endef', unterminated `define'" 1304 1254 msgstr "" 1305 1255 1306 #: read.c:14 00 read.c:15681256 #: read.c:1454 1307 1257 #, c-format 1308 1258 msgid "Extraneous text after `%s' directive" 1309 1259 msgstr "" 1310 1260 1311 #: read.c:14 031261 #: read.c:1463 read.c:1477 1312 1262 #, c-format 1313 1263 msgid "extraneous `%s'" 1314 1264 msgstr "" 1315 1265 1316 #: read.c:14 081266 #: read.c:1482 1317 1267 msgid "only one `else' per conditional" 1318 1268 msgstr "" 1319 1269 1320 #: read.c:1691 1321 msgid "Malformed pattern-specific variable definition" 1322 msgstr "" 1323 1324 #: read.c:1714 1270 #: read.c:1824 1325 1271 msgid "Malformed target-specific variable definition" 1326 1272 msgstr "" 1327 1273 1328 #: read.c:1805 1274 #: read.c:1886 1275 msgid "prerequisites cannot be defined in command scripts" 1276 msgstr "" 1277 1278 #: read.c:1921 1329 1279 msgid "mixed implicit and static pattern rules" 1330 1280 msgstr "" 1331 1281 1332 #: read.c:1 8081282 #: read.c:1924 1333 1283 msgid "mixed implicit and normal rules" 1334 1284 msgstr "" 1335 1285 1336 #: read.c:1 8491286 #: read.c:1954 1337 1287 #, c-format 1338 1288 msgid "target `%s' doesn't match the target pattern" 1339 1289 msgstr "" 1340 1290 1341 #: read.c:1871 1342 #, c-format 1343 msgid "target `%s' leaves prerequisite pattern empty" 1344 msgstr "" 1345 1346 #: read.c:1985 read.c:2085 1291 #: read.c:1973 read.c:2074 1347 1292 #, c-format 1348 1293 msgid "target file `%s' has both : and :: entries" 1349 1294 msgstr "" 1350 1295 1296 #: read.c:1979 1297 #, c-format 1298 msgid "target `%s' given more than once in the same rule." 1299 msgstr "" 1300 1301 #: read.c:1988 1302 #, c-format 1303 msgid "warning: overriding commands for target `%s'" 1304 msgstr "" 1305 1351 1306 #: read.c:1991 1352 1307 #, c-format 1353 msgid "target `%s' given more than once in the same rule."1354 msgstr ""1355 1356 #: read.c:20001357 #, c-format1358 msgid "warning: overriding commands for target `%s'"1359 msgstr ""1360 1361 #: read.c:20031362 #, c-format1363 1308 msgid "warning: ignoring old commands for target `%s'" 1364 1309 msgstr "" 1365 1310 1366 #: read.c:25 571311 #: read.c:2575 1367 1312 msgid "warning: NUL character seen; rest of line ignored" 1368 1313 msgstr "" … … 1378 1323 msgstr "" 1379 1324 1380 #: remake.c:29 61325 #: remake.c:297 1381 1326 #, c-format 1382 1327 msgid "Pruning file `%s'.\n" 1383 1328 msgstr "" 1384 1329 1385 #: remake.c:348 1330 #: remake.c:349 1331 #, c-format 1332 msgid "%sNo rule to make target `%s'%s" 1333 msgstr "" 1334 1335 #: remake.c:351 1336 #, c-format 1337 msgid "%sNo rule to make target `%s', needed by `%s'%s" 1338 msgstr "" 1339 1340 #: remake.c:378 1386 1341 #, c-format 1387 1342 msgid "Considering target file `%s'.\n" 1388 1343 msgstr "" 1389 1344 1390 #: remake.c:3 551345 #: remake.c:385 1391 1346 #, c-format 1392 1347 msgid "Recently tried and failed to update file `%s'.\n" 1393 1348 msgstr "" 1394 1349 1395 #: remake.c: 3591350 #: remake.c:400 1396 1351 #, c-format 1397 1352 msgid "File `%s' was considered already.\n" 1398 1353 msgstr "" 1399 1354 1400 #: remake.c: 3691355 #: remake.c:410 1401 1356 #, c-format 1402 1357 msgid "Still updating file `%s'.\n" 1403 1358 msgstr "" 1404 1359 1405 #: remake.c: 3721360 #: remake.c:413 1406 1361 #, c-format 1407 1362 msgid "Finished updating file `%s'.\n" 1408 1363 msgstr "" 1409 1364 1410 #: remake.c: 3931365 #: remake.c:434 1411 1366 #, c-format 1412 1367 msgid "File `%s' does not exist.\n" 1413 1368 msgstr "" 1414 1369 1415 #: remake.c:4 001370 #: remake.c:441 1416 1371 #, c-format 1417 1372 msgid "" … … 1419 1374 msgstr "" 1420 1375 1421 #: remake.c:4 13 remake.c:8631376 #: remake.c:454 remake.c:962 1422 1377 #, c-format 1423 1378 msgid "Found an implicit rule for `%s'.\n" 1424 1379 msgstr "" 1425 1380 1426 #: remake.c:4 15 remake.c:8651381 #: remake.c:456 remake.c:964 1427 1382 #, c-format 1428 1383 msgid "No implicit rule found for `%s'.\n" 1429 1384 msgstr "" 1430 1385 1431 #: remake.c:4 21 remake.c:8711386 #: remake.c:462 remake.c:970 1432 1387 #, c-format 1433 1388 msgid "Using default commands for `%s'.\n" 1434 1389 msgstr "" 1435 1390 1436 #: remake.c:4 42 remake.c:8971391 #: remake.c:484 remake.c:996 1437 1392 #, c-format 1438 1393 msgid "Circular %s <- %s dependency dropped." 1439 1394 msgstr "" 1440 1395 1441 #: remake.c: 5241396 #: remake.c:601 1442 1397 #, c-format 1443 1398 msgid "Finished prerequisites of target file `%s'.\n" 1444 1399 msgstr "" 1445 1400 1446 #: remake.c: 5301401 #: remake.c:607 1447 1402 #, c-format 1448 1403 msgid "The prerequisites of `%s' are being made.\n" 1449 1404 msgstr "" 1450 1405 1451 #: remake.c: 5431406 #: remake.c:620 1452 1407 #, c-format 1453 1408 msgid "Giving up on target file `%s'.\n" 1454 1409 msgstr "" 1455 1410 1456 #: remake.c: 5481411 #: remake.c:625 1457 1412 #, c-format 1458 1413 msgid "Target `%s' not remade because of errors." 1459 1414 msgstr "" 1460 1415 1461 #: remake.c:6 001416 #: remake.c:677 1462 1417 #, c-format 1463 1418 msgid "Prerequisite `%s' is order-only for target `%s'.\n" 1464 1419 msgstr "" 1465 1420 1466 #: remake.c:6 051421 #: remake.c:682 1467 1422 #, c-format 1468 1423 msgid "Prerequisite `%s' of target `%s' does not exist.\n" 1469 1424 msgstr "" 1470 1425 1471 #: remake.c:6 101426 #: remake.c:687 1472 1427 #, c-format 1473 1428 msgid "Prerequisite `%s' is newer than target `%s'.\n" 1474 1429 msgstr "" 1475 1430 1476 #: remake.c:6 131431 #: remake.c:690 1477 1432 #, c-format 1478 1433 msgid "Prerequisite `%s' is older than target `%s'.\n" 1479 1434 msgstr "" 1480 1435 1481 #: remake.c: 6311436 #: remake.c:708 1482 1437 #, c-format 1483 1438 msgid "Target `%s' is double-colon and has no prerequisites.\n" 1484 1439 msgstr "" 1485 1440 1486 #: remake.c: 6381441 #: remake.c:715 1487 1442 #, c-format 1488 1443 msgid "No commands for `%s' and no prerequisites actually changed.\n" 1489 1444 msgstr "" 1490 1445 1491 #: remake.c: 6431446 #: remake.c:720 1492 1447 #, c-format 1493 1448 msgid "Making `%s' due to always-make flag.\n" 1494 1449 msgstr "" 1495 1450 1496 #: remake.c: 6511451 #: remake.c:728 1497 1452 #, c-format 1498 1453 msgid "No need to remake target `%s'" 1499 1454 msgstr "" 1500 1455 1501 #: remake.c: 6531456 #: remake.c:730 1502 1457 #, c-format 1503 1458 msgid "; using VPATH name `%s'" 1504 1459 msgstr "" 1505 1460 1506 #: remake.c: 6731461 #: remake.c:750 1507 1462 #, c-format 1508 1463 msgid "Must remake target `%s'.\n" 1509 1464 msgstr "" 1510 1465 1511 #: remake.c: 6791466 #: remake.c:756 1512 1467 #, c-format 1513 1468 msgid " Ignoring VPATH name `%s'.\n" 1514 1469 msgstr "" 1515 1470 1516 #: remake.c: 6881471 #: remake.c:765 1517 1472 #, c-format 1518 1473 msgid "Commands of `%s' are being run.\n" 1519 1474 msgstr "" 1520 1475 1521 #: remake.c: 6951476 #: remake.c:772 1522 1477 #, c-format 1523 1478 msgid "Failed to remake target file `%s'.\n" 1524 1479 msgstr "" 1525 1480 1526 #: remake.c: 6981481 #: remake.c:775 1527 1482 #, c-format 1528 1483 msgid "Successfully remade target file `%s'.\n" 1529 1484 msgstr "" 1530 1485 1531 #: remake.c:7 011486 #: remake.c:778 1532 1487 #, c-format 1533 1488 msgid "Target file `%s' needs remade under -q.\n" 1534 1489 msgstr "" 1535 1490 1536 #: remake.c:1012 1537 #, c-format 1538 msgid "%sNo rule to make target `%s'%s" 1539 msgstr "" 1540 1541 #: remake.c:1014 1542 #, c-format 1543 msgid "%sNo rule to make target `%s', needed by `%s'%s" 1544 msgstr "" 1545 1546 #: remake.c:1224 1491 #: remake.c:1306 1547 1492 #, c-format 1548 1493 msgid "Warning: File `%s' has modification time in the future" 1549 1494 msgstr "" 1550 1495 1551 #: remake.c:1 2311496 #: remake.c:1313 1552 1497 #, c-format 1553 1498 msgid "Warning: File `%s' has modification time %.2g s in the future" 1554 1499 msgstr "" 1555 1500 1556 #: remake.c:1 3511501 #: remake.c:1511 1557 1502 #, c-format 1558 1503 msgid ".LIBPATTERNS element `%s' is not a pattern" 1559 1504 msgstr "" 1560 1505 1561 #: remote-cstms.c:12 61506 #: remote-cstms.c:125 1562 1507 #, c-format 1563 1508 msgid "Customs won't export: %s\n" 1564 1509 msgstr "" 1565 1510 1566 #: rule.c:5 651511 #: rule.c:548 1567 1512 msgid "" 1568 1513 "\n" … … 1570 1515 msgstr "" 1571 1516 1572 #: rule.c:5 801517 #: rule.c:563 1573 1518 msgid "" 1574 1519 "\n" … … 1576 1521 msgstr "" 1577 1522 1523 #: rule.c:566 1524 #, c-format 1525 msgid "" 1526 "\n" 1527 "# %u implicit rules, %u" 1528 msgstr "" 1529 1530 #: rule.c:575 1531 msgid " terminal." 1532 msgstr "" 1533 1578 1534 #: rule.c:583 1579 1535 #, c-format 1580 msgid ""1581 "\n"1582 "# %u implicit rules, %u"1583 msgstr ""1584 1585 #: rule.c:5921586 msgid " terminal."1587 msgstr ""1588 1589 #: rule.c:6001590 #, c-format1591 1536 msgid "BUG: num_pattern_rules wrong! %u != %u" 1592 1537 msgstr "" 1593 1538 1594 #: signame.c:8 71539 #: signame.c:85 1595 1540 msgid "unknown signal" 1596 1541 msgstr "" 1597 1542 1598 #: signame.c:9 51543 #: signame.c:93 1599 1544 msgid "Hangup" 1600 1545 msgstr "" 1601 1546 1602 #: signame.c:9 81547 #: signame.c:96 1603 1548 msgid "Interrupt" 1604 1549 msgstr "" 1605 1550 1606 #: signame.c: 1011551 #: signame.c:99 1607 1552 msgid "Quit" 1608 1553 msgstr "" 1609 1554 1610 #: signame.c:10 41555 #: signame.c:102 1611 1556 msgid "Illegal Instruction" 1612 1557 msgstr "" 1613 1558 1614 #: signame.c:10 71559 #: signame.c:105 1615 1560 msgid "Trace/breakpoint trap" 1616 1561 msgstr "" 1617 1562 1618 #: signame.c:11 21563 #: signame.c:110 1619 1564 msgid "Aborted" 1620 1565 msgstr "" 1621 1566 1622 #: signame.c:11 51567 #: signame.c:113 1623 1568 msgid "IOT trap" 1624 1569 msgstr "" 1625 1570 1626 #: signame.c:11 81571 #: signame.c:116 1627 1572 msgid "EMT trap" 1628 1573 msgstr "" 1629 1574 1630 #: signame.c:1 211575 #: signame.c:119 1631 1576 msgid "Floating point exception" 1632 1577 msgstr "" 1633 1578 1634 #: signame.c:12 41579 #: signame.c:122 1635 1580 msgid "Killed" 1636 1581 msgstr "" 1637 1582 1638 #: signame.c:12 71583 #: signame.c:125 1639 1584 msgid "Bus error" 1640 1585 msgstr "" 1641 1586 1642 #: signame.c:1 301587 #: signame.c:128 1643 1588 msgid "Segmentation fault" 1644 1589 msgstr "" 1645 1590 1646 #: signame.c:13 31591 #: signame.c:131 1647 1592 msgid "Bad system call" 1648 1593 msgstr "" 1649 1594 1650 #: signame.c:13 61595 #: signame.c:134 1651 1596 msgid "Broken pipe" 1652 1597 msgstr "" 1653 1598 1654 #: signame.c:13 91599 #: signame.c:137 1655 1600 msgid "Alarm clock" 1656 1601 msgstr "" 1657 1602 1658 #: signame.c:14 21603 #: signame.c:140 1659 1604 msgid "Terminated" 1660 1605 msgstr "" 1661 1606 1662 #: signame.c:14 51607 #: signame.c:143 1663 1608 msgid "User defined signal 1" 1664 1609 msgstr "" 1665 1610 1666 #: signame.c:14 81611 #: signame.c:146 1667 1612 msgid "User defined signal 2" 1668 1613 msgstr "" 1669 1614 1670 #: signame.c:15 3 signame.c:1561615 #: signame.c:151 signame.c:154 1671 1616 msgid "Child exited" 1672 1617 msgstr "" 1673 1618 1674 #: signame.c:15 91619 #: signame.c:157 1675 1620 msgid "Power failure" 1676 1621 msgstr "" 1677 1622 1678 #: signame.c:16 21623 #: signame.c:160 1679 1624 msgid "Stopped" 1680 1625 msgstr "" 1681 1626 1682 #: signame.c:16 51627 #: signame.c:163 1683 1628 msgid "Stopped (tty input)" 1684 1629 msgstr "" 1685 1630 1686 #: signame.c:16 81631 #: signame.c:166 1687 1632 msgid "Stopped (tty output)" 1688 1633 msgstr "" 1689 1634 1690 #: signame.c:1 711635 #: signame.c:169 1691 1636 msgid "Stopped (signal)" 1692 1637 msgstr "" 1693 1638 1694 #: signame.c:17 41639 #: signame.c:172 1695 1640 msgid "CPU time limit exceeded" 1696 1641 msgstr "" 1697 1642 1698 #: signame.c:17 71643 #: signame.c:175 1699 1644 msgid "File size limit exceeded" 1700 1645 msgstr "" 1701 1646 1702 #: signame.c:1 801647 #: signame.c:178 1703 1648 msgid "Virtual timer expired" 1704 1649 msgstr "" 1705 1650 1706 #: signame.c:18 31651 #: signame.c:181 1707 1652 msgid "Profiling timer expired" 1708 1653 msgstr "" 1709 1654 1710 #: signame.c:18 91655 #: signame.c:187 1711 1656 msgid "Window changed" 1712 1657 msgstr "" 1713 1658 1714 #: signame.c:19 21659 #: signame.c:190 1715 1660 msgid "Continued" 1716 1661 msgstr "" 1717 1662 1718 #: signame.c:19 51663 #: signame.c:193 1719 1664 msgid "Urgent I/O condition" 1720 1665 msgstr "" 1721 1666 1722 #: signame.c:20 2 signame.c:2111667 #: signame.c:200 signame.c:209 1723 1668 msgid "I/O possible" 1724 1669 msgstr "" 1725 1670 1726 #: signame.c:20 51671 #: signame.c:203 1727 1672 msgid "SIGWIND" 1728 1673 msgstr "" 1729 1674 1730 #: signame.c:20 81675 #: signame.c:206 1731 1676 msgid "SIGPHONE" 1732 1677 msgstr "" 1733 1678 1734 #: signame.c:21 41679 #: signame.c:212 1735 1680 msgid "Resource lost" 1736 1681 msgstr "" 1737 1682 1738 #: signame.c:21 71683 #: signame.c:215 1739 1684 msgid "Danger signal" 1740 1685 msgstr "" 1741 1686 1742 #: signame.c:2 201687 #: signame.c:218 1743 1688 msgid "Information request" 1744 1689 msgstr "" 1745 1690 1746 #: signame.c:22 31691 #: signame.c:221 1747 1692 msgid "Floating point co-processor not available" 1748 1693 msgstr "" 1749 1694 1750 #: variable.c:1282 1695 #: strcache.c:210 1696 #, c-format 1697 msgid "" 1698 "\n" 1699 "%s # of strings in strcache: %d\n" 1700 msgstr "" 1701 1702 #: strcache.c:211 1703 #, c-format 1704 msgid "%s # of strcache buffers: %d\n" 1705 msgstr "" 1706 1707 #: strcache.c:212 1708 #, c-format 1709 msgid "%s strcache size: total = %d / max = %d / min = %d / avg = %d\n" 1710 msgstr "" 1711 1712 #: strcache.c:214 1713 #, c-format 1714 msgid "%s strcache free: total = %d / max = %d / min = %d / avg = %d\n" 1715 msgstr "" 1716 1717 #: variable.c:1369 1751 1718 msgid "default" 1752 1719 msgstr "" 1753 1720 1754 #: variable.c:1 2851721 #: variable.c:1372 1755 1722 msgid "environment" 1756 1723 msgstr "" 1757 1724 1758 #: variable.c:1 2881725 #: variable.c:1375 1759 1726 msgid "makefile" 1760 1727 msgstr "" 1761 1728 1762 #: variable.c:1 2911729 #: variable.c:1378 1763 1730 msgid "environment under -e" 1764 1731 msgstr "" 1765 1732 1766 #: variable.c:1 2941733 #: variable.c:1381 1767 1734 msgid "command line" 1768 1735 msgstr "" 1769 1736 1770 #: variable.c:1 2971737 #: variable.c:1384 1771 1738 msgid "`override' directive" 1772 1739 msgstr "" 1773 1740 1774 #: variable.c:13 001741 #: variable.c:1387 1775 1742 msgid "automatic" 1776 1743 msgstr "" 1777 1744 1778 #: variable.c:13 091745 #: variable.c:1396 1779 1746 #, c-format 1780 1747 msgid " (from `%s', line %lu)" 1781 1748 msgstr "" 1782 1749 1783 #: variable.c:1 3511750 #: variable.c:1438 1784 1751 msgid "# variable set hash-table stats:\n" 1785 1752 msgstr "" 1786 1753 1787 #: variable.c:1 3621754 #: variable.c:1449 1788 1755 msgid "" 1789 1756 "\n" … … 1791 1758 msgstr "" 1792 1759 1793 #: variable.c:1 3661760 #: variable.c:1453 1794 1761 msgid "" 1795 1762 "\n" … … 1797 1764 msgstr "" 1798 1765 1799 #: variable.c:1 3801766 #: variable.c:1467 1800 1767 msgid "" 1801 1768 "\n" … … 1803 1770 msgstr "" 1804 1771 1805 #: variable.c:1 3821772 #: variable.c:1469 1806 1773 #, c-format 1807 1774 msgid "" … … 1810 1777 msgstr "" 1811 1778 1812 #: variable.h:18 81779 #: variable.h:189 1813 1780 #, c-format 1814 1781 msgid "warning: undefined variable `%.*s'" 1815 1782 msgstr "" 1816 1783 1817 #: vmsfunctions.c: 781784 #: vmsfunctions.c:94 1818 1785 #, c-format 1819 1786 msgid "sys$search failed with %d\n" 1820 1787 msgstr "" 1821 1788 1822 #: vpath.c:552 1789 #: vmsjobs.c:71 1790 #, c-format 1791 msgid "Warning: Empty redirection\n" 1792 msgstr "" 1793 1794 #: vmsjobs.c:175 1795 #, c-format 1796 msgid "internal error: `%s' command_state" 1797 msgstr "" 1798 1799 #: vmsjobs.c:268 1800 #, c-format 1801 msgid "-warning, CTRL-Y will leave sub-process(es) around.\n" 1802 msgstr "" 1803 1804 #: vmsjobs.c:284 1805 #, c-format 1806 msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n" 1807 msgstr "" 1808 1809 #: vmsjobs.c:407 1810 #, c-format 1811 msgid "BUILTIN [%s][%s]\n" 1812 msgstr "" 1813 1814 #: vmsjobs.c:418 1815 #, c-format 1816 msgid "BUILTIN CD %s\n" 1817 msgstr "" 1818 1819 #: vmsjobs.c:436 1820 #, c-format 1821 msgid "BUILTIN RM %s\n" 1822 msgstr "" 1823 1824 #: vmsjobs.c:457 1825 #, c-format 1826 msgid "Unknown builtin command '%s'\n" 1827 msgstr "" 1828 1829 #: vmsjobs.c:479 1830 #, c-format 1831 msgid "Error, empty command\n" 1832 msgstr "" 1833 1834 #: vmsjobs.c:491 1835 #, c-format 1836 msgid "Redirected input from %s\n" 1837 msgstr "" 1838 1839 #: vmsjobs.c:498 1840 #, c-format 1841 msgid "Redirected error to %s\n" 1842 msgstr "" 1843 1844 #: vmsjobs.c:505 1845 #, c-format 1846 msgid "Redirected output to %s\n" 1847 msgstr "" 1848 1849 #: vmsjobs.c:568 1850 #, c-format 1851 msgid "Executing %s instead\n" 1852 msgstr "" 1853 1854 #: vmsjobs.c:668 1855 #, c-format 1856 msgid "Error spawning, %d\n" 1857 msgstr "" 1858 1859 #: vpath.c:571 1823 1860 msgid "" 1824 1861 "\n" … … 1826 1863 msgstr "" 1827 1864 1828 #: vpath.c:5 691865 #: vpath.c:588 1829 1866 msgid "# No `vpath' search paths." 1830 1867 msgstr "" 1831 1868 1832 #: vpath.c:5 711869 #: vpath.c:590 1833 1870 #, c-format 1834 1871 msgid "" … … 1837 1874 msgstr "" 1838 1875 1839 #: vpath.c:5 741876 #: vpath.c:593 1840 1877 msgid "" 1841 1878 "\n" … … 1843 1880 msgstr "" 1844 1881 1845 #: vpath.c:5 801882 #: vpath.c:599 1846 1883 msgid "" 1847 1884 "\n" -
vendor/gnumake/current/read.c
r280 r501 1 1 /* Reading and parsing of makefiles for GNU Make. 2 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 2002 Free Software Foundation, Inc. 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 4 5 This file is part of GNU Make. 5 6 6 GNU Make is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2, or (at your option) 9 any later version. 10 11 GNU Make is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with GNU Make; see the file COPYING. If not, write to 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 Boston, MA 02111-1307, USA. */ 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 20 18 21 19 #include "make.h" … … 144 142 static enum make_word_type get_next_mword PARAMS ((char *buffer, char *delim, 145 143 char **startp, unsigned int *length)); 144 static void remove_comments PARAMS ((char *line)); 145 static char *find_char_unquote PARAMS ((char *string, int stop1, 146 int stop2, int blank, int ignorevars)); 146 147 147 148 … … 187 188 if (*p != '\0') 188 189 *p++ = '\0'; 189 name = xstrdup (name); 190 if (eval_makefile (name, 191 RM_NO_DEFAULT_GOAL|RM_INCLUDED|RM_DONTCARE) < 2) 192 free (name); 190 eval_makefile (name, RM_NO_DEFAULT_GOAL|RM_INCLUDED|RM_DONTCARE); 193 191 } 194 192 … … 252 250 for (p = default_makefiles; *p != 0; ++p) 253 251 { 254 struct dep *d = (struct dep *) xmalloc (sizeof (struct dep)); 255 d->name = 0; 252 struct dep *d = alloc_dep (); 256 253 d->file = enter_file (*p); 257 254 d->file->dontcare = 1; 258 d->ignore_mtime = 0;259 d->need_2nd_expansion = 0;260 255 /* Tell update_goal_chain to bail out as soon as this file is 261 256 made, and main not to die if we can't make this file. */ … … 311 306 struct ebuffer ebuf; 312 307 const struct floc *curfile; 308 char *expanded = 0; 309 char *included = 0; 313 310 int makefile_errno; 314 311 int r; 315 312 316 ebuf.floc.filenm = filename;313 ebuf.floc.filenm = strcache_add (filename); 317 314 ebuf.floc.lineno = 1; 318 315 … … 337 334 if (!(flags & RM_NO_TILDE) && filename[0] == '~') 338 335 { 339 char *expanded = tilde_expand (filename);336 expanded = tilde_expand (filename); 340 337 if (expanded != 0) 341 338 filename = expanded; … … 354 351 for (i = 0; include_directories[i] != 0; ++i) 355 352 { 356 char *name = concat (include_directories[i], "/", filename); 357 ebuf.fp = fopen (name, "r"); 358 if (ebuf.fp == 0) 359 free (name); 360 else 353 included = concat (include_directories[i], "/", filename); 354 ebuf.fp = fopen (included, "r"); 355 if (ebuf.fp) 361 356 { 362 filename = name;357 filename = included; 363 358 break; 364 359 } 365 } 360 free (included); 361 } 362 /* If we're not using it, we already freed it above. */ 363 if (filename != included) 364 included = 0; 366 365 } 367 366 368 367 /* Add FILENAME to the chain of read makefiles. */ 369 deps = (struct dep *) xmalloc (sizeof (struct dep));368 deps = alloc_dep (); 370 369 deps->next = read_makefiles; 371 370 read_makefiles = deps; 372 deps->name = 0;373 371 deps->file = lookup_file (filename); 374 372 if (deps->file == 0) 375 373 deps->file = enter_file (xstrdup (filename)); 376 if (filename != ebuf.floc.filenm)377 free (filename);378 374 filename = deps->file->name; 379 375 deps->changed = flags; 380 deps->ignore_mtime = 0;381 deps->need_2nd_expansion = 0;382 376 if (flags & RM_DONTCARE) 383 377 deps->file->dontcare = 1; 378 379 if (expanded) 380 free (expanded); 381 if (included) 382 free (included); 384 383 385 384 /* If the makefile can't be found at all, give up entirely. */ … … 802 801 803 802 p = allocated_variable_expand (p2); 803 804 /* If no filenames, it's a no-op. */ 804 805 if (*p == '\0') 805 { 806 error (fstart, 807 _("no file name for `%sinclude'"), noerror ? "-" : ""); 808 continue; 809 } 806 { 807 free (p); 808 continue; 809 } 810 810 811 811 /* Parse the list of file names. */ … … 837 837 r = eval_makefile (name, (RM_INCLUDED | RM_NO_TILDE 838 838 | (noerror ? RM_DONTCARE : 0))); 839 if (!r) 840 { 841 if (!noerror) 842 error (fstart, "%s: %s", name, strerror (errno)); 843 free (name); 844 } 839 if (!r && !noerror) 840 error (fstart, "%s: %s", name, strerror (errno)); 841 free (name); 845 842 } 846 843 … … 887 884 /* Search the line for an unquoted ; that is not after an 888 885 unquoted #. */ 889 cmdleft = find_char_unquote (line, ';', '#', 0 );886 cmdleft = find_char_unquote (line, ';', '#', 0, 1); 890 887 if (cmdleft != 0 && *cmdleft == '#') 891 888 { … … 934 931 { 935 932 /* Look for a semicolon in the expanded line. */ 936 cmdleft = find_char_unquote (p2, ';', 0, 0 );933 cmdleft = find_char_unquote (p2, ';', 0, 0, 0); 937 934 938 935 if (cmdleft != 0) … … 961 958 } 962 959 963 colonp = find_char_unquote(p2, ':', 0, 0 );960 colonp = find_char_unquote(p2, ':', 0, 0, 0); 964 961 #ifdef HAVE_DOS_PATHS 965 962 /* The drive spec brain-damage strikes again... */ … … 970 967 colonp > p2 && isalpha ((unsigned char)colonp[-1]) && 971 968 (colonp == p2 + 1 || strchr (" \t(", colonp[-2]) != 0)) 972 colonp = find_char_unquote(colonp + 1, ':', 0, 0 );969 colonp = find_char_unquote(colonp + 1, ':', 0, 0, 0); 973 970 #endif 974 971 if (colonp != 0) … … 1084 1081 /* This is a normal target, _not_ a target-specific variable. 1085 1082 Unquote any = in the dependency list. */ 1086 find_char_unquote (lb_next, '=', 0, 0 );1083 find_char_unquote (lb_next, '=', 0, 0, 0); 1087 1084 1088 1085 /* We have some targets, so don't ignore the following commands. */ … … 1099 1096 if (cmdleft == 0) 1100 1097 { 1101 cmdleft = find_char_unquote (p2, ';', 0, 0 );1098 cmdleft = find_char_unquote (p2, ';', 0, 0, 0); 1102 1099 if (cmdleft != 0) 1103 1100 *(cmdleft++) = '\0'; … … 1164 1161 if (pattern_percent == 0) 1165 1162 fatal (fstart, _("target pattern contains no `%%'")); 1166 free ((char *)target);1163 free ((char *)target); 1167 1164 } 1168 1165 else … … 1176 1173 if (beg <= end && *beg != '\0') 1177 1174 { 1178 char *top; 1179 const char *fromp = beg; 1180 1181 /* Make a copy of the dependency string. Note if we find '$'. */ 1182 deps = (struct dep*) xmalloc (sizeof (struct dep)); 1183 deps->next = 0; 1184 deps->name = top = (char *) xmalloc (end - beg + 2); 1185 deps->need_2nd_expansion = 0; 1186 while (fromp <= end) 1187 { 1188 if (*fromp == '$') 1189 deps->need_2nd_expansion = 1; 1190 *(top++) = *(fromp++); 1191 } 1192 *top = '\0'; 1193 deps->file = 0; 1175 /* Put all the prerequisites here; they'll be parsed later. */ 1176 deps = alloc_dep (); 1177 deps->name = savestring (beg, end - beg + 1); 1194 1178 } 1195 1179 else … … 1318 1302 1319 1303 1304 /* Remove comments from LINE. 1305 This is done by copying the text at LINE onto itself. */ 1306 1307 static void 1308 remove_comments (char *line) 1309 { 1310 char *comment; 1311 1312 comment = find_char_unquote (line, '#', 0, 0, 0); 1313 1314 if (comment != 0) 1315 /* Cut off the line at the #. */ 1316 *comment = '\0'; 1317 } 1318 1320 1319 /* Execute a `define' directive. 1321 1320 The first line has already been read, and NAME is the name of … … 1838 1837 v->origin = origin; 1839 1838 v->per_target = 1; 1840 if (exported) 1841 v->export = v_export; 1839 v->export = exported ? v_export : v_default; 1842 1840 1843 1841 /* If it's not an override, check to see if there was a command-line … … 1912 1910 char *name = filenames->name; 1913 1911 struct file *f; 1914 struct dep *d; 1915 struct dep *this; 1912 struct dep *this = 0; 1916 1913 char *implicit_percent; 1917 1914 … … 1919 1916 free (filenames); 1920 1917 1921 /* Check for .POSIX. We used to do this in snap_deps() but that's not 1922 good enough: it doesn't happen until after the makefile is read, 1923 which means we cannot use its value during parsing. */ 1918 /* Check for special targets. Do it here instead of, say, snap_deps() 1919 so that we can immediately use the value. */ 1924 1920 1925 1921 if (streq (name, ".POSIX")) 1926 1922 posix_pedantic = 1; 1923 else if (streq (name, ".SECONDEXPANSION")) 1924 second_expansion = 1; 1927 1925 1928 1926 implicit_percent = find_percent (name); … … 1959 1957 } 1960 1958 1961 /* If there are multiple filenames, copy the chain DEPS 1962 for all but the last one. It is not safe for the same deps 1963 to go in more than one place in the database. */ 1964 this = nextf != 0 ? copy_dep_chain (deps) : deps; 1965 1966 if (pattern != 0) 1967 { 1968 /* If this is an extended static rule: 1969 `targets: target%pattern: dep%pattern; cmds', 1970 translate each dependency pattern into a plain filename 1971 using the target pattern and this target's name. */ 1972 if (!pattern_matches (pattern, pattern_percent, name)) 1973 { 1974 /* Give a warning if the rule is meaningless. */ 1975 error (flocp, 1976 _("target `%s' doesn't match the target pattern"), name); 1977 this = 0; 1978 } 1979 else 1980 /* We use subst_expand to do the work of translating % to $* in 1981 the dependency line. */ 1982 1983 if (this != 0 && find_percent (this->name) != 0) 1984 { 1985 char *o; 1986 char *buffer = variable_expand (""); 1987 1988 o = subst_expand (buffer, this->name, "%", "$*", 1, 2, 0); 1989 1990 free (this->name); 1991 this->name = savestring (buffer, o - buffer); 1992 this->need_2nd_expansion = 1; 1993 } 1994 } 1959 /* If this is a static pattern rule: 1960 `targets: target%pattern: dep%pattern; cmds', 1961 make sure the pattern matches this target name. */ 1962 if (pattern && !pattern_matches (pattern, pattern_percent, name)) 1963 error (flocp, _("target `%s' doesn't match the target pattern"), name); 1964 else if (deps) 1965 { 1966 /* If there are multiple filenames, copy the chain DEPS for all but 1967 the last one. It is not safe for the same deps to go in more 1968 than one place in the database. */ 1969 this = nextf != 0 ? copy_dep_chain (deps) : deps; 1970 this->need_2nd_expansion = (second_expansion 1971 && strchr (this->name, '$')); 1972 } 1995 1973 1996 1974 if (!two_colon) … … 2032 2010 f->cmds = cmds; 2033 2011 2034 /* Defining .SUFFIXES with no dependencies 2035 clears out the list ofsuffixes. */2012 /* Defining .SUFFIXES with no dependencies clears out the list of 2013 suffixes. */ 2036 2014 if (f == suffix_file && this == 0) 2037 2015 { 2038 d = f->deps; 2039 while (d != 0) 2040 { 2041 struct dep *nextd = d->next; 2042 free (d->name); 2043 free ((char *)d); 2044 d = nextd; 2045 } 2016 free_dep_chain (f->deps); 2046 2017 f->deps = 0; 2047 2018 } … … 2058 2029 2059 2030 if (cmds != 0) 2060 { 2061 /* This is the rule with commands, so put its deps 2062 last. The rationale behind this is that $< expands 2063 to the first dep in the chain, and commands use $< 2064 expecting to get the dep that rule specifies. 2065 However the second expansion algorithm reverses 2066 the order thus we need to make it last here. */ 2067 2068 (*d_ptr)->next = this; 2069 } 2031 /* This is the rule with commands, so put its deps 2032 last. The rationale behind this is that $< expands to 2033 the first dep in the chain, and commands use $< 2034 expecting to get the dep that rule specifies. However 2035 the second expansion algorithm reverses the order thus 2036 we need to make it last here. */ 2037 (*d_ptr)->next = this; 2070 2038 else 2071 2039 { 2072 2040 /* This is the rule without commands. Put its 2073 dependencies at the end but before dependencies 2074 from the rule with commands (if any). This way2075 everythingappears in makefile order. */2041 dependencies at the end but before dependencies from 2042 the rule with commands (if any). This way everything 2043 appears in makefile order. */ 2076 2044 2077 2045 if (f->cmds != 0) … … 2103 2071 f->updating = 1; 2104 2072 } 2105 2106 /* If this is a static pattern rule, set the file's stem to2107 the part of its name that matched the `%' in the pattern,2108 so you can use $* in the commands. */2109 if (pattern != 0)2110 {2111 static char *percent = "%";2112 char *buffer = variable_expand ("");2113 char *o = patsubst_expand (buffer, name, pattern, percent,2114 pattern_percent+1, percent+1);2115 f->stem = savestring (buffer, o - buffer);2116 }2117 2073 } 2118 2074 else 2119 2075 { 2120 /* Double-colon. Make a new record 2121 even if the file already has one. */ 2076 /* Double-colon. Make a new record even if there already is one. */ 2122 2077 f = lookup_file (name); 2078 2123 2079 /* Check for both : and :: rules. Check is_target so 2124 2080 we don't lose on default suffix rules or makefiles. */ … … 2127 2083 _("target file `%s' has both : and :: entries"), f->name); 2128 2084 f = enter_file (name); 2129 /* If there was an existing entry and it was a double-colon 2130 ent ry, enter_file will have returned a new one, making it the2131 p rev pointer of the old one, and setting its double_colon2132 pointer tothe first one. */2085 /* If there was an existing entry and it was a double-colon entry, 2086 enter_file will have returned a new one, making it the prev 2087 pointer of the old one, and setting its double_colon pointer to 2088 the first one. */ 2133 2089 if (f->double_colon == 0) 2134 /* This is the first entry for this name, so we must 2135 set itsdouble_colon pointer to itself. */2090 /* This is the first entry for this name, so we must set its 2091 double_colon pointer to itself. */ 2136 2092 f->double_colon = f; 2137 2093 f->is_target = 1; … … 2140 2096 } 2141 2097 2098 /* If this is a static pattern rule, set the stem to the part of its 2099 name that matched the `%' in the pattern, so you can use $* in the 2100 commands. */ 2101 if (pattern) 2102 { 2103 static char *percent = "%"; 2104 char *buffer = variable_expand (""); 2105 char *o = patsubst_expand (buffer, name, pattern, percent, 2106 pattern_percent+1, percent+1); 2107 f->stem = savestring (buffer, o - buffer); 2108 if (this) 2109 { 2110 this->staticpattern = 1; 2111 this->stem = xstrdup (f->stem); 2112 } 2113 } 2114 2142 2115 /* Free name if not needed further. */ 2143 2116 if (f != 0 && name != f->name … … 2149 2122 2150 2123 /* If this target is a default target, update DEFAULT_GOAL_FILE. */ 2151 if (str cmp (*default_goal_name, name) == 02124 if (streq (*default_goal_name, name) 2152 2125 && (default_goal_file == 0 2153 || strcmp (default_goal_file->name, name) != 0))2126 || ! streq (default_goal_file->name, name))) 2154 2127 default_goal_file = f; 2155 2128 } … … 2159 2132 targets[target_idx] = 0; 2160 2133 target_percents[target_idx] = 0; 2134 if (deps) 2135 deps->need_2nd_expansion = second_expansion; 2161 2136 create_pattern_rule (targets, target_percents, two_colon, deps, cmds, 1); 2162 2137 free ((char *) target_percents); … … 2169 2144 Quoting backslashes are removed from STRING by compacting it into 2170 2145 itself. Returns a pointer to the first unquoted STOPCHAR if there is 2171 one, or nil if there are none. */ 2172 2173 char * 2174 find_char_unquote (char *string, int stop1, int stop2, int blank) 2146 one, or nil if there are none. STOPCHARs inside variable references are 2147 ignored if IGNOREVARS is true. 2148 2149 STOPCHAR _cannot_ be '$' if IGNOREVARS is true. */ 2150 2151 static char * 2152 find_char_unquote (char *string, int stop1, int stop2, int blank, 2153 int ignorevars) 2175 2154 { 2176 2155 unsigned int string_len = 0; 2177 2156 register char *p = string; 2178 2157 2158 if (ignorevars) 2159 ignorevars = '$'; 2160 2179 2161 while (1) 2180 2162 { 2181 2163 if (stop2 && blank) 2182 while (*p != '\0' && *p != stop1 && *p != stop22164 while (*p != '\0' && *p != ignorevars && *p != stop1 && *p != stop2 2183 2165 && ! isblank ((unsigned char) *p)) 2184 2166 ++p; 2185 2167 else if (stop2) 2186 while (*p != '\0' && *p != stop1 && *p != stop2)2168 while (*p != '\0' && *p != ignorevars && *p != stop1 && *p != stop2) 2187 2169 ++p; 2188 2170 else if (blank) 2189 while (*p != '\0' && *p != stop12171 while (*p != '\0' && *p != ignorevars && *p != stop1 2190 2172 && ! isblank ((unsigned char) *p)) 2191 2173 ++p; 2192 2174 else 2193 while (*p != '\0' && *p != stop1)2175 while (*p != '\0' && *p != ignorevars && *p != stop1) 2194 2176 ++p; 2195 2177 2196 2178 if (*p == '\0') 2197 2179 break; 2180 2181 /* If we stopped due to a variable reference, skip over its contents. */ 2182 if (*p == ignorevars) 2183 { 2184 char openparen = p[1]; 2185 2186 p += 2; 2187 2188 /* Skip the contents of a non-quoted, multi-char variable ref. */ 2189 if (openparen == '(' || openparen == '{') 2190 { 2191 unsigned int pcount = 1; 2192 char closeparen = (openparen == '(' ? ')' : '}'); 2193 2194 while (*p) 2195 { 2196 if (*p == openparen) 2197 ++pcount; 2198 else if (*p == closeparen) 2199 if (--pcount == 0) 2200 { 2201 ++p; 2202 break; 2203 } 2204 ++p; 2205 } 2206 } 2207 2208 /* Skipped the variable reference: look for STOPCHARS again. */ 2209 continue; 2210 } 2198 2211 2199 2212 if (p > string && p[-1] == '\\') … … 2232 2245 find_percent (char *pattern) 2233 2246 { 2234 return find_char_unquote (pattern, '%', 0, 0 );2247 return find_char_unquote (pattern, '%', 0, 0, 0); 2235 2248 } 2236 2249 … … 2252 2265 parse_file_seq (char **stringp, int stopchar, unsigned int size, int strip) 2253 2266 { 2254 registerstruct nameseq *new = 0;2255 registerstruct nameseq *new1, *lastnew1;2256 registerchar *p = *stringp;2267 struct nameseq *new = 0; 2268 struct nameseq *new1, *lastnew1; 2269 char *p = *stringp; 2257 2270 char *q; 2258 2271 char *name; … … 2275 2288 /* Yes, find end of next name. */ 2276 2289 q = p; 2277 p = find_char_unquote (q, stopchar, VMS_COMMA, 1 );2290 p = find_char_unquote (q, stopchar, VMS_COMMA, 1, 0); 2278 2291 #ifdef VMS 2279 2292 /* convert comma separated list to space separated */ … … 2286 2299 || isspace ((unsigned char)p[-1]))) 2287 2300 { 2288 p = find_char_unquote (p+1, stopchar, VMS_COMMA, 1 );2301 p = find_char_unquote (p+1, stopchar, VMS_COMMA, 1, 0); 2289 2302 } 2290 2303 #endif … … 2297 2310 while (p != 0 && !isspace ((unsigned char)*p) && 2298 2311 (p[1] == '\\' || p[1] == '/') && isalpha ((unsigned char)p[-1])) 2299 p = find_char_unquote (p + 1, stopchar, VMS_COMMA, 1 );2312 p = find_char_unquote (p + 1, stopchar, VMS_COMMA, 1, 0); 2300 2313 #endif 2301 2314 if (p == 0) … … 2907 2920 dirs[idx] = 0; 2908 2921 2909 /* Now compute the maximum length of any name in it. */ 2922 /* Now compute the maximum length of any name in it. Also add each 2923 dir to the .INCLUDE_DIRS variable. */ 2910 2924 2911 2925 max_incl_len = 0; … … 2920 2934 if (len > max_incl_len) 2921 2935 max_incl_len = len; 2936 2937 /* Append to .INCLUDE_DIRS. */ 2938 do_variable_definition (NILF, ".INCLUDE_DIRS", dirs[i], 2939 o_default, f_append, 0); 2922 2940 } 2923 2941 -
vendor/gnumake/current/readme.vms
r280 r501 50 50 with a simple change in makefile.vms. 51 51 52 Some notes on case sensitive names in rules and on the disk. In the VMS 53 template for CONFIG.H case sensitive rules can be enabled with defining 54 WANT_CASE_SENSITIVE_TARGETS. For recent version of VMS there is a case 55 sensitive file system: ODS5. To make use of that, additionally un-defining 56 the HAVE_CASE_INSENSITIVE_FS is required. As these are C macros, different 57 versions of make need to be built to have any case sensitivity for VMS 58 working. Unfortunately, for ODS5 disks that's not all. 59 60 - Usually DCL upcases command line tokens (except strings) and usually the 61 file system is case blind (similar to how Windows systems work) 62 $ set proc/parse=extended/case=sensitive 63 preserves lower and UPPER on the command line and (for this process and all 64 sub-processes) enables case sensitivity in the file system 65 66 - Usually the CRTL tries to reverse what DCL did with command line tokens, it 67 lowercases all tokens (except strings) 68 $ define DECC$ARGV_PARSE_STYLE enable 69 passes (the now preserved) lower and UPPER from the command line to main() 70 71 - Usually the CRTL upcases the arguments to open() and friends 72 $ define DECC$EFS_CASE_PRESERVE enable 73 preserves the names as is. 74 75 It is important to know that not all VMS tools are ready for case sensitivity. 76 With this setup some tools may not work as expected. The setup should not 77 blindly be applied for all users in default login procedures. 78 79 Example? The poor coding gives a compiler message, showing that there are 80 different files: 81 82 $ dir 83 84 Directory ODS5DISK[HB] 85 86 A.c;1 B.c;1 c.c;1 X.c;1 87 x.c;1 88 89 Total of 5 files. 90 $ ods5make x.obj 91 cc /obj=x.obj x.c 92 93 foo(){lowercase_x();} 94 ......^ 95 %CC-I-IMPLICITFUNC, In this statement, the identifier "lowercase_x" is implicitly declared as a function. 96 at line number 1 in file ODS5DISK[HB]x.c;1 97 $ mc SYS$SYSDEVICE:[HARTMUT.MAKE_3_80P]ods5make X.obj 98 cc /obj=X.obj X.c 99 100 foo() {UPPERCASE_X();} 101 .......^ 102 %CC-I-IMPLICITFUNC, In this statement, the identifier "UPPERCASE_X" is implicitly declared as a function. 103 at line number 1 in file ODS5DISK[HB]X.c;1 104 $ dir 105 106 Directory ODS5DISK[HB] 107 108 A.c;1 B.c;1 c.c;1 X.c;1 109 x.c;1 X.obj;1 x.obj;1 110 111 Total of 7 files. 112 $ 113 52 114 53 115 This is the VMS port of GNU Make done by [email protected]. … … 235 297 236 298 Comma (',') as a separator is now allowed. See makefile.vms for an example. 299 300 ------------------------------------------------------------------------------- 301 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 302 2006 Free Software Foundation, Inc. 303 This file is part of GNU Make. 304 305 GNU Make is free software; you can redistribute it and/or modify it under the 306 terms of the GNU General Public License as published by the Free Software 307 Foundation; either version 2, or (at your option) any later version. 308 309 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 310 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 311 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 312 313 You should have received a copy of the GNU General Public License along with 314 GNU Make; see the file COPYING. If not, write to the Free Software 315 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -
vendor/gnumake/current/remake.c
r280 r501 1 1 /* Basic dependency engine for GNU Make. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999, 3 2002 Free Software Foundation, Inc. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 4 5 This file is part of GNU Make. 5 6 6 GNU Make is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2, or (at your option) 9 any later version. 10 11 GNU Make is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with GNU Make; see the file COPYING. If not, write to 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 Boston, MA 02111-1307, USA. */ 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 20 18 21 19 #include "make.h" … … 161 159 by calling update_file above. We check this flag below to 162 160 decide when to give an "up to date" diagnostic. */ 163 g->changed += commands_started - ocommands_started; 161 if (commands_started > ocommands_started) 162 g->changed = 1; 164 163 165 164 /* If we updated a file and STATUS was not already 1, set it to … … 267 266 job_slots = j; 268 267 } 268 269 269 return status; 270 270 } … … 309 309 status |= update_file_1 (f, depth); 310 310 check_renamed (f); 311 312 /* Clean up any alloca() used during the update. */ 313 alloca (0); 311 314 312 315 /* If we got an error, don't bother with double_colon etc. */ … … 534 537 535 538 if (!running) 536 d->changed = file_mtime (d->file) != mtime; 539 /* The prereq is considered changed if the timestamp has changed while 540 it was built, OR it doesn't exist. 541 This causes the Linux kernel build to break. We'll defer this 542 fix until GNU make 3.82 to give them time to update. */ 543 d->changed = ((file_mtime (d->file) != mtime) 544 /* || (mtime == NONEXISTENT_MTIME) */); 537 545 538 546 lastd = d; … … 846 854 if ((ran && !file->phony) || touched) 847 855 { 848 struct file *f;849 856 int i = 0; 850 857 … … 866 873 867 874 file->last_mtime = i == 0 ? UNKNOWN_MTIME : NEW_MTIME; 868 869 /* Propagate the change of modification time to all the double-colon 870 entries for this file. */ 871 for (f = file->double_colon; f != 0; f = f->prev) 872 f->last_mtime = file->last_mtime; 875 } 876 877 if (file->double_colon) 878 { 879 /* If this is a double colon rule and it is the last one to be 880 updated, propagate the change of modification time to all the 881 double-colon entries for this file. 882 883 We do it on the last update because it is important to handle 884 individual entries as separate rules with separate timestamps 885 while they are treated as targets and then as one rule with the 886 unified timestamp when they are considered as a prerequisite 887 of some target. */ 888 889 struct file *f; 890 FILE_TIMESTAMP max_mtime = file->last_mtime; 891 892 /* Check that all rules were updated and at the same time find 893 the max timestamp. We assume UNKNOWN_MTIME is newer then 894 any other value. */ 895 for (f = file->double_colon; f != 0 && f->updated; f = f->prev) 896 if (max_mtime != UNKNOWN_MTIME 897 && (f->last_mtime == UNKNOWN_MTIME || f->last_mtime > max_mtime)) 898 max_mtime = f->last_mtime; 899 900 if (f == 0) 901 for (f = file->double_colon; f != 0; f = f->prev) 902 f->last_mtime = max_mtime; 873 903 } 874 904 … … 974 1004 { 975 1005 file->deps = d->next; 976 free ((char *)d);1006 free_dep (d); 977 1007 d = file->deps; 978 1008 } … … 980 1010 { 981 1011 lastd->next = d->next; 982 free ((char *)d);1012 free_dep (d); 983 1013 d = lastd->next; 984 1014 } … … 1231 1261 rehash_file (file, name); 1232 1262 check_renamed (file); 1233 mtime = name_mtime (name); 1263 /* If the result of a vpath search is -o or -W, preserve it. 1264 Otherwise, find the mtime of the resulting file. */ 1265 if (mtime != OLD_MTIME && mtime != NEW_MTIME) 1266 mtime = name_mtime (name); 1234 1267 } 1235 1268 } 1236 1269 } 1237 1270 1238 { 1239 /* Files can have bogus timestamps that nothing newly made will be 1240 "newer" than. Updating their dependents could just result in loops. 1241 So notify the user of the anomaly with a warning. 1242 1243 We only need to do this once, for now. */ 1244 1245 if (!clock_skew_detected 1246 && mtime != NONEXISTENT_MTIME 1247 && !file->updated) 1248 { 1249 static FILE_TIMESTAMP adjusted_now; 1250 1251 FILE_TIMESTAMP adjusted_mtime = mtime; 1271 /* Files can have bogus timestamps that nothing newly made will be 1272 "newer" than. Updating their dependents could just result in loops. 1273 So notify the user of the anomaly with a warning. 1274 1275 We only need to do this once, for now. */ 1276 1277 if (!clock_skew_detected 1278 && mtime != NONEXISTENT_MTIME && mtime != NEW_MTIME 1279 && !file->updated) 1280 { 1281 static FILE_TIMESTAMP adjusted_now; 1282 1283 FILE_TIMESTAMP adjusted_mtime = mtime; 1252 1284 1253 1285 #if defined(WINDOWS32) || defined(__MSDOS__) 1254 1255 1286 /* Experimentation has shown that FAT filesystems can set file times 1287 up to 3 seconds into the future! Play it safe. */ 1256 1288 1257 1289 #define FAT_ADJ_OFFSET (FILE_TIMESTAMP) 3 1258 1290 1259 1260 1261 1291 FILE_TIMESTAMP adjustment = FAT_ADJ_OFFSET << FILE_TIMESTAMP_LO_BITS; 1292 if (ORDINARY_MTIME_MIN + adjustment <= adjusted_mtime) 1293 adjusted_mtime -= adjustment; 1262 1294 #elif defined(__EMX__) 1263 1264 1265 1266 1267 1268 1269 1295 /* FAT filesystems round time to the nearest even second! 1296 Allow for any file (NTFS or FAT) to perhaps suffer from this 1297 brain damage. */ 1298 FILE_TIMESTAMP adjustment = (((FILE_TIMESTAMP_S (adjusted_mtime) & 1) == 0 1299 && FILE_TIMESTAMP_NS (adjusted_mtime) == 0) 1300 ? (FILE_TIMESTAMP) 1 << FILE_TIMESTAMP_LO_BITS 1301 : 0); 1270 1302 #endif 1271 1303 1272 1273 1274 1275 1276 1277 1278 1279 1280 1304 /* If the file's time appears to be in the future, update our 1305 concept of the present and try once more. */ 1306 if (adjusted_now < adjusted_mtime) 1307 { 1308 int resolution; 1309 FILE_TIMESTAMP now = file_timestamp_now (&resolution); 1310 adjusted_now = now + (resolution - 1); 1311 if (adjusted_now < adjusted_mtime) 1312 { 1281 1313 #ifdef NO_FLOAT 1282 1283 1314 error (NILF, _("Warning: File `%s' has modification time in the future"), 1315 file->name); 1284 1316 #else 1285 1286 1287 1288 1289 1290 1317 double from_now = 1318 (FILE_TIMESTAMP_S (mtime) - FILE_TIMESTAMP_S (now) 1319 + ((FILE_TIMESTAMP_NS (mtime) - FILE_TIMESTAMP_NS (now)) 1320 / 1e9)); 1321 error (NILF, _("Warning: File `%s' has modification time %.2g s in the future"), 1322 file->name, from_now); 1291 1323 #endif 1292 clock_skew_detected = 1; 1293 } 1294 } 1295 } 1296 } 1324 clock_skew_detected = 1; 1325 } 1326 } 1327 } 1297 1328 1298 1329 /* Store the mtime into all the entries for this file. */ … … 1337 1368 1338 1369 EINTRLOOP (e, stat (name, &st)); 1339 if (e != 0) 1340 { 1341 if (errno != ENOENT && errno != ENOTDIR) 1342 perror_with_name ("stat: ", name); 1370 if (e == 0) 1371 mtime = FILE_TIMESTAMP_STAT_MODTIME (name, st); 1372 else if (errno == ENOENT || errno == ENOTDIR) 1373 mtime = NONEXISTENT_MTIME; 1374 else 1375 { 1376 perror_with_name ("stat: ", name); 1343 1377 return NONEXISTENT_MTIME; 1344 1378 } 1345 mtime = FILE_TIMESTAMP_STAT_MODTIME (name, st); 1379 1380 /* If we get here we either found it, or it doesn't exist. 1381 If it doesn't exist see if we can use a symlink mtime instead. */ 1346 1382 1347 1383 #ifdef MAKE_SYMLINKS … … 1370 1406 if (e) 1371 1407 { 1372 /* Eh? Just take what we have. */ 1373 perror_with_name ("lstat: ", lpath); 1408 /* Just take what we have so far. */ 1409 if (errno != ENOENT && errno != ENOTDIR) 1410 perror_with_name ("lstat: ", lpath); 1374 1411 break; 1375 1412 } -
vendor/gnumake/current/remote-cstms.c
r54 r501 4 4 the Make maintainers. 5 5 6 Copyright (C) 1988, 1989, 1992, 1993 Free Software Foundation, Inc. 6 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 7 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 8 Foundation, Inc. 7 9 This file is part of GNU Make. 8 10 9 GNU Make is free software; you can redistribute it and/or modify 10 it under the terms of the GNU General Public License as published by 11 the Free Software Foundation; either version 2, or (at your option) 12 any later version. 13 14 GNU Make is distributed in the hope that it will be useful, 15 but WITHOUT ANY WARRANTY; without even the implied warranty of 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 GNU General Public License for more details. 18 19 You should have received a copy of the GNU General Public License 20 along with GNU Make; see the file COPYING. If not, write to 21 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 22 Boston, MA 02111-1307, USA. */ 11 GNU Make is free software; you can redistribute it and/or modify it under the 12 terms of the GNU General Public License as published by the Free Software 13 Foundation; either version 2, or (at your option) any later version. 14 15 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 16 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 17 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 18 19 You should have received a copy of the GNU General Public License along with 20 GNU Make; see the file COPYING. If not, write to the Free Software 21 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 23 22 24 23 #include "make.h" -
vendor/gnumake/current/remote-stub.c
r153 r501 1 1 /* Template for the remote job exportation interface to GNU Make. 2 Copyright (C) 1988, 1989, 1992, 1993, 1996 Free Software Foundation, Inc. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 3 5 This file is part of GNU Make. 4 6 5 GNU Make is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2, or (at your option) 8 any later version. 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 9 10 10 GNU Make is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 14 15 You should have received a copy of the GNU General Public License 16 along with GNU Make; see the file COPYING. If not, write to 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 Boston, MA 02111-1307, USA. */ 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 19 18 20 19 #include "make.h" -
vendor/gnumake/current/rule.c
r280 r501 1 1 /* Pattern and suffix rule internals for GNU Make. 2 Copyright (C) 1988,89,90,91,92,93, 1998 Free Software Foundation, Inc. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 3 5 This file is part of GNU Make. 4 6 5 GNU Make is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2, or (at your option) 8 any later version. 9 10 GNU Make is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with GNU Make; see the file COPYING. If not, write to 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 Boston, MA 02111-1307, USA. */ 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 19 18 20 19 #include "make.h" … … 206 205 depname[0] = '%'; 207 206 bcopy (source, depname + 1, len + 1); 208 deps = (struct dep *) xmalloc (sizeof (struct dep)); 209 deps->next = 0; 207 deps = alloc_dep (); 210 208 deps->name = depname; 211 deps->ignore_mtime = 0;212 deps->need_2nd_expansion = 0;213 209 } 214 210 … … 432 428 /* We might leak dep->name here, but I'm not sure how to fix this: I 433 429 think that pointer might be shared (e.g., in the file hash?) */ 434 free ((char *) dep); 430 dep->name = 0; /* Make sure free_dep does not free name. */ 431 free_dep (dep); 435 432 dep = t; 436 433 } … … 481 478 struct commands *commands, int override) 482 479 { 483 register struct rule *r = (struct rule *) xmalloc (sizeof (struct rule));484 register unsigned int max_targets, i;480 unsigned int max_targets, i; 481 struct rule *r = (struct rule *) xmalloc (sizeof (struct rule)); 485 482 486 483 r->cmds = commands; -
vendor/gnumake/current/rule.h
r54 r501 1 1 /* Definitions for using pattern rules in GNU Make. 2 Copyright (C) 1988, 1989, 1991, 1992, 1993 Free Software Foundation, Inc. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 3 5 This file is part of GNU Make. 4 6 5 GNU Make is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2, or (at your option) 8 any later version. 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 9 10 10 GNU Make is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 14 15 You should have received a copy of the GNU General Public License 16 along with GNU Make; see the file COPYING. If not, write to 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 Boston, MA 02111-1307, USA. */ 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 19 18 20 19 /* Structure used for pattern rules. */ -
vendor/gnumake/current/signame.c
r280 r501 1 1 /* Convert between signal names and numbers. 2 Copyright (C) 1990,92,93,95,96,99, 2002 Free Software Foundation, Inc. 3 This file was part of the GNU C Library, but is now part of GNU make. 4 5 GNU Make is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2, or (at your option) 8 any later version. 9 10 GNU Make is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with GNU Make; see the file COPYING. If not, write to 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 Boston, MA 02111-1307, USA. */ 2 Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 3 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 4 This file is part of GNU Make. 5 6 GNU Make is free software; you can redistribute it and/or modify it under the 7 terms of the GNU General Public License as published by the Free Software 8 Foundation; either version 2, or (at your option) any later version. 9 10 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License along with 15 GNU Make; see the file COPYING. If not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 19 17 20 18 #include "make.h" … … 22 20 /* If the system provides strsignal, we don't need it. */ 23 21 24 #if ! defined(HAVE_STRSIGNAL)22 #if !HAVE_STRSIGNAL 25 23 26 24 /* If the system provides sys_siglist, we'll use that. … … 28 26 */ 29 27 30 #if ! defined(HAVE_DECL_SYS_SIGLIST)28 #if !HAVE_DECL_SYS_SIGLIST 31 29 32 30 /* Some systems do not define NSIG in <signal.h>. */ … … 236 234 237 235 #if ! HAVE_DECL_SYS_SIGLIST 236 # if HAVE_DECL__SYS_SIGLIST 237 # define sys_siglist _sys_siglist 238 # elif HAVE_DECL___SYS_SIGLIST 239 # define sys_siglist __sys_siglist 240 # else 238 241 static char sig_initted = 0; 239 242 240 243 if (!sig_initted) 241 244 sig_initted = signame_init (); 245 # endif 242 246 #endif 243 247 -
vendor/gnumake/current/subproc.bat
r54 r501 1 @echo off 2 rem Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 3 rem 2005, 2006 Free Software Foundation, Inc. 4 rem This file is part of GNU Make. 5 6 rem GNU Make is free software; you can redistribute it and/or modify it under 7 rem the terms of the GNU General Public License as published by the Free 8 rem Software Foundation; either version 2, or (at your option) any later 9 rem version. 10 11 rem GNU Make is distributed in the hope that it will be useful, but WITHOUT 12 rem ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 rem FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 14 rem more details. 15 16 rem You should have received a copy of the GNU General Public License along 17 rem with GNU Make; see the file COPYING. If not, write to the Free Software 18 rem Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 19 1 20 cd w32\subproc 2 21 set MAKE=%2 -
vendor/gnumake/current/tests/ChangeLog
r280 r501 1 2006-04-01 Paul D. Smith <[email protected]> 2 3 * scripts/functions/realpath: Don't run tests with multiple 4 initial slashes on Windows: those paths mean something different. 5 6 2006-03-19 Paul D. Smith <[email protected]> 7 8 * scripts/features/parallelism: Test that the jobserver is 9 properly managed when we have to re-exec the master instance of 10 make. 11 12 2006-03-17 Boris Kolpackov <[email protected]> 13 14 * scripts/features/statipattrules: Add tests for bug #16053. 15 16 2006-03-09 Paul Smith <[email protected]> 17 18 * scripts/features/escape: Use "pre:" not "p:" to avoid conflicts 19 with DOS drive letters. Fixes Savannah bug #15947. 20 21 * test_driver.pl (run_each_test): Set the status properly even 22 when a test fails to execute. Fixes Savannah bug #15942. 23 24 * scripts/functions/foreach: Use a different environment variable 25 other than PATH to avoid differences with Windows platforms. 26 Fixes Savannah bug #15938. 27 28 2006-03-05 Paul D. Smith <[email protected]> 29 30 * run_make_tests.pl (set_more_defaults): Add CYGWIN_NT as a port 31 type W32. Fixed Savannah bug #15937. 32 33 * scripts/features/default_names: Don't call error() when the test 34 fails. Fixes Savannah bug #15941. 35 36 2006-02-17 Paul D. Smith <[email protected]> 37 38 * scripts/features/targetvars: Test a complex construction which 39 guarantees that we have to merge variable lists of different 40 sizes. Tests for Savannah bug #15757. 41 42 2006-02-15 Paul D. Smith <[email protected]> 43 44 * scripts/functions/error: Make sure filename/lineno information 45 is related to where the error is expanded, not where it's set. 46 * scripts/functions/warning: Ditto. 47 * scripts/functions/foreach: Check for different error conditions. 48 * scripts/functions/word: Ditto. 49 * scripts/variables/negative: Test some variable reference failure 50 conditions. 51 * scripts/options/warn-undefined-variables: Test the 52 --warn-undefined-variables flag. 53 54 2006-02-09 Paul D. Smith <[email protected]> 55 56 * run_make_tests.pl (set_more_defaults): Update valgrind support 57 for newer versions. 58 * test_driver.pl (toplevel): Skip all hidden files/directories (ones 59 beginning with "."). 60 61 * scripts/functions/andor: Tests for $(and ..) and $(or ...) 62 functions. 63 64 2006-02-08 Boris Kolpackov <[email protected]> 65 66 * scripts/features/parallelism: Add a test for bug #15641. 67 68 2006-02-06 Paul D. Smith <[email protected]> 69 70 * scripts/options/dash-W: Add a test for bug #15341. 71 72 2006-01-03 Paul D. Smith <[email protected]> 73 74 * scripts/variables/automatic: Add a test for bug #8154. 75 76 * README: Update to reflect the current state of the test suite. 77 78 2005-12-12 Paul D. Smith <[email protected]> 79 80 * scripts/features/parallelism, scripts/functions/wildcard, 81 scripts/targets/FORCE, scripts/targets/PHONY, 82 scripts/targets/SILENT: Use the default setting for 83 $delete_command. Fixes bug #15085. 84 85 * run_make_tests.pl (get_this_pwd) [VMS]: Use -no_ask with delete_file. 86 87 2005-12-11 Paul D. Smith <[email protected]> 88 89 * scripts/misc/general4: Test implicit rules with '$' in the 90 prereq list & prereq patterns. 91 * scripts/features/se_implicit: Add in .SECONDEXPANSION settings. 92 93 2005-12-09 Boris Kolpackov <[email protected]> 94 95 * scripts/features/patternrules: Add a test for bug #13022. 96 97 2005-12-07 Boris Kolpackov <[email protected]> 98 99 * scripts/features/double_colon: Add a test for bug #14334. 100 101 2005-11-17 Boris Kolpackov <[email protected]> 102 103 * scripts/functions/flavor: Add a test for the flavor function. 104 105 2005-11-14 Boris Kolpackov <[email protected]> 106 107 * scripts/variables/INCLUDE_DIRS: Add a test for the .INCLUDE_DIRS 108 special variable. 109 110 2005-10-24 Paul D. Smith <[email protected]> 111 112 * scripts/misc/general4: Test '$$' in prerequisites list. 113 * scripts/features/statipattrules: Rewrite to use run_make_test(). 114 Add various static pattern info. 115 * scripts/features/se_statpat: Enable .SECONDEXPANSION target. 116 * scripts/features/se_explicit: Add tests for handling '$$' in 117 prerequisite lists with and without setting .SECONDEXPANSION. 118 * scripts/features/order_only: Convert to run_make_test(). 119 * run_make_tests.pl (set_more_defaults): If we can't get the value 120 of $(MAKE) from make, then fatal immediately. 121 122 2005-08-31 Paul D. Smith <[email protected]> 123 124 * run_make_tests.pl (get_this_pwd): Require the POSIX module (in 125 an eval to trap errors) and if it exists, use POSIX::getcwd to 126 find the working directory. If it doesn't exist, go back to the 127 previous methods. This tries to be more accurate on Windows 128 systems. 129 130 2005-08-29 Paul D. Smith <[email protected]> 131 132 * scripts/functions/abspath: Add some text to the error messages 133 to get a better idea of what's wrong. Make warnings instead of 134 errors. 135 136 * scripts/features/patspecific_vars: Don't use "test", which is 137 UNIX specific. Print the values and let the test script match 138 them. 139 140 2005-08-25 Paul Smith <[email protected]> 141 142 * scripts/variables/SHELL: Use a /./ prefix instead of //: the 143 former works better with non-UNIX environments. Fixes Savannah 144 bug #14129. 145 146 2005-08-13 Boris Kolpackov <[email protected]> 147 148 * scripts/functions/wildcard: Wrap calls to $(wildcard ) with 149 $(sort) so that the resulting order is no longer filesystem- 150 dependant. 151 152 2005-08-10 Boris Kolpackov <[email protected]> 153 154 * scripts/features/statipattrules: Add a test for Savannah bug #13881. 155 156 2005-08-07 Paul D. Smith <[email protected]> 157 158 * scripts/features/parallelism: Add a test for a bug reported by 159 Michael Matz ([email protected]) in which make exits without waiting 160 for all its children in some situations during parallel builds. 161 162 2005-07-08 Paul D. Smith <[email protected]> 163 164 * test_driver.pl: Reset the environment to a clean value every 165 time before we invoke make. I'm suspicious that the environment 166 isn't handled the same way in Windows as it is in UNIX, and some 167 variables are leaking out beyond the tests they are intended for. 168 Create an %extraENV hash tests can set to add more env. vars. 169 * tests/scripts/features/export: Change to use %extraENV. 170 * tests/scripts/functions/eval: Ditto. 171 * tests/scripts/functions/origin: Ditto. 172 * tests/scripts/options/dash-e: Ditto. 173 * tests/scripts/variables/SHELL: Ditto. 174 175 2005-06-27 Paul D. Smith <[email protected]> 176 177 * scripts/options/dash-W: Use 'echo >>' instead of touch to update 178 files. 179 * scripts/features/reinvoke: Rewrite to be safer on systems with 180 subsecond timestamps. 181 * scripts/features/patternrules: False exits with different error 182 codes on different systems (for example, Linux => 1, Solaris => 255). 183 184 * scripts/options/dash-W: Set the timestamp to foo.x in the future, 185 to be sure it will be considered updated when it's remade. 186 187 2005-06-26 Paul D. Smith <[email protected]> 188 189 * scripts/functions/shell: New test suite for the shell function. 190 191 2005-06-25 Paul D. Smith <[email protected]> 192 193 * scripts/features/include: Test include/-include/sinclude with no 194 arguments. Tests fix for Savannah bug #1761. 195 196 * scripts/misc/general3: Implement comprehensive testing of 197 backslash-newline behavior in command scripts: various types of 198 quoting, fast path / slow path, etc. 199 Tests fix for Savannah bug #1332. 200 201 * scripts/options/symlinks: Test symlinks to non-existent files. 202 Tests fix for Savannah bug #13280. 203 204 * scripts/misc/general3: Test semicolons in variable references. 205 Tests fix for Savannah bug #1454. 206 207 * scripts/variables/MAKE_RESTARTS: New file: test the 208 MAKE_RESTARTS variable. 209 * scripts/options/dash-B: Test re-exec doesn't loop infinitely. 210 Tests fix for Savannah bug #7566. 211 * scripts/options/dash-W: New file: test the -W flag, including 212 re-exec infinite looping. 213 214 2005-06-12 Paul D. Smith <[email protected]> 215 216 * scripts/misc/close_stdout: Add a test for Savannah bug #1328. 217 This test only works on systems that have /dev/full (e.g., Linux). 218 219 2005-06-09 Paul D. Smith <[email protected]> 220 221 * scripts/functions/foreach: Add a test for Savannah bug #11913. 222 223 2005-05-31 Boris Kolpackov <[email protected]> 224 225 * scripts/features/include: Add a test for Savannah bug #13216. 226 * scripts/features/patternrules: Add a test for Savannah bug #13218. 227 1 228 2005-05-13 Paul D. Smith <[email protected]> 2 229 … … 308 535 2002-07-11 Paul D. Smith <[email protected]> 309 536 310 * run_make_tests.pl (valid_option): Add support for Valgrind 311 <http://developer.kde.org/~sewardj/>. Use -valgrind option to the 312 test suite. 537 * run_make_tests.pl (valid_option): Add support for Valgrind. Use 538 -valgrind option to the test suite. 313 539 (set_more_defaults): Set up the file descriptor to capture 314 540 Valgrind output. We have to unset its close-on-exec flag; we … … 594 820 595 821 ChangeLog file for the test suite created. 822 823 824 825 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 826 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 827 This file is part of GNU Make. 828 829 GNU Make is free software; you can redistribute it and/or modify it under the 830 terms of the GNU General Public License as published by the Free Software 831 Foundation; either version 2, or (at your option) any later version. 832 833 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 834 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 835 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 836 837 You should have received a copy of the GNU General Public License along with 838 GNU Make; see the file COPYING. If not, write to the Free Software 839 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -
vendor/gnumake/current/tests/NEWS
r53 r501 160 160 161 161 Some new tests were added. 162 163 164 165 ------------------------------------------------------------------------------- 166 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 167 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 168 This file is part of GNU Make. 169 170 GNU Make is free software; you can redistribute it and/or modify it under the 171 terms of the GNU General Public License as published by the Free Software 172 Foundation; either version 2, or (at your option) any later version. 173 174 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 175 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 176 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 177 178 You should have received a copy of the GNU General Public License along with 179 GNU Make; see the file COPYING. If not, write to the Free Software 180 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -
vendor/gnumake/current/tests/README
r53 r501 1 This is release 3.78 (September 6, 1999) of the GNU make test 2 suite. See the file NEWS for some of the changes since the last 3 release. 1 The test suite was originally written by Steve McGee and Chris Arthur. 2 It is covered by the GNU General Public License (Version 2), described 3 in the file COPYING. It has been maintained as part of GNU make proper 4 since GNU make 3.78. 4 5 5 This release is made by [email protected] to correspond to GNU make 3.78. 6 It won't work correctly for versions before that. In addition to some 7 infrastructure changes I've added a number of new tests. 6 This entire test suite, including all test files, are copyright and 7 distributed under the following terms: 8 8 9 Rob Tulloh has contributed changes to get the suite running on NT. 9 ----------------------------------------------------------------------------- 10 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 11 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 12 This file is part of GNU Make. 10 13 11 Eli Zaretskii and Esa A E Peuha <[email protected]> have contributed 12 changes to get the suite running on DJGPP/DOS. 14 GNU Make is free software; you can redistribute it and/or modify it under the 15 terms of the GNU General Public License as published by the Free Software 16 Foundation; either version 2, or (at your option) any later version. 13 17 14 This package has a number of problems which preclude me from 15 distributing it with make as a default "make check" test suite. The 16 most serious of these is that it's not parallelizable: it scribbles all 17 over its installation directory and so can only test one make at a 18 time. I simply don't have time to do more with this than I am so far; 19 I'm very actively interested in finding someone willing to overhaul the 20 test suite infrastructure. If you're interested, contact me (see below)! 18 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 19 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 20 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 21 21 22 The test suite thus far has been written by Steve McGee, Chris Arthur, 23 and Paul D. Smith. It is covered by the GNU General Public License 24 (Version 2), described in the file COPYING. 22 You should have received a copy of the GNU General Public License along with 23 GNU Make; see the file COPYING. If not, write to the Free Software 24 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 25 ----------------------------------------------------------------------------- 25 26 26 The test suite requires Perl and is known to work with Perl 4.036 and 27 Perl 5.004 (available from ftp.gnu.org, and portable to many machines). 28 Earlier or later versions may work; I don't know. It assumes that the 29 first "diff" it finds is GNU diff, but that only matters if a test 30 fails. 27 The test suite requires Perl. These days, you should have at least Perl 28 5.004 (available from ftp.gnu.org, and portable to many machines). It 29 used to work with Perl 4.036 but official support for Perl 4.x was 30 abandoned a long time ago, due to lack of testbeds, as well as interest. 31 32 The test suite assumes that the first "diff" it finds on your PATH is 33 GNU diff, but that only matters if a test fails. 31 34 32 35 To run the test suite on a UNIX system, use "perl ./run_make_tests" … … 44 47 45 48 Tests cannot end with a "~" character, as the test suite will ignore any 46 that do (I was tired of having it run my Emacs backup files as test :) 47 48 If you want to run the tests in parallel, you should use the mkshadow 49 script included here to create temporary "copies" (via symbolic links) 50 of the test suite, one for each parallel job. This is a pain and one 51 day maybe the test suite will be rewritten so it's no longer 52 necessary--volunteers welcome! 49 that do (I was tired of having it run my Emacs backup files as tests :)) 53 50 54 51 Also, sometimes the tests may behave strangely on networked 55 52 filesystems. You can use mkshadow to create a copy of the test suite in 56 53 /tmp or similar, and try again. If the error disappears, it's an issue 57 with your network or file server, not GNU make (I believe). 54 with your network or file server, not GNU make (I believe). This 55 shouldn't happen very often anymore: I've done a lot of work on the 56 tests to reduce the impacts of this situation. 58 57 59 58 The options/dash-l test will not really test anything if the copy of … … 73 72 other possible options for the test suite. 74 73 74 75 Open Issues 76 ----------- 77 78 The test suite has a number of problems which should be addressed. One 79 VERY serious one is that there is no real documentation. You just have 80 to see the existing tests. Use the newer tests: many of the tests 81 haven't been updated to use the latest/greatest test methods. See the 82 ChangeLog in the tests directory for pointers. 83 84 The second serious problem is that it's not parallelizable: it scribbles 85 all over its installation directory and so can only test one make at a 86 time. The third serious problem is that it's not relocatable: the only 87 way it works when you build out of the source tree is to create 88 symlinks, which doesn't work on every system and is bogus to boot. The 89 fourth serious problem is that it doesn't create its own sandbox when 90 running tests, so that if a test forgets to clean up after itself that 91 can impact future tests. 92 93 94 Bugs 95 ---- 96 75 97 Any complaints/suggestions/bugs/etc. for the test suite itself (as 76 opposed to problems in make that the suite finds) should be sent to 77 [email protected]. Enjoy! 98 opposed to problems in make that the suite finds) should be handled the 99 same way as normal GNU make bugs/problems (see the README for GNU make). 100 101 78 102 Paul D. Smith 79 103 Chris Arthur -
vendor/gnumake/current/tests/mkshadow
-
Property svn:executable
set to
*
r53 r501 4 4 # Typically you'd put the shadow in /tmp or another local disk 5 5 # 6 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 7 # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 8 # This file is part of GNU Make. 9 # 10 # GNU Make is free software; you can redistribute it and/or modify it under the 11 # terms of the GNU General Public License as published by the Free Software 12 # Foundation; either version 2, or (at your option) any later version. 13 # 14 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 15 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 16 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 17 # 18 # You should have received a copy of the GNU General Public License along with 19 # GNU Make; see the file COPYING. If not, write to the Free Software 20 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 6 21 7 22 case "$1" in -
Property svn:executable
set to
-
vendor/gnumake/current/tests/run_make_tests
-
Property svn:executable
set to
*
-
Property svn:executable
set to
-
vendor/gnumake/current/tests/run_make_tests.pl
-
Property svn:executable
set to
*
r280 r501 12 12 # (and others) 13 13 14 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 15 # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 16 # This file is part of GNU Make. 17 # 18 # GNU Make is free software; you can redistribute it and/or modify it under the 19 # terms of the GNU General Public License as published by the Free Software 20 # Foundation; either version 2, or (at your option) any later version. 21 # 22 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 23 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 24 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 25 # 26 # You should have received a copy of the GNU General Public License along with 27 # GNU Make; see the file COPYING. If not, write to the Free Software 28 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 29 14 30 $valgrind = 0; # invoke make with valgrind 31 $valgrind_args = '--num-callers=15 --tool=memcheck --leak-check=full'; 15 32 $pure_log = undef; 16 33 17 34 require "test_driver.pl"; 35 36 # Some target systems might not have the POSIX module... 37 $has_POSIX = eval { require "POSIX.pm" }; 18 38 19 39 #$SIG{INT} = sub { print STDERR "Caught a signal!\n"; die @_; }; … … 181 201 182 202 sub get_this_pwd { 183 if ($vos) { 184 $delete_command = "delete_file"; 203 $delete_command = 'rm -f'; 204 if ($has_POSIX) { 205 $__pwd = POSIX::getcwd(); 206 } elsif ($vos) { 207 $delete_command = "delete_file -no_ask"; 185 208 $__pwd = `++(current_dir)`; 186 } 187 else { 188 $delete_command = "rm"; 209 } else { 210 # No idea... just try using pwd as a last resort. 189 211 chop ($__pwd = `pwd`); 190 212 } … … 217 239 # This is probably not specific enough. 218 240 # 219 if ($osname =~ /Windows/i || $osname =~ /MINGW32/i ) {241 if ($osname =~ /Windows/i || $osname =~ /MINGW32/i || $osname =~ /CYGWIN_NT/i) { 220 242 $port_type = 'W32'; 221 243 } … … 249 271 # Find the full pathname of Make. For DOS systems this is more 250 272 # complicated, so we ask make itself. 251 $make_path = `sh -c 'echo "all:;\@echo \\\$(MAKE)" | $make_path -f-'`; 252 chop $make_path; 273 my $mk = `sh -c 'echo "all:;\@echo \\\$(MAKE)" | $make_path -f-'`; 274 chop $mk; 275 $mk or die "FATAL ERROR: Cannot determine the value of \$(MAKE):\n 276 'echo \"all:;\@echo \\\$(MAKE)\" | $make_path -f-' failed!\n"; 277 $make_path = $mk; 253 278 print "Make\t= `$make_path'\n" if $debug; 254 279 … … 304 329 305 330 if ($valgrind) { 306 # use POSIX qw(:fcntl_h);307 # require Fcntl;308 331 open(VALGRIND, "> valgrind.out") 309 332 || die "Cannot open valgrind.out: $!\n"; 310 333 # -q --leak-check=yes 311 $make_path = "valgrind --num-callers=15 --logfile-fd=".fileno(VALGRIND)." $make_path"; 334 exists $ENV{VALGRIND_ARGS} and $valgrind_args = $ENV{VALGRIND_ARGS}; 335 $make_path = "valgrind --log-fd=".fileno(VALGRIND)." $valgrind_args $make_path"; 312 336 # F_SETFD is 2 313 337 fcntl(VALGRIND, 2, 0) or die "fcntl(setfd) failed: $!\n"; -
Property svn:executable
set to
-
vendor/gnumake/current/tests/scripts/features/default_names
r53 r501 8 8 9 9 open(MAKEFILE,"> $makefile"); 10 11 10 print MAKEFILE "FIRST: ; \@echo It chose GNUmakefile\n"; 12 13 11 close(MAKEFILE); 14 12 15 13 # DOS/WIN32 platforms preserve case, but Makefile is the same file as makefile. 16 14 # Just test what we can here (avoid Makefile versus makefile test). 17 # 18 if ($port_type eq 'UNIX') 19 { 15 16 if ($port_type eq 'UNIX') { 20 17 # Create another makefile called "makefile" 21 18 open(MAKEFILE,"> makefile"); 22 23 19 print MAKEFILE "SECOND: ; \@echo It chose makefile\n"; 24 25 20 close(MAKEFILE); 26 21 } 27 22 28 29 23 # Create another makefile called "Makefile" 30 24 open(MAKEFILE,"> Makefile"); 31 32 25 print MAKEFILE "THIRD: ; \@echo It chose Makefile\n"; 33 34 26 close(MAKEFILE); 35 27 36 28 37 29 &run_make_with_options("","",&get_logfile); 38 39 # Create the answer to what should be produced by this Makefile 40 $answer = "It chose GNUmakefile\n"; 41 42 # COMPARE RESULTS 43 44 &compare_output($answer,&get_logfile(1)) || &error("abort"); 30 &compare_output("It chose GNUmakefile\n",&get_logfile(1)); 45 31 unlink $makefile; 46 32 47 # DOS/WIN32 platforms preserve case, but Makefile is the same file as makefile. 48 # Just test what we can here (avoid Makefile versus makefile test). 49 # 50 if ($port_type eq 'UNIX') 51 { 52 $answer = "It chose makefile\n"; 53 33 if ($port_type eq 'UNIX') { 54 34 &run_make_with_options("","",&get_logfile); 55 56 &compare_output($answer,&get_logfile(1)) || &error("abort"); 35 &compare_output("It chose makefile\n",&get_logfile(1)); 57 36 unlink "makefile"; 58 37 } 59 38 60 $answer = "It chose Makefile\n";61 62 39 &run_make_with_options("","",&get_logfile); 63 64 &compare_output($answer,&get_logfile(1)) || &error("abort"); 40 &compare_output("It chose Makefile\n",&get_logfile(1)); 65 41 unlink "Makefile"; -
vendor/gnumake/current/tests/scripts/features/double_colon
r53 r501 125 125 unlink('foo','f1.h','f2.h'); 126 126 127 128 # TEST 9: make sure all rules in s double colon family get executed 129 # (Savannah bug #14334). 130 # 131 132 &touch('one'); 133 &touch('two'); 134 135 run_make_test(' 136 .PHONY: all 137 all: result 138 139 result:: one 140 @echo $^ >>$@ 141 @echo $^ 142 143 result:: two 144 @echo $^ >>$@ 145 @echo $^ 146 147 ', 148 '', 149 'one 150 two'); 151 152 unlink('result','one','two'); 153 154 # This tells the test driver that the perl test script executed properly. 127 155 1; -
vendor/gnumake/current/tests/scripts/features/errors
r280 r501 1 # -*-perl-*- 2 1 3 $description = "The following tests the -i option and the '-' in front of \n" 2 4 ."commands to test that make ignores errors in these commands\n" … … 15 17 if ($vos) 16 18 { 17 $ delete_command = "delete_file";19 $rm_command = "delete_file"; 18 20 } 19 21 else 20 22 { 21 $ delete_command = "rm";23 $rm_command = "rm"; 22 24 } 23 25 … … 27 29 28 30 print MAKEFILE "clean:\n" 29 ."\t-$ delete_command cleanit\n"30 ."\t$ delete_command foo\n"31 ."\t-$rm_command cleanit\n" 32 ."\t$rm_command foo\n" 31 33 ."clean2: \n" 32 ."\t$ delete_command cleanit\n"33 ."\t$ delete_command foo\n";34 ."\t$rm_command cleanit\n" 35 ."\t$rm_command foo\n"; 34 36 35 37 # END of Contents of MAKEFILE … … 40 42 41 43 unlink("cleanit"); 42 $cleanit_error = `sh -c "$ delete_command cleanit 2>&1"`;44 $cleanit_error = `sh -c "$rm_command cleanit 2>&1"`; 43 45 $delete_error_code = $? >> 8; 44 46 … … 46 48 # ------- 47 49 48 $answer = "$ delete_command cleanit\n"50 $answer = "$rm_command cleanit\n" 49 51 . $cleanit_error 50 52 ."$make_name: [clean] Error $delete_error_code (ignored)\n" 51 ."$ delete_command foo\n";53 ."$rm_command foo\n"; 52 54 53 55 &run_make_with_options($makefile,"",&get_logfile); … … 73 75 # ------- 74 76 75 $answer = "$ delete_command cleanit\n"77 $answer = "$rm_command cleanit\n" 76 78 . $cleanit_error 77 79 ."$make_name: [clean2] Error $delete_error_code (ignored)\n" 78 ."$ delete_command foo\n";80 ."$rm_command foo\n"; 79 81 80 82 &run_make_with_options($makefile,"clean2 -i",&get_logfile); -
vendor/gnumake/current/tests/scripts/features/escape
r53 r501 7 7 Make sure that escaping of '#' works."; 8 8 9 open(MAKEFILE,"> $makefile");10 11 print MAKEFILE <<'EOF';12 $(path)foo : ; @echo cp $^ $@13 14 foo\ bar: ; @echo 'touch "$@"'15 16 sharp: foo\#bar.ext17 foo\#bar.ext: ; @echo foo\#bar.ext = '$@'18 EOF19 9 20 10 close(MAKEFILE); … … 23 13 # TEST 1 24 14 25 &run_make_with_options($makefile, "", &get_logfile); 26 $answer = "cp foo\n"; 27 &compare_output($answer,&get_logfile(1)); 15 run_make_test(' 16 $(path)foo : ; @echo "touch ($@)" 17 18 foo\ bar: ; @echo "touch ($@)" 19 20 sharp: foo\#bar.ext 21 foo\#bar.ext: ; @echo "foo#bar.ext = ($@)"', 22 '', 23 'touch (foo)'); 28 24 29 25 # TEST 2: This one should fail, since the ":" is unquoted. 30 26 31 &run_make_with_options($makefile, "path=p:", &get_logfile, 512); 32 $answer = "$makefile:1: *** target pattern contains no `%'. Stop.\n"; 33 &compare_output($answer,&get_logfile(1)); 27 run_make_test(undef, 28 'path=pre:', 29 "#MAKEFILE#:2: *** target pattern contains no `%'. Stop.", 30 512); 34 31 35 32 # TEST 3: This one should work, since we escape the ":". 36 33 37 &run_make_with_options($makefile, "'path=p\\:'", &get_logfile, 0); 38 $answer = "cp p:foo\n"; 39 &compare_output($answer,&get_logfile(1));34 run_make_test(undef, 35 "'path=pre\\:'", 36 'touch (pre:foo)'); 40 37 41 38 # TEST 4: This one should fail, since the escape char is escaped. 42 39 43 &run_make_with_options($makefile, "'path=p\\\\:'", &get_logfile, 512); 44 $answer = "$makefile:1: *** target pattern contains no `%'. Stop.\n"; 45 &compare_output($answer,&get_logfile(1)); 40 run_make_test(undef, 41 "'path=pre\\\\:'", 42 "#MAKEFILE#:2: *** target pattern contains no `%'. Stop.", 43 512); 46 44 47 45 # TEST 5: This one should work 48 46 49 &run_make_with_options($makefile, "'foo bar'", &get_logfile, 0); 50 $answer = "touch \"foo bar\"\n"; 51 &compare_output($answer,&get_logfile(1));47 run_make_test(undef, 48 "'foo bar'", 49 'touch (foo bar)'); 52 50 53 51 # TEST 6: Test escaped comments 54 52 55 &run_make_with_options($makefile, "sharp", &get_logfile, 0); 56 $answer = "foo#bar.ext = foo#bar.ext\n"; 57 &compare_output($answer,&get_logfile(1));53 run_make_test(undef, 54 'sharp', 55 'foo#bar.ext = (foo#bar.ext)'); 58 56 59 57 # This tells the test driver that the perl test script executed properly. -
vendor/gnumake/current/tests/scripts/features/export
r53 r501 57 57 # TEST 1: make sure vars inherited from the parent are exported 58 58 59 $ ENV{FOO} = 1;59 $extraENV{FOO} = 1; 60 60 61 61 &run_make_with_options($makefile,"",&get_logfile,0); … … 65 65 66 66 &compare_output($answer,&get_logfile(1)); 67 68 delete $ENV{FOO};69 67 70 68 # TEST 2: global export. Explicit unexport takes precedence. … … 238 236 close(MAKEFILE); 239 237 240 @ ENV{qw(A B C D E F G H I J)} = qw(1 2 3 4 5 6 7 8 9 10);238 @extraENV{qw(A B C D E F G H I J)} = qw(1 2 3 4 5 6 7 8 9 10); 241 239 242 240 &run_make_with_options($makefile5,"",&get_logfile,0); … … 244 242 &compare_output($answer,&get_logfile(1)); 245 243 246 delete @ENV{qw(A B C D E F G H I J)};247 248 244 249 245 # This tells the test driver that the perl test script executed properly. -
vendor/gnumake/current/tests/scripts/features/include
r284 r501 79 79 ); 80 80 81 81 82 # Test inheritance of dontcare flag when rebuilding makefiles. 82 83 # … … 91 92 92 93 1; 94 95 96 # Make sure that we don't die when the command fails but we dontcare. 97 # (Savannah bug #13216). 98 # 99 run_make_test(' 100 .PHONY: all 101 all:; @: 102 103 -include foo 104 105 foo: bar; @: 106 107 bar:; @exit 1 108 ', '', ''); 109 110 # Check include, sinclude, -include with no filenames. 111 # (Savannah bug #1761). 112 113 run_make_test(' 114 .PHONY: all 115 all:; @: 116 include 117 -include 118 sinclude', '', ''); 119 120 1; -
vendor/gnumake/current/tests/scripts/features/order_only
r284 r501 6 6 prerequisites and ensure they behave properly. Test the \$| variable."; 7 7 8 open(MAKEFILE,"> $makefile"); 8 # TEST #0 -- Basics 9 9 10 print MAKEFILE <<'EOF'; 10 run_make_test(' 11 %r: | baz ; @echo $< $^ $| 12 bar: foo 13 foo:;@: 14 baz:;@:', 15 '', "foo foo baz\n"); 16 17 # TEST #1 -- First try: the order-only prereqs need to be built. 18 19 run_make_test(q! 11 20 foo: bar | baz 12 21 @echo '$$^ = $^' … … 17 26 18 27 bar baz: 19 touch $@ 20 EOF 21 22 close(MAKEFILE); 23 24 25 # TEST #1 -- just the syntax 26 27 &run_make_with_options($makefile, "", &get_logfile); 28 $answer = "touch bar\ntouch baz\n\$^ = bar\n\$| = baz\ntouch foo\n"; 29 &compare_output($answer,&get_logfile(1)); 28 touch $@!, 29 '', "touch bar\ntouch baz\n\$^ = bar\n\$| = baz\ntouch foo\n"); 30 30 31 31 32 32 # TEST #2 -- now we do it again: baz is PHONY but foo should _NOT_ be updated 33 33 34 &run_make_with_options($makefile, "", &get_logfile); 35 $answer = "touch baz\n"; 36 &compare_output($answer,&get_logfile(1)); 34 run_make_test(undef, '', "touch baz\n"); 37 35 38 36 unlink(qw(foo bar baz)); 39 37 40 # T est prereqs that are both order and non-order38 # TEST #3 -- Make sure the order-only prereq was promoted to normal. 41 39 42 $makefile2 = &get_tmpfile; 43 44 open(MAKEFILE,"> $makefile2"); 45 46 print MAKEFILE <<'EOF'; 40 run_make_test(q! 47 41 foo: bar | baz 48 42 @echo '$$^ = $^' … … 55 49 56 50 bar baz: 57 touch $@ 58 EOF 59 60 close(MAKEFILE); 61 62 # TEST #3 -- Make sure the order-only prereq was promoted to normal. 63 64 &run_make_with_options($makefile2, "", &get_logfile); 65 $answer = "touch bar\ntouch baz\n\$^ = bar baz\n\$| = \ntouch foo\n"; 66 &compare_output($answer,&get_logfile(1)); 51 touch $@!, 52 '', "touch bar\ntouch baz\n\$^ = bar baz\n\$| = \ntouch foo\n"); 67 53 68 54 69 55 # TEST #4 -- now we do it again 70 56 71 &run_make_with_options($makefile2, "", &get_logfile); 72 $answer = "touch baz\n\$^ = bar baz\n\$| = \ntouch foo\n"; 73 &compare_output($answer,&get_logfile(1)); 57 run_make_test(undef, '', "touch baz\n\$^ = bar baz\n\$| = \ntouch foo\n"); 74 58 75 59 unlink(qw(foo bar baz)); … … 77 61 # Test empty normal prereqs 78 62 79 $makefile3 = &get_tmpfile; 63 # TEST #5 -- make sure the parser was correct. 80 64 81 open(MAKEFILE,"> $makefile3"); 82 83 print MAKEFILE <<'EOF'; 65 run_make_test(q! 84 66 foo:| baz 85 67 @echo '$$^ = $^' … … 90 72 91 73 baz: 92 touch $@ 93 EOF 94 95 close(MAKEFILE); 96 97 # TEST #5 -- make sure the parser was correct. 98 99 &run_make_with_options($makefile3, "", &get_logfile); 100 $answer = "touch baz\n\$^ = \n\$| = baz\ntouch foo\n"; 101 &compare_output($answer,&get_logfile(1)); 102 74 touch $@!, 75 '', "touch baz\n\$^ = \n\$| = baz\ntouch foo\n"); 103 76 104 77 # TEST #6 -- now we do it again: this time foo won't be built 105 78 106 &run_make_with_options($makefile3, "", &get_logfile); 107 $answer = "touch baz\n"; 108 &compare_output($answer,&get_logfile(1)); 79 run_make_test(undef, '', "touch baz\n"); 109 80 110 81 unlink(qw(foo baz)); … … 112 83 # Test order-only in pattern rules 113 84 114 $makefile4 = &get_tmpfile; 85 # TEST #7 -- make sure the parser was correct. 115 86 116 open(MAKEFILE,"> $makefile4"); 117 118 print MAKEFILE <<'EOF'; 87 run_make_test(q! 119 88 %.w : %.x | baz 120 89 @echo '$$^ = $^' … … 126 95 .PHONY: baz 127 96 foo.x baz: 128 touch $@ 129 EOF 130 131 close(MAKEFILE); 132 133 # TEST #7 -- make sure the parser was correct. 134 135 &run_make_with_options($makefile4, "", &get_logfile); 136 $answer = "touch foo.x\ntouch baz\n\$^ = foo.x\n\$| = baz\ntouch foo.w\n"; 137 &compare_output($answer,&get_logfile(1)); 97 touch $@!, 98 '', 99 "touch foo.x\ntouch baz\n\$^ = foo.x\n\$| = baz\ntouch foo.w\n"); 138 100 139 101 # TEST #8 -- now we do it again: this time foo.w won't be built 140 102 141 &run_make_with_options($makefile4, "", &get_logfile); 142 $answer = "touch baz\n"; 143 &compare_output($answer,&get_logfile(1)); 103 run_make_test(undef, '', "touch baz\n"); 144 104 145 105 unlink(qw(foo.w foo.x baz)); … … 152 112 bar: foo 153 113 foo:;@: 154 baz:;@: 155 ','', "foo foo baz\n");114 baz:;@:', 115 '', "foo foo baz\n"); 156 116 157 117 -
vendor/gnumake/current/tests/scripts/features/parallelism
r284 r501 19 19 20 20 if ($vos) { 21 $delete_command = "delete_file -no_ask";22 21 $sleep_command = "sleep -seconds"; 23 22 } 24 23 else { 25 $delete_command = "rm -f";26 24 $sleep_command = "sleep"; 27 25 } … … 84 82 '-j2', "first\nfirst\nsecond\nsecond"); 85 83 84 # Michael Matz <[email protected]> reported a bug where if make is running in 85 # parallel without -k and two jobs die in a row, but not too close to each 86 # other, then make will quit without waiting for the rest of the jobs to die. 87 88 run_make_test(" 89 .PHONY: all fail.1 fail.2 fail.3 ok 90 all: fail.1 ok fail.2 fail.3 91 92 fail.1 fail.2 fail.3: 93 \@sleep \$(patsubst fail.%,%,\$\@) 94 \@echo Fail 95 \@exit 1 96 97 ok: 98 \@sleep 4 99 \@echo Ok done", 100 '-rR -j5', 'Fail 101 #MAKE#: *** [fail.1] Error 1 102 #MAKE#: *** Waiting for unfinished jobs.... 103 Fail 104 #MAKE#: *** [fail.2] Error 1 105 Fail 106 #MAKE#: *** [fail.3] Error 1 107 Ok done', 108 512); 109 110 111 # Test for Savannah bug #15641. 112 # 113 run_make_test(' 114 .PHONY: all 115 all:; @: 116 117 -include foo.d 118 119 foo.d: comp 120 @echo building $@ 121 122 comp: mod_a.o mod_b.o; @: 123 124 mod_a.o mod_b.o: 125 @exit 1 126 ', '-j2', ''); 127 128 129 # Make sure that all jobserver FDs are closed if we need to re-exec the 130 # master copy. 131 # 132 # First, find the "default" file descriptors we normally use 133 # Then make sure they're still used. 134 # 135 # Right now we don't have a way to run a makefile and capture the output 136 # without checking it, so we can't really write this test. 137 138 # run_make_test(' 139 # submake: ; @$(MAKE) --no-print-directory -f #MAKEFILE# fdprint 5>output 140 141 # dependfile: ; @echo FOO=bar > $@ 142 143 # INCL := true 144 145 # FOO=foo 146 # ifeq ($(INCL),true) 147 # -include dependfile 148 # endif 149 150 # fdprint: ; @echo $(filter --jobserver%,$(MAKEFLAGS)) 151 152 # recurse: ; @$(MAKE) --no-print-directory -f #MAKEFILE# submake INCL=true', 153 # '-j2 INCL=false fdprint', 154 # 'bar'); 155 156 # unlink('dependfile', 'output'); 157 158 159 # # Do it again, this time where the include is done by the non-master make. 160 # run_make_test(undef, '-j2 recurse INCL=false', 'bar'); 161 162 # unlink('dependfile', 'output'); 163 86 164 1; -
vendor/gnumake/current/tests/scripts/features/patspecific_vars
r284 r501 68 68 69 69 /bar: 70 @ test "$(foo)" = "$$foo"71 ', '', ' ');70 @echo $(foo) $$foo 71 ', '', 'foo foo'); 72 72 73 73 -
vendor/gnumake/current/tests/scripts/features/patternrules
r283 r501 24 24 # 1 - existing file 25 25 %.1: void 26 @ false26 @exit 1 27 27 %.1: #MAKEFILE# 28 @ true28 @exit 0 29 29 30 30 # 2 - phony 31 31 %.2: void 32 @ false32 @exit 1 33 33 %.2: 2.phony 34 @ true34 @exit 0 35 35 .PHONY: 2.phony 36 36 37 37 # 3 - implicit-phony 38 38 %.3: void 39 @ false39 @exit 1 40 40 %.3: 3.implicit-phony 41 @ true41 @exit 0 42 42 43 43 3.implicit-phony: … … 96 96 unlink("$dir/foo.c"); 97 97 98 99 # TEST #4: make sure precious flag is set properly for targets 100 # that are built via implicit rules (Savannah bug #13218). 101 # 102 run_make_test(' 103 .DELETE_ON_ERROR: 104 105 .PRECIOUS: %.bar 106 107 %.bar:; @touch $@ && exit 1 108 109 $(dir)/foo.bar: 110 111 ', 112 "dir=$dir", 113 "#MAKE#: *** [$dir/foo.bar] Error 1", 114 512); 115 116 unlink("$dir/foo.bar"); 117 118 119 # TEST #5: make sure targets of a macthed implicit pattern rule never 120 # never considered intermediate (Savannah bug #13022). 121 # 122 run_make_test(' 123 .PHONY: all 124 all: foo.c foo.o 125 126 %.h %.c: %.in 127 touch $*.h 128 touch $*.c 129 130 %.o: %.c %.h 131 echo $+ >$@ 132 133 %.o: %.c 134 @echo wrong rule 135 136 foo.in: 137 touch $@ 138 139 ', 140 '', 141 'touch foo.in 142 touch foo.h 143 touch foo.c 144 echo foo.c foo.h >foo.o'); 145 146 unlink('foo.in', 'foo.h', 'foo.c', 'foo.o'); 147 98 148 # This tells the test driver that the perl test script executed properly. 99 149 1; -
vendor/gnumake/current/tests/scripts/features/reinvoke
r53 r501 8 8 file, then touch the temp file to make it newer than the makefile."; 9 9 10 $makefile2 = &get_tmpfile; 11 $makefile_orig = &get_tmpfile; 10 $omkfile = $makefile; 12 11 13 open(MAKEFILE,"> $makefile"); 12 &utouch(-600, 'incl.mk'); 13 # For some reason if we don't do this then the test fails for systems 14 # with sub-second timestamps, maybe + NFS? Not sure. 15 &utouch(-1, 'incl-1.mk'); 14 16 15 print MAKEFILE <<EOM; 17 run_make_test(' 18 all: ; @echo running rules. 16 19 17 all: ; \@echo 'running rules.' 20 #MAKEFILE# incl.mk: incl-1.mk 21 @echo rebuilding $@ 22 @echo >> $@ 18 23 19 $makefile $makefile2: $makefile_orig 20 \@echo 'rebuilding \$\@.' 21 \@echo >> \$\@ 24 include incl.mk', 25 '', "rebuilding incl.mk\nrunning rules.\n"); 22 26 23 include $makefile2 27 # Make sure updating the makefile itself also works 24 28 25 EOM 29 &utouch(-600, $omkfile); 26 30 27 close(MAKEFILE);31 run_make_test(undef, '', "rebuilding #MAKEFILE#\nrunning rules.\n"); 28 32 29 &utouch(-10, $makefile, $makefile2); 30 &touch($makefile_orig); 33 &rmfiles('incl.mk', 'incl-1.mk'); 31 34 32 &run_make_with_options($makefile, "", &get_logfile, 0);33 34 # Create the answer to what should be produced by this Makefile35 36 $answer = "rebuilding $makefile2.\nrebuilding $makefile.\nrunning rules.\n";37 38 &compare_output($answer,&get_logfile(1))39 && unlink "$makefile_orig";40 35 41 36 # In this test we create an included file that's out-of-date, but then 42 37 # the rule doesn't update it. Make shouldn't re-exec. 43 38 44 $makefile3 = &get_tmpfile; 39 &utouch(-600, 'b','a'); 40 #&utouch(-10, 'a'); 41 &touch('c'); 45 42 46 open(MAKEFILE, "> $makefile3"); 47 print MAKEFILE <<'EOM'; 43 run_make_test(' 48 44 SHELL = /bin/sh 49 45 … … 56 52 c: ; echo >> $@ 57 53 58 include $(F) 59 EOM 60 61 close(MAKEFILE); 62 63 &utouch(-20, 'b','a'); 64 #&utouch(-10, 'a'); 65 &touch('c'); 66 67 # First try with the file that's not updated "once removed" from the 68 # file we're including. 69 70 &run_make_with_options($makefile3, "F=a", &get_logfile, 0); 71 72 $answer = "[ -f b ] || echo >> b\nhello\n"; 73 &compare_output($answer,&get_logfile(1)); 54 include $(F)', 55 'F=a', "[ -f b ] || echo >> b\nhello\n"); 74 56 75 57 # Now try with the file we're not updating being the actual file we're 76 58 # including: this and the previous one test different parts of the code. 77 59 78 &run_make_with_options($makefile3, "F=b", &get_logfile, 0); 60 run_make_test(undef, "F=b", "[ -f b ] || echo >> b\nhello\n") 79 61 80 $answer = "[ -f b ] || echo >> b\nhello\n"; 81 &compare_output($answer,&get_logfile(1)); 82 83 unlink('a','b','c'); 62 &rmfiles('a','b','c'); 84 63 85 64 # This tells the test driver that the perl test script executed properly. -
vendor/gnumake/current/tests/scripts/features/se_explicit
r283 r501 4 4 $details = ""; 5 5 6 # Test #1: automatic variables. 6 # TEST #0: Test handing of '$' in prerequisites with and without second 7 # expansion. 8 9 run_make_test(q! 10 ifdef SE 11 .SECONDEXPANSION: 12 endif 13 foo$$bar: bar$$baz bar$$biz ; @echo '$@ : $^' 14 PRE = one two 15 bar$$baz: $$(PRE) 16 baraz: $$(PRE) 17 PRE = three four 18 .DEFAULT: ; @echo '$@' 19 !, 20 '', 21 "\$\nbar\$biz\nfoo\$bar : bar\$baz bar\$biz"); 22 23 run_make_test(undef, 'SE=1', "three\nfour\nbariz\nfoo\$bar : baraz bariz"); 24 25 # TEST #1: automatic variables. 7 26 # 8 27 run_make_test(' 28 .SECONDEXPANSION: 9 29 .DEFAULT: ; @echo $@ 10 30 … … 42 62 # 43 63 run_make_test(' 64 .SECONDEXPANSION: 44 65 .DEFAULT: ; @echo $@ 45 66 … … 60 81 # 61 82 run_make_test(' 83 .SECONDEXPANSION: 62 84 .DEFAULT: ; @echo $@ 63 85 -
vendor/gnumake/current/tests/scripts/features/se_implicit
r283 r501 13 13 # 14 14 run_make_test(' 15 .SECONDEXPANSION: 15 16 .DEFAULT: ; @echo $@ 16 17 … … 61 62 # 62 63 run_make_test(' 64 .SECONDEXPANSION: 63 65 foo.x: 64 66 … … 82 84 # 83 85 run_make_test(' 86 .SECONDEXPANSION: 84 87 .DEFAULT: ; @echo $@ 85 88 … … 133 136 # 134 137 run_make_test(' 138 .SECONDEXPANSION: 135 139 $(dir)/tmp/bar.o: 136 140 … … 154 158 # 155 159 run_make_test(' 160 .SECONDEXPANSION: 156 161 $(dir)/tmp/foo.o: $(dir)/tmp/foo.c 157 162 $(dir)/tmp/foo.c: ; @echo $@ … … 172 177 # 173 178 run_make_test(' 179 .SECONDEXPANSION: 174 180 foo.o: foo.c 175 181 foo.c: ; @echo $@ … … 187 193 # 188 194 run_make_test(' 195 .SECONDEXPANSION: 189 196 foobarbaz: 190 197 … … 205 212 # 206 213 run_make_test(' 214 .SECONDEXPANSION: 207 215 foo$$bar: 208 216 -
vendor/gnumake/current/tests/scripts/features/se_statpat
r283 r501 7 7 # 8 8 run_make_test(' 9 .SECONDEXPANSION: 9 10 .DEFAULT: ; @echo $@ 10 11 … … 42 43 # 43 44 run_make_test(' 45 .SECONDEXPANSION: 44 46 .DEFAULT: ; @echo $@ 45 47 … … 61 63 # 62 64 run_make_test(' 65 .SECONDEXPANSION: 63 66 .DEFAULT: ; @echo $@ 64 67 … … 107 110 # 108 111 run_make_test(' 112 .SECONDEXPANSION: 109 113 foo$$bar: f%r: % $$*.1 110 114 @echo \'$*\' -
vendor/gnumake/current/tests/scripts/features/statipattrules
r284 r501 10 10 to emacs a .el file"; 11 11 12 open(MAKEFILE,"> $makefile"); 13 print MAKEFILE <<'EOF'; 12 &touch('bar.c', 'lose.c'); 13 14 # TEST #0 15 # ------- 16 17 run_make_test(' 14 18 files = foo.elc bar.o lose.o 15 19 … … 17 21 18 22 $(filter %.elc,$(files)): %.elc: %.el ; @echo emacs $< 19 EOF 20 close(MAKEFILE); 23 ', 24 '', 25 'CC -c bar.c -o bar.o'); 26 27 # TEST #1 28 # ------- 29 30 run_make_test(undef, 'lose.o', 'CC -c lose.c -o lose.o'); 21 31 22 32 23 &touch('bar.c', 'lose.c'); 24 25 # TEST #1 26 # ------- 27 28 &run_make_with_options($makefile, '', &get_logfile); 29 $answer = "CC -c bar.c -o bar.o\n"; 30 &compare_output($answer, &get_logfile(1)); 31 32 33 # TEST #2 34 # ------- 35 36 &run_make_with_options($makefile, 'lose.o', &get_logfile); 37 $answer = "CC -c lose.c -o lose.o\n"; 38 &compare_output($answer, &get_logfile(1)); 39 40 41 # TEST #3 33 # TEST #2 42 34 # ------- 43 35 &touch("foo.el"); 44 36 45 &run_make_with_options($makefile, 'foo.elc', &get_logfile); 46 $answer = "emacs foo.el\n"; 47 &compare_output($answer, &get_logfile(1)); 37 run_make_test(undef, 'foo.elc', 'emacs foo.el'); 48 38 49 39 # Clean up after the first tests. 50 40 unlink('foo.el', 'bar.c', 'lose.c'); 51 41 52 42 53 # TEST # 4-- PR/1670: don't core dump on invalid static pattern rules43 # TEST #3 -- PR/1670: don't core dump on invalid static pattern rules 54 44 # ------- 55 45 56 $makefile2 = &get_tmpfile; 57 open(MAKEFILE, "> $makefile2"); 58 print MAKEFILE "foo: foo%: % ; \@echo \$@\n"; 59 close(MAKEFILE); 46 run_make_test(' 47 .DEFAULT: ; @echo $@ 48 foo: foo%: % %.x % % % y.% % ; @echo $@ 49 ', 50 '', ".x\ny.\nfoo"); 60 51 61 &run_make_with_options($makefile2, '', &get_logfile);62 $answer = "foo\n";63 &compare_output($answer, &get_logfile(1));64 52 65 # TEST # 5-- bug #12180: core dump on a stat pattern rule with an empty53 # TEST #4 -- bug #12180: core dump on a stat pattern rule with an empty 66 54 # prerequisite list. 67 #68 55 run_make_test(' 69 56 foo.x bar.x: %.x : ; @echo $@ 70 57 71 58 ', 59 '', 'foo.x'); 60 61 62 # TEST #5 -- bug #13881: double colon static pattern rule does not 63 # substitute %. 64 run_make_test(' 65 foo.bar:: %.bar: %.baz 66 foo.baz: ;@: 67 ', 68 '', ''); 69 70 71 # TEST #6: make sure the second stem does not overwrite the first 72 # perprerequisite's stem (Savannah bug #16053). 73 # 74 run_make_test(' 75 all.foo.bar: %.foo.bar: %.one 76 77 all.foo.bar: %.bar: %.two 78 79 all.foo.bar: 80 @echo $* 81 @echo $^ 82 83 .DEFAULT:;@: 84 ', 72 85 '', 73 'foo.x 74 '); 86 'all.foo 87 all.one all.foo.two'); 88 89 90 # TEST #7: make sure the second stem does not overwrite the first 91 # perprerequisite's stem when second expansion is enabled 92 # (Savannah bug #16053). 93 # 94 run_make_test(' 95 .SECONDEXPANSION: 96 97 all.foo.bar: %.foo.bar: %.one $$*-one 98 99 all.foo.bar: %.bar: %.two $$*-two 100 101 all.foo.bar: 102 @echo $* 103 @echo $^ 104 105 .DEFAULT:;@: 106 ', 107 '', 108 'all.foo 109 all.one all-one all.foo.two all.foo-two'); 75 110 76 111 1; -
vendor/gnumake/current/tests/scripts/features/targetvars
r53 r501 268 268 &compare_output($answer, &get_logfile(1)); 269 269 270 # TEST #17 271 272 # Test a merge of set_lists for files, where one list is much longer 273 # than the other. See Savannah bug #15757. 274 275 mkdir('t1', 0777); 276 touch('t1/rules.mk'); 277 278 run_make_test(' 279 VPATH = t1 280 include rules.mk 281 .PHONY: all 282 all: foo.x 283 foo.x : rules.mk ; @echo MYVAR=$(MYVAR) FOOVAR=$(FOOVAR) ALLVAR=$(ALLVAR) 284 all: ALLVAR = xxx 285 foo.x: FOOVAR = bar 286 rules.mk : MYVAR = foo 287 .INTERMEDIATE: foo.x rules.mk 288 ', 289 '-I t1', 290 'MYVAR= FOOVAR=bar ALLVAR=xxx'); 291 292 rmfiles('t1/rules.mk'); 293 rmdir('t1'); 294 295 # TEST #18 296 297 # Test appending to a simple variable containing a "$": avoid a 298 # double-expansion. See Savannah bug #15913. 299 300 run_make_test(" 301 VAR := \$\$FOO 302 foo: VAR += BAR 303 foo: ; \@echo '\$(VAR)'", 304 '', 305 '$FOO BAR'); 306 270 307 1; -
vendor/gnumake/current/tests/scripts/functions/abspath
r283 r501 6 6 run_make_test(' 7 7 ifneq ($(realpath $(abspath .)),$(CURDIR)) 8 $( error)8 $(warning .: abs="$(abspath .)" real="$(realpath $(abspath .))" curdir="$(CURDIR)") 9 9 endif 10 10 11 11 ifneq ($(realpath $(abspath ./)),$(CURDIR)) 12 $( error)12 $(warning ./: abs="$(abspath ./)" real="$(realpath $(abspath ./))" curdir="$(CURDIR)") 13 13 endif 14 14 15 15 ifneq ($(realpath $(abspath .///)),$(CURDIR)) 16 $( error)16 $(warning .///: abs="$(abspath .///)" real="$(realpath $(abspath .///))" curdir="$(CURDIR)") 17 17 endif 18 18 19 19 ifneq ($(abspath /),/) 20 $( error)20 $(warning /: abspath="$(abspath /)") 21 21 endif 22 22 23 23 ifneq ($(abspath ///),/) 24 $( error)24 $(warning ///: abspath="$(abspath ///)") 25 25 endif 26 26 27 27 ifneq ($(abspath /.),/) 28 $( error)28 $(warning /.: abspath="$(abspath /.)") 29 29 endif 30 30 31 31 ifneq ($(abspath ///.),/) 32 $( error)32 $(warning ///.: abspath="$(abspath ///.)") 33 33 endif 34 34 35 35 ifneq ($(abspath /./),/) 36 $( error)36 $(warning /./: abspath="$(abspath /./)") 37 37 endif 38 38 39 39 ifneq ($(abspath /.///),/) 40 $( error)40 $(warning /.///: abspath="$(abspath /.///)") 41 41 endif 42 42 43 43 ifneq ($(abspath /..),/) 44 $( error)44 $(warning /..: abspath="$(abspath /..)") 45 45 endif 46 46 47 47 ifneq ($(abspath ///..),/) 48 $( error)48 $(warning ///..: abspath="$(abspath ///..)") 49 49 endif 50 50 51 51 ifneq ($(abspath /../),/) 52 $( error)52 $(warning /../: abspath="$(abspath /../)") 53 53 endif 54 54 55 55 ifneq ($(abspath /..///),/) 56 $( error)56 $(warning /..///: abspath="$(abspath /..///)") 57 57 endif 58 58 59 59 60 60 ifneq ($(abspath /foo/bar/..),/foo) 61 $( error)61 $(warning /foo/bar/..: abspath="$(abspath /foo/bar/..)") 62 62 endif 63 63 64 64 ifneq ($(abspath /foo/bar/../../../baz),/baz) 65 $( error)65 $(warning /foo/bar/../../../baz: abspath="$(abspath /foo/bar/../../../baz)") 66 66 endif 67 67 68 68 ifneq ($(abspath /foo/bar/../ /..),/foo /) 69 $( error)69 $(warning /foo/bar/../ /..: abspath="$(abspath /foo/bar/../ /..)") 70 70 endif 71 71 -
vendor/gnumake/current/tests/scripts/functions/error
r53 r501 1 # -*-Perl-*- 2 1 3 $description = "\ 2 4 The following test creates a makefile to test the error function."; … … 6 8 open(MAKEFILE,"> $makefile"); 7 9 8 print MAKEFILE <<'EOF'; 10 print MAKEFILE 'err = $(error Error found!) 11 9 12 ifdef ERROR1 10 13 $(error error is $(ERROR1)) … … 26 29 some: ; @echo Some stuff 27 30 28 EOF 31 testvar: ; @: $(err) 32 '; 29 33 30 34 close(MAKEFILE); … … 33 37 34 38 &run_make_with_options($makefile, "ERROR1=yes", &get_logfile, 512); 35 $answer = "$makefile: 2: *** error is yes. Stop.\n";39 $answer = "$makefile:4: *** error is yes. Stop.\n"; 36 40 &compare_output($answer,&get_logfile(1)); 37 41 … … 39 43 40 44 &run_make_with_options($makefile, "ERROR2=no", &get_logfile, 512); 41 $answer = "$makefile: 6: *** error is no. Stop.\n";45 $answer = "$makefile:8: *** error is no. Stop.\n"; 42 46 &compare_output($answer,&get_logfile(1)); 43 47 … … 45 49 46 50 &run_make_with_options($makefile, "ERROR3=maybe", &get_logfile, 512); 47 $answer = "Some stuff\n$makefile:1 0: *** error is maybe. Stop.\n";51 $answer = "Some stuff\n$makefile:12: *** error is maybe. Stop.\n"; 48 52 &compare_output($answer,&get_logfile(1)); 49 53 … … 51 55 52 56 &run_make_with_options($makefile, "ERROR4=definitely", &get_logfile, 512); 53 $answer = "Some stuff\n$makefile:14: *** error is definitely. Stop.\n"; 57 $answer = "Some stuff\n$makefile:16: *** error is definitely. Stop.\n"; 58 &compare_output($answer,&get_logfile(1)); 59 60 # Test #5 61 62 &run_make_with_options($makefile, "testvar", &get_logfile, 512); 63 $answer = "$makefile:22: *** Error found!. Stop.\n"; 54 64 &compare_output($answer,&get_logfile(1)); 55 65 -
vendor/gnumake/current/tests/scripts/functions/eval
r284 r501 128 128 close(MAKEFILE); 129 129 130 $ ENV{EVAR} = '1';130 $extraENV{EVAR} = '1'; 131 131 &run_make_with_options($makefile4, "", &get_logfile); 132 132 $answer = "OK\n"; 133 133 &compare_output($answer,&get_logfile(1)); 134 135 delete $ENV{EVAR};136 134 137 135 … … 152 150 run_make_test(' 153 151 define FOO 154 all: ; @echo he\llo152 all: ; @echo '."'".'he\llo'."'".' 155 153 @echo world 156 154 endef 157 155 $(eval $(FOO)) 158 ', '', 'he llo156 ', '', 'he\llo 159 157 world'); 160 158 -
vendor/gnumake/current/tests/scripts/functions/foreach
r53 r501 1 1 # -*-perl-*- 2 # $Id: foreach,v 1.5 2006/03/10 02:20:46 psmith Exp $ 2 3 3 # Updated 6.16.93 variable "MAKE" is default was environment override 4 # For make 3.63 and above 5 6 $description = "The following test creates a makefile to verify 7 test the foreach function."; 4 $description = "Test the foreach function."; 8 5 9 6 $details = "This is a test of the foreach function in gnu make. … … 15 12 16 13 17 open(MAKEFILE,"> $makefile"); 14 # TEST 0 18 15 19 # The Contents of the MAKEFILE ... 16 # Set an environment variable that we can test in the makefile. 17 $extraENV{FOOFOO} = 'foo foo'; 20 18 21 # On WIN32 systems, the user's path is found in %Path% ($Path) 22 # 23 $pathvar = (($port_type eq 'Windows') ? "Path" : "PATH"); 19 run_make_test("space = ' '".' 20 null := 21 auto_var = udef space CC null FOOFOO MAKE foo CFLAGS WHITE @ < 22 foo = bletch null @ garf 23 av = $(foreach var, $(auto_var), $(origin $(var)) ) 24 override WHITE := BLACK 25 for_var = $(addsuffix .c,foo $(null) $(foo) $(space) $(av) ) 26 fe = $(foreach var2, $(for_var),$(subst .c,.o, $(var2) ) ) 27 all: auto for2 28 auto : ; @echo $(av) 29 for2: ; @echo $(fe)', 30 '-e WHITE=WHITE CFLAGS=', 31 "undefined file default file environment default file command line override automatic automatic 32 foo.o bletch.o null.o @.o garf.o .o .o undefined.o file.o default.o file.o environment.o default.o file.o command.o line.o override.o automatic.o automatic.o"); 24 33 25 print MAKEFILE <<EOF; 26 foo = bletch null \@ garf 27 null := 28 space = ' ' 29 auto_var = udef space CC null $pathvar MAKE foo CFLAGS WHITE \@ < 30 av = \$(foreach var, \$(auto_var), \$(origin \$(var)) ) 31 override WHITE := BLACK 32 for_var = \$(addsuffix .c,foo \$(null) \$(foo) \$(space) \$(av) ) 33 fe = \$(foreach var2, \$(for_var),\$(subst .c,.o, \$(var2) ) ) 34 all: auto for2 35 auto : 36 \t\@echo \$(av) 37 for2: 38 \t\@echo \$(fe) 39 EOF 34 delete $extraENV{FOOFOO}; 40 35 41 close(MAKEFILE); 36 # TEST 1: Test that foreach variables take precedence over global 37 # variables in a global scope (like inside an eval). Tests bug #11913 42 38 43 &run_make_with_options($makefile, 44 "-e WHITE=WHITE CFLAGS=", 45 &get_logfile); 39 run_make_test(' 40 .PHONY: all target 41 all: target 46 42 47 # Create the answer to what should be produced by this Makefile 48 $answer = "undefined file default file environment default file command line override automatic automatic 49 foo.o bletch.o null.o @.o garf.o .o .o undefined.o file.o default.o file.o environment.o default.o file.o command.o line.o override.o automatic.o automatic.o\n"; 43 x := BAD 50 44 51 &compare_output($answer,&get_logfile(1)); 45 define mktarget 46 target: x := $(x) 47 target: ; @echo "$(x)" 48 endef 49 50 x := GLOBAL 51 52 $(foreach x,FOREACH,$(eval $(value mktarget)))', 53 '', 54 'FOREACH'); 55 56 57 # TEST 2: Check some error conditions. 58 59 run_make_test(' 60 x = $(foreach ) 61 y = $x 62 63 all: ; @echo $y', 64 '', 65 "#MAKEFILE#:2: *** insufficient number of arguments (1) to function `foreach'. Stop.", 66 512); 67 68 run_make_test(' 69 x = $(foreach ) 70 y := $x 71 72 all: ; @echo $y', 73 '', 74 "#MAKEFILE#:2: *** insufficient number of arguments (1) to function `foreach'. Stop.", 75 512); 52 76 53 77 1; -
vendor/gnumake/current/tests/scripts/functions/origin
r153 r501 17 17 18 18 # Set an environment variable 19 $ ENV{MAKETEST} = 1;19 $extraENV{MAKETEST} = 1; 20 20 21 open(MAKEFILE,"> $makefile"); 22 23 print MAKEFILE <<EOF; 21 run_make_test(' 24 22 foo := bletch garf 25 auto_var = u def CC MAKETEST MAKE foo CFLAGS WHITE \@26 av = \$(foreach var, \$(auto_var), \$(origin \$(var)) )23 auto_var = undefined CC MAKETEST MAKE foo CFLAGS WHITE @ 24 av = $(foreach var, $(auto_var), $(origin $(var)) ) 27 25 override WHITE := BLACK 28 26 all: auto 29 \t\@echo \$(origin undefined)30 \t\@echo \$(origin CC)31 \t\@echo \$(origin MAKETEST)32 \t\@echo \$(origin MAKE)33 \t\@echo \$(origin foo)34 \t\@echo \$(origin CFLAGS)35 \t\@echo \$(origin WHITE)36 \t\@echo \$(origin \@)27 @echo $(origin undefined) 28 @echo $(origin CC) 29 @echo $(origin MAKETEST) 30 @echo $(origin MAKE) 31 @echo $(origin foo) 32 @echo $(origin CFLAGS) 33 @echo $(origin WHITE) 34 @echo $(origin @) 37 35 auto : 38 \t\@echo \$(av) 39 EOF 40 41 close(MAKEFILE); 42 43 &run_make_with_options($makefile, 44 "-e WHITE=WHITE CFLAGS=", 45 &get_logfile); 46 47 # Create the answer to what should be produced by this Makefile 48 $answer = "undefined default environment default file command line override automatic 36 @echo $(av)', 37 '-e WHITE=WHITE CFLAGS=', 38 'undefined default environment default file command line override automatic 49 39 undefined 50 40 default … … 54 44 command line 55 45 override 56 automatic \n";46 automatic'); 57 47 58 59 &compare_output($answer,&get_logfile(1));48 # Reset an environment variable 49 delete $extraENV{MAKETEST}; 60 50 61 51 1; -
vendor/gnumake/current/tests/scripts/functions/realpath
r283 r501 21 21 endif 22 22 23 ifneq ($(realpath ///),/)24 $(error )25 endif26 27 23 ifneq ($(realpath /.),/) 28 $(error )29 endif30 31 ifneq ($(realpath ///.),/)32 24 $(error ) 33 25 endif … … 42 34 43 35 ifneq ($(realpath /..),/) 44 $(error )45 endif46 47 ifneq ($(realpath ///..),/)48 36 $(error ) 49 37 endif … … 64 52 all: ; @: 65 53 ', 66 '', 67 ''); 54 '', 55 ''); 56 57 # On Windows platforms, "//" means something special. So, don't do these 58 # tests there. 59 60 if ($port_type ne 'W32') { 61 run_make_test(' 62 ifneq ($(realpath ///),/) 63 $(error ) 64 endif 65 66 ifneq ($(realpath ///.),/) 67 $(error ) 68 endif 69 70 ifneq ($(realpath ///..),/) 71 $(error ) 72 endif 73 74 .PHONY: all 75 all: ; @:', 76 '', 77 ''); 78 } 68 79 69 80 -
vendor/gnumake/current/tests/scripts/functions/warning
r53 r501 1 # -*-Perl-*- 2 1 3 $description = "\ 2 4 The following test creates a makefile to test the warning function."; -
vendor/gnumake/current/tests/scripts/functions/wildcard
r284 r501 14 14 the '*' wildcard as in the first test"; 15 15 16 if ($vos)17 {18 $delete_command = "delete_file -no_ask";19 }20 else21 {22 $delete_command = "rm";23 }24 25 26 16 open(MAKEFILE,"> $makefile"); 27 17 … … 30 20 print MAKEFILE <<EOM; 31 21 .PHONY: print1 print2 clean 32 print1: ;\@echo \$( wildcard example.*)22 print1: ;\@echo \$(sort \$(wildcard example.*)) 33 23 print2: 34 \t\@echo \$( wildcard example.?)35 \t\@echo \$( wildcard example.[a-z0-9])36 \t\@echo \$( wildcard example.[!A-Za-z_\\!])24 \t\@echo \$(sort \$(wildcard example.?)) 25 \t\@echo \$(sort \$(wildcard example.[a-z0-9])) 26 \t\@echo \$(sort \$(wildcard example.[!A-Za-z_\\!])) 37 27 clean: 38 \t$delete_command \$( wildcard example.*)28 \t$delete_command \$(sort \$(wildcard example.*)) 39 29 EOM 40 30 -
vendor/gnumake/current/tests/scripts/functions/word
r284 r501 47 47 # Test error conditions 48 48 49 $makefile2 = &get_tmpfile; 50 51 open(MAKEFILE, "> $makefile2"); 52 print MAKEFILE <<'EOF'; 53 FOO = foo bar biz baz 49 run_make_test('FOO = foo bar biz baz 54 50 55 51 word-e1: ; @echo $(word ,$(FOO)) … … 59 55 wordlist-e1: ; @echo $(wordlist ,,$(FOO)) 60 56 wordlist-e2: ; @echo $(wordlist abc ,,$(FOO)) 61 wordlist-e3: ; @echo $(wordlist 1, 12a ,$(FOO)) 57 wordlist-e3: ; @echo $(wordlist 1, 12a ,$(FOO))', 58 'word-e1', 59 "#MAKEFILE#:3: *** non-numeric first argument to `word' function: ''. Stop.", 60 512); 62 61 63 EOF 62 run_make_test(undef, 63 'word-e2', 64 "#MAKEFILE#:4: *** non-numeric first argument to `word' function: 'abc '. Stop.", 65 512); 64 66 65 close(MAKEFILE); 67 run_make_test(undef, 68 'word-e3', 69 "#MAKEFILE#:5: *** non-numeric first argument to `word' function: '1a'. Stop.", 70 512); 66 71 67 &run_make_with_options($makefile2, 'word-e1', &get_logfile, 512); 68 $answer = "$makefile2:3: *** non-numeric first argument to `word' function: ''. Stop.\n"; 69 &compare_output($answer, &get_logfile(1)); 72 run_make_test(undef, 73 'wordlist-e1', 74 "#MAKEFILE#:7: *** non-numeric first argument to `wordlist' function: ''. Stop.", 75 512); 70 76 71 &run_make_with_options($makefile2, 'word-e2', &get_logfile, 512); 72 $answer = "$makefile2:4: *** non-numeric first argument to `word' function: 'abc '. Stop.\n"; 73 &compare_output($answer, &get_logfile(1)); 77 run_make_test(undef, 78 'wordlist-e2', 79 "#MAKEFILE#:8: *** non-numeric first argument to `wordlist' function: 'abc '. Stop.", 80 512); 74 81 75 &run_make_with_options($makefile2, 'word-e3', &get_logfile, 512); 76 $answer = "$makefile2:5: *** non-numeric first argument to `word' function: '1a'. Stop.\n"; 77 &compare_output($answer, &get_logfile(1)); 82 run_make_test(undef, 83 'wordlist-e3', 84 "#MAKEFILE#:9: *** non-numeric second argument to `wordlist' function: ' 12a '. Stop.", 85 512); 78 86 79 &run_make_with_options($makefile2, 'wordlist-e1', &get_logfile, 512); 80 $answer = "$makefile2:7: *** non-numeric first argument to `wordlist' function: ''. Stop.\n"; 81 &compare_output($answer, &get_logfile(1)); 87 # Test error conditions again, but this time in a variable reference 82 88 83 &run_make_with_options($makefile2, 'wordlist-e2', &get_logfile, 512); 84 $answer = "$makefile2:8: *** non-numeric first argument to `wordlist' function: 'abc '. Stop.\n"; 85 &compare_output($answer, &get_logfile(1)); 89 run_make_test('FOO = foo bar biz baz 86 90 87 &run_make_with_options($makefile2, 'wordlist-e3', &get_logfile, 512); 88 $answer = "$makefile2:9: *** non-numeric second argument to `wordlist' function: ' 12a '. Stop.\n"; 89 &compare_output($answer, &get_logfile(1)); 91 W = $(word $x,$(FOO)) 92 WL = $(wordlist $s,$e,$(FOO)) 93 94 word-e: ; @echo $(W) 95 wordlist-e: ; @echo $(WL)', 96 'word-e x=', 97 "#MAKEFILE#:3: *** non-numeric first argument to `word' function: ''. Stop.", 98 512); 99 100 run_make_test(undef, 101 'word-e x=abc', 102 "#MAKEFILE#:3: *** non-numeric first argument to `word' function: 'abc'. Stop.", 103 512); 104 105 run_make_test(undef, 106 'word-e x=0', 107 "#MAKEFILE#:3: *** first argument to `word' function must be greater than 0. Stop.", 108 512); 109 110 run_make_test(undef, 111 'wordlist-e s= e=', 112 "#MAKEFILE#:4: *** non-numeric first argument to `wordlist' function: ''. Stop.", 113 512); 114 115 run_make_test(undef, 116 'wordlist-e s=abc e=', 117 "#MAKEFILE#:4: *** non-numeric first argument to `wordlist' function: 'abc'. Stop.", 118 512); 119 120 run_make_test(undef, 121 'wordlist-e s=4 e=12a', 122 "#MAKEFILE#:4: *** non-numeric second argument to `wordlist' function: '12a'. Stop.", 123 512); 124 125 run_make_test(undef, 126 'wordlist-e s=0 e=12', 127 "#MAKEFILE#:4: *** invalid first argument to `wordlist' function: `0'. Stop.", 128 512); 90 129 91 130 -
vendor/gnumake/current/tests/scripts/misc/general3
r53 r501 6 6 break."; 7 7 8 $makefile2 = &get_tmpfile; 9 10 open(MAKEFILE,"> $makefile"); 11 12 # The contents of the Makefile ... 13 14 print MAKEFILE <<EOF; 8 run_make_test(" 15 9 # We want to allow both empty commands _and_ commands that resolve to empty. 16 10 EMPTY = … … 32 26 \$(STR) 33 27 34 \$(STR) \$(TAB) 35 36 EOF 37 38 close(MAKEFILE); 39 40 &run_make_with_options($makefile,"",&get_logfile); 41 $answer = "$make_name: Nothing to be done for `all'.\n"; 42 &compare_output($answer,&get_logfile(1)); 43 28 \$(STR) \$(TAB)", 29 '', "#MAKE#: Nothing to be done for `all'."); 44 30 45 31 # TEST 2 46 32 47 33 # Make sure files without trailing newlines are handled properly. 34 # Have to use the old style invocation to test this. 35 36 $makefile2 = &get_tmpfile; 48 37 49 38 open(MAKEFILE, "> $makefile2"); … … 55 44 &compare_output($answer,&get_logfile(1)); 56 45 46 # TEST 3 47 48 # Check semicolons in variable references 49 50 run_make_test(' 51 $(if true,$(info true; true)) 52 all: ; @: 53 ', 54 '', 'true; true'); 55 56 # TEST 4 57 58 # Check that backslashes in command scripts are handled according to POSIX. 59 # Checks Savannah bug # 1332. 60 61 # Test the fastpath / no quotes 62 run_make_test(' 63 all: 64 @echo foo\ 65 bar 66 @echo foo\ 67 bar 68 @echo foo\ 69 bar 70 @echo foo\ 71 bar 72 @echo foo \ 73 bar 74 @echo foo \ 75 bar 76 @echo foo \ 77 bar 78 @echo foo \ 79 bar 80 ', 81 '', 'foobar 82 foobar 83 foo bar 84 foo bar 85 foo bar 86 foo bar 87 foo bar 88 foo bar'); 89 90 # Test the fastpath / single quotes 91 run_make_test(" 92 all: 93 \@echo 'foo\\ 94 bar' 95 \@echo 'foo\\ 96 bar' 97 \@echo 'foo\\ 98 bar' 99 \@echo 'foo\\ 100 bar' 101 \@echo 'foo \\ 102 bar' 103 \@echo 'foo \\ 104 bar' 105 \@echo 'foo \\ 106 bar' 107 \@echo 'foo \\ 108 bar' 109 ", 110 '', 'foo\ 111 bar 112 foo\ 113 bar 114 foo\ 115 bar 116 foo\ 117 bar 118 foo \ 119 bar 120 foo \ 121 bar 122 foo \ 123 bar 124 foo \ 125 bar'); 126 127 # Test the fastpath / double quotes 128 run_make_test(' 129 all: 130 @echo "foo\ 131 bar" 132 @echo "foo\ 133 bar" 134 @echo "foo\ 135 bar" 136 @echo "foo\ 137 bar" 138 @echo "foo \ 139 bar" 140 @echo "foo \ 141 bar" 142 @echo "foo \ 143 bar" 144 @echo "foo \ 145 bar" 146 ', 147 '', 'foobar 148 foobar 149 foo bar 150 foo bar 151 foo bar 152 foo bar 153 foo bar 154 foo bar'); 155 156 # Test the slow path / no quotes 157 run_make_test(' 158 all: 159 @echo hi; echo foo\ 160 bar 161 @echo hi; echo foo\ 162 bar 163 @echo hi; echo foo\ 164 bar 165 @echo hi; echo foo\ 166 bar 167 @echo hi; echo foo \ 168 bar 169 @echo hi; echo foo \ 170 bar 171 @echo hi; echo foo \ 172 bar 173 @echo hi; echo foo \ 174 bar 175 ', 176 '', 'hi 177 foobar 178 hi 179 foobar 180 hi 181 foo bar 182 hi 183 foo bar 184 hi 185 foo bar 186 hi 187 foo bar 188 hi 189 foo bar 190 hi 191 foo bar'); 192 193 # Test the slow path / no quotes. This time we put the slow path 194 # determination _after_ the backslash-newline handling. 195 run_make_test(' 196 all: 197 @echo foo\ 198 bar; echo hi 199 @echo foo\ 200 bar; echo hi 201 @echo foo\ 202 bar; echo hi 203 @echo foo\ 204 bar; echo hi 205 @echo foo \ 206 bar; echo hi 207 @echo foo \ 208 bar; echo hi 209 @echo foo \ 210 bar; echo hi 211 @echo foo \ 212 bar; echo hi 213 ', 214 '', 'foobar 215 hi 216 foobar 217 hi 218 foo bar 219 hi 220 foo bar 221 hi 222 foo bar 223 hi 224 foo bar 225 hi 226 foo bar 227 hi 228 foo bar 229 hi'); 230 231 # Test the slow path / single quotes 232 run_make_test(" 233 all: 234 \@echo hi; echo 'foo\\ 235 bar' 236 \@echo hi; echo 'foo\\ 237 bar' 238 \@echo hi; echo 'foo\\ 239 bar' 240 \@echo hi; echo 'foo\\ 241 bar' 242 \@echo hi; echo 'foo \\ 243 bar' 244 \@echo hi; echo 'foo \\ 245 bar' 246 \@echo hi; echo 'foo \\ 247 bar' 248 \@echo hi; echo 'foo \\ 249 bar' 250 ", 251 '', 'hi 252 foo\ 253 bar 254 hi 255 foo\ 256 bar 257 hi 258 foo\ 259 bar 260 hi 261 foo\ 262 bar 263 hi 264 foo \ 265 bar 266 hi 267 foo \ 268 bar 269 hi 270 foo \ 271 bar 272 hi 273 foo \ 274 bar'); 275 276 # Test the slow path / double quotes 277 run_make_test(' 278 all: 279 @echo hi; echo "foo\ 280 bar" 281 @echo hi; echo "foo\ 282 bar" 283 @echo hi; echo "foo\ 284 bar" 285 @echo hi; echo "foo\ 286 bar" 287 @echo hi; echo "foo \ 288 bar" 289 @echo hi; echo "foo \ 290 bar" 291 @echo hi; echo "foo \ 292 bar" 293 @echo hi; echo "foo \ 294 bar" 295 ', 296 '', 'hi 297 foobar 298 hi 299 foobar 300 hi 301 foo bar 302 hi 303 foo bar 304 hi 305 foo bar 306 hi 307 foo bar 308 hi 309 foo bar 310 hi 311 foo bar'); 57 312 58 313 1; -
vendor/gnumake/current/tests/scripts/misc/general4
r284 r501 6 6 break."; 7 7 8 open(MAKEFILE,"> $makefile"); 9 print MAKEFILE <<'EOF'; 8 run_make_test(' 10 9 # Make sure that subdirectories built as prerequisites are actually handled 11 10 # properly. … … 17 16 dir/subdir/file.b: dir/subdir ; @echo touch dir/subdir/file.b 18 17 19 dir/subdir/%.a: dir/subdir/%.b ; @echo cp $< $@ 20 EOF 21 close(MAKEFILE); 22 23 &run_make_with_options($makefile,"",&get_logfile); 24 $answer = "mkdir -p dir/subdir\ntouch dir/subdir/file.b\ncp dir/subdir/file.b dir/subdir/file.a\n"; 25 &compare_output($answer,&get_logfile(1)); 18 dir/subdir/%.a: dir/subdir/%.b ; @echo cp $< $@', 19 '', "mkdir -p dir/subdir\ntouch dir/subdir/file.b\ncp dir/subdir/file.b dir/subdir/file.a\n"); 26 20 27 21 # Test implicit rules … … 48 42 unlink('bar'); 49 43 44 45 # Test implicit rules with '$' in the name (see se_implicit) 46 47 run_make_test(q! 48 %.foo : baz$$bar ; @echo 'done $<' 49 %.foo : bar$$baz ; @echo 'done $<' 50 test.foo: 51 baz$$bar bar$$baz: ; @echo '$@' 52 !, 53 '', 54 "baz\$bar\ndone baz\$bar"); 55 56 57 # Test implicit rules with '$' in the name (see se_implicit) 58 # Use the '$' in the pattern. 59 60 run_make_test(q! 61 %.foo : %$$bar ; @echo 'done $<' 62 test.foo: 63 test$$bar: ; @echo '$@' 64 !, 65 '', 66 "test\$bar\ndone test\$bar"); 67 68 # Make sure that subdirectories built as prerequisites are actually handled 69 # properly... this time with '$' 70 71 run_make_test(q! 72 73 all: dir/subdir/file.$$a 74 75 dir/subdir: ; @echo mkdir -p '$@' 76 77 dir/subdir/file.$$b: dir/subdir ; @echo touch '$@' 78 79 dir/subdir/%.$$a: dir/subdir/%.$$b ; @echo 'cp $< $@' 80 !, 81 '', "mkdir -p dir/subdir\ntouch dir/subdir/file.\$b\ncp dir/subdir/file.\$b dir/subdir/file.\$a\n"); 82 50 83 1; -
vendor/gnumake/current/tests/scripts/options/dash-B
r284 r501 32 32 run_make_test(undef, '-B', 'cp bar.x foo'); 33 33 34 35 34 # Clean up 36 35 37 36 rmfiles('bar.x', 'foo'); 38 37 38 # Test -B with the re-exec feature: we don't want to re-exec forever 39 # Savannah bug # 7566 40 41 run_make_test(' 42 all: ; @: 43 $(info MAKE_RESTARTS=$(MAKE_RESTARTS)) 44 include foo.x 45 foo.x: ; @touch $@ 46 ', 47 '-B', 'MAKE_RESTARTS= 48 #MAKEFILE#:4: foo.x: No such file or directory 49 MAKE_RESTARTS=1'); 50 51 rmfiles('foo.x'); 52 53 # Test -B with the re-exec feature: we DO want -B in the "normal" part of the 54 # makefile. 55 56 &touch('blah.x'); 57 58 run_make_test(' 59 all: blah.x ; @echo $@ 60 $(info MAKE_RESTARTS=$(MAKE_RESTARTS)) 61 include foo.x 62 foo.x: ; @touch $@ 63 blah.x: ; @echo $@ 64 ', 65 '-B', 'MAKE_RESTARTS= 66 #MAKEFILE#:4: foo.x: No such file or directory 67 MAKE_RESTARTS=1 68 blah.x 69 all'); 70 71 rmfiles('foo.x', 'blah.x'); 72 39 73 1; -
vendor/gnumake/current/tests/scripts/options/dash-I
r53 r501 1 # -*-perl-*- 2 1 3 $description ="The following test creates a makefile to test the -I option."; 2 4 -
vendor/gnumake/current/tests/scripts/options/dash-e
r53 r501 5 5 $details = ""; 6 6 7 $ ENV{GOOGLE} = 'boggle';7 $extraENV{GOOGLE} = 'boggle'; 8 8 9 9 open(MAKEFILE,"> $makefile"); -
vendor/gnumake/current/tests/scripts/options/symlinks
r283 r501 6 6 7 7 # Only run these tests if the system sypports symlinks 8 if (eval { symlink("",""); 1 }) { 8 9 # Apparently the Windows port of Perl reports that it does support symlinks 10 # (in that the symlink() function doesn't fail) but it really doesn't, so 11 # check for it explicitly. 12 13 if ($port_type eq 'W32' || !( eval { symlink("",""); 1 })) { 14 # This test is N/A 15 -1; 16 } else { 9 17 10 18 # Set up a symlink sym -> dep … … 43 51 44 52 rmfiles('targ', 'dep', 'sym', 'dep1'); 53 54 # Check handling when symlinks point to non-existent files. Without -L we 55 # should get an error: with -L we should use the timestamp of the symlink. 56 57 symlink("../$dirname/dep", 'sym'); 58 run_make_test('targ: sym ; @echo make $@ from $<', '', 59 "#MAKE#: *** No rule to make target `sym', needed by `targ'. Stop.", 512); 60 61 run_make_test('targ: sym ; @echo make $@ from $<', '-L', 62 'make targ from sym'); 63 64 65 rmfiles('targ', 'sym'); 66 67 1; 45 68 } 46 47 1; -
vendor/gnumake/current/tests/scripts/targets/FORCE
r284 r501 1 # -*-perl-*- 2 1 3 $description = "The following tests rules without Commands or Dependencies."; 2 4 3 5 $details = "If the rule ...\n"; 4 5 if ($vos)6 {7 $delete_command = "delete_file";8 }9 else10 {11 $delete_command = "rm";12 }13 6 14 7 open(MAKEFILE,"> $makefile"); -
vendor/gnumake/current/tests/scripts/targets/PHONY
r284 r501 1 # -*-perl-*- 2 1 3 $description = "The following tests the use of a PHONY target. It makes\n" 2 4 ."sure that the rules under a target get executed even if\n" … … 8 10 ."directory. Although this file exists, the rule under the target\n" 9 11 ."clean should still execute because of it's phony status."; 10 11 if ($vos)12 {13 $delete_command = "delete_file";14 }15 else16 {17 $delete_command = "rm";18 }19 12 20 13 $example = "EXAMPLE_FILE"; -
vendor/gnumake/current/tests/scripts/targets/SILENT
r284 r501 1 # -*-perl-*- 2 1 3 $description = "The following tests the special target .SILENT. By simply\n" 2 4 ."mentioning this as a target, it tells make not to print\n" … … 5 7 $details = "This test is the same as the clean test except that it should\n" 6 8 ."not echo its command before deleting the specified file.\n"; 7 8 if ($vos)9 {10 $delete_command = "delete_file";11 }12 else13 {14 $delete_command = "rm";15 }16 9 17 10 $example = "EXAMPLE_FILE"; -
vendor/gnumake/current/tests/scripts/variables/SHELL
r283 r501 5 5 # Find the default value when SHELL is not set. On UNIX it will be /bin/sh, 6 6 # but on other platforms who knows? 7 $oshell = $ENV{SHELL};7 resetENV(); 8 8 delete $ENV{SHELL}; 9 $mshell = `echo 'all:;\@echo \$(SHELL)' | $make_ name-f-`;9 $mshell = `echo 'all:;\@echo \$(SHELL)' | $make_path -f-`; 10 10 chop $mshell; 11 11 12 12 # According to POSIX, the value of SHELL in the environment has no impact on 13 13 # the value in the makefile. 14 # Note %extraENV takes precedence over the default value for the shell. 14 15 15 $ ENV{SHELL} = '/dev/null';16 $extraENV{SHELL} = '/dev/null'; 16 17 run_make_test('all:;@echo "$(SHELL)"', '', $mshell); 17 18 … … 19 20 # exported to the subshell! I wanted to set SHELL to be $^X (perl) in the 20 21 # makefile, but make runs $(SHELL) -c 'commandline' and that doesn't work at 21 # all when $(SHELL) is perl :-/. So, we just add an extra initial / and hope22 # for the best on non-UNIX platforms :-/.22 # all when $(SHELL) is perl :-/. So, we just add an extra initial /./ which 23 # works well on UNIX and seems to work OK on at least some non-UNIX systems. 23 24 24 $ ENV{SHELL} = $mshell;25 $extraENV{SHELL} = $mshell; 25 26 26 run_make_test("SHELL := / $mshell\n".'27 run_make_test("SHELL := /./$mshell\n".' 27 28 all:;@echo "$(SHELL) $$SHELL" 28 ', '', "/ $mshell $mshell");29 ', '', "/./$mshell $mshell"); 29 30 30 31 # As a GNU make extension, if make's SHELL variable is explicitly exported, 31 32 # then we really _DO_ export it. 32 33 33 run_make_test("export SHELL := /$mshell\n".' 34 $extraENV{SHELL} = $mshell; 35 36 run_make_test("export SHELL := /./$mshell\n".' 34 37 all:;@echo "$(SHELL) $$SHELL" 35 ', '', "/ $mshell/$mshell");38 ', '', "/./$mshell /./$mshell"); 36 39 37 40 … … 39 42 # variable. 40 43 41 run_make_test("all: SHELL := /$mshell\n".' 44 $extraENV{SHELL} = $mshell; 45 46 run_make_test("all: SHELL := /./$mshell\n".' 42 47 all:;@echo "$(SHELL) $$SHELL" 43 ', '', "/ $mshell $mshell");48 ', '', "/./$mshell $mshell"); 44 49 45 run_make_test("all: export SHELL := /$mshell\n".' 50 $extraENV{SHELL} = $mshell; 51 52 run_make_test("all: export SHELL := /./$mshell\n".' 46 53 all:;@echo "$(SHELL) $$SHELL" 47 ', '', "/ $mshell $mshell");54 ', '', "/./$mshell $mshell"); 48 55 49 56 1; -
vendor/gnumake/current/tests/scripts/variables/automatic
r284 r501 28 28 close(MAKEFILE); 29 29 30 # TEST # 1-- simple test30 # TEST #0 -- simple test 31 31 # ------- 32 32 … … 47 47 unlink(qw(foo.x bar.y baz.z)); 48 48 49 # TEST # 2-- test the SysV emulation of $$@ etc.49 # TEST #1 -- test the SysV emulation of $$@ etc. 50 50 # ------- 51 51 … … 55 55 print MAKEFILE "dir = $dir\n"; 56 56 print MAKEFILE <<'EOF'; 57 .SECONDEXPANSION: 57 58 .SUFFIXES: 58 59 .DEFAULT: ; @echo '$@' … … 79 80 &compare_output($answer, &get_logfile(1)); 80 81 81 # TEST # 3-- test for Savannah bug #12320.82 # TEST #2 -- test for Savannah bug #12320. 82 83 # 83 84 run_make_test(' … … 87 88 @echo $* 88 89 89 mbr.src: ; @: 90 mbr.src: ; @:', 91 '', 92 'mbr'); 90 93 91 ', 92 '', 93 'mbr 94 '); 94 # TEST #3 -- test for Savannah bug #8154 95 # Make sure that nonexistent prerequisites are listed in $?, since they are 96 # considered reasons for the target to be rebuilt. 97 # 98 # This was undone due to Savannah bug #16002. We'll re-do it in the next 99 # release. See Savannah bug #16051. 100 101 #touch('foo'); 102 # 103 #run_make_test(' 104 #foo: bar ; @echo "\$$? = $?" 105 #bar: ;', 106 # '', 107 # '$? = bar'); 108 # 109 #unlink('foo'); 95 110 96 111 1; -
vendor/gnumake/current/tests/test_driver.pl
r280 r501 1 1 #!/usr/bin/perl 2 2 # -*-perl-*- 3 3 # 4 4 # Modification history: 5 5 # Written 91-12-02 through 92-01-01 by Stephen McGee. 6 6 # Modified 92-02-11 through 92-02-22 by Chris Arthur to further generalize. 7 # End of modification history 7 # 8 # Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 9 # 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 10 # This file is part of GNU Make. 11 # 12 # GNU Make is free software; you can redistribute it and/or modify it under the 13 # terms of the GNU General Public License as published by the Free Software 14 # Foundation; either version 2, or (at your option) any later version. 15 # 16 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 17 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 18 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 19 # 20 # You should have received a copy of the GNU General Public License along with 21 # GNU Make; see the file COPYING. If not, write to the Free Software 22 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 23 8 24 9 25 # Test driver routines used by a number of test suites, including 10 26 # those for SCS, make, roll_dir, and scan_deps (?). 11 27 # 12 28 # this routine controls the whole mess; each test suite sets up a few 13 29 # variables and then calls &toplevel, which does all the real work. 14 30 15 # $Id: test_driver.pl,v 1.1 4 2005/02/28 07:48:23psmith Exp $31 # $Id: test_driver.pl,v 1.19 2006/03/10 02:20:45 psmith Exp $ 16 32 17 33 … … 33 49 $test_passed = 1; 34 50 51 52 # %makeENV is the cleaned-out environment. 53 %makeENV = (); 54 55 # %extraENV are any extra environment variables the tests might want to set. 56 # These are RESET AFTER EVERY TEST! 57 %extraENV = (); 58 59 # %origENV is the caller's original environment 60 %origENV = %ENV; 61 62 sub resetENV 63 { 64 # We used to say "%ENV = ();" but this doesn't work in Perl 5.000 65 # through Perl 5.004. It was fixed in Perl 5.004_01, but we don't 66 # want to require that here, so just delete each one individually. 67 foreach $v (keys %ENV) { 68 delete $ENV{$v}; 69 } 70 71 %ENV = %makeENV; 72 foreach $v (keys %extraENV) { 73 $ENV{$v} = $extraENV{$v}; 74 delete $extraENV{$v}; 75 } 76 } 77 35 78 sub toplevel 36 79 { 37 # Get a clean environment38 39 %makeENV = ();40 41 80 # Pull in benign variables from the user's environment 42 81 # … … 58 97 %origENV = %ENV; 59 98 60 # We used to say "%ENV = ();" but this doesn't work in Perl 5.000 61 # through Perl 5.004. It was fixed in Perl 5.004_01, but we don't 62 # want to require that here, so just delete each one individually. 63 64 foreach $v (keys %ENV) { 65 delete $ENV{$v}; 66 } 67 68 %ENV = %makeENV; 99 resetENV(); 69 100 70 101 $| = 1; # unbuffered output … … 134 165 opendir (SCRIPTDIR, $scriptpath) 135 166 || &error ("Couldn't opendir $scriptpath: $!\n"); 136 @dirs = grep (!/^(\. \.?|CVS|RCS)$/, readdir (SCRIPTDIR) );167 @dirs = grep (!/^(\..*|CVS|RCS)$/, readdir (SCRIPTDIR) ); 137 168 closedir (SCRIPTDIR); 138 169 foreach $dir (@dirs) 139 170 { 140 next if ($dir =~ /^\.\.?$/ || $dir eq 'CVS' || $dir eq 'RCS' 141 || ! -d "$scriptpath/$dir"); 171 next if ($dir =~ /^(\..*|CVS|RCS)$/ || ! -d "$scriptpath/$dir"); 142 172 push (@rmdirs, $dir); 143 173 mkdir ("$workpath/$dir", 0777) … … 145 175 opendir (SCRIPTDIR, "$scriptpath/$dir") 146 176 || &error ("Couldn't opendir $scriptpath/$dir: $!\n"); 147 @files = grep (!/^(\. \.?|CVS|RCS)$/, readdir (SCRIPTDIR) );177 @files = grep (!/^(\..*|CVS|RCS|.*~)$/, readdir (SCRIPTDIR) ); 148 178 closedir (SCRIPTDIR); 149 179 foreach $test (@files) 150 180 { 151 next if $test =~ /~$/ || -d $test;181 -d $test and next; 152 182 push (@TESTS, "$dir/$test"); 153 183 } … … 398 428 $baseext = 'b'; 399 429 $extext = ''; 400 } 401 else { 430 } else { 402 431 $logext = 'log'; 403 432 $diffext = 'diff'; … … 430 459 { 431 460 $suite_passed = 0; 432 if (length ($@)) 433 { 461 if (length ($@)) { 434 462 warn "\n*** Test died ($testname): $@\n"; 435 } 436 else 437 { 463 } else { 438 464 warn "\n*** Couldn't run $perl_testname\n"; 439 465 } … … 461 487 } 462 488 } 463 elsif ( $code > 0) {489 elsif (!defined $code || $code > 0) { 464 490 $status = "FAILED ($tests_passed/$tests_run passed)"; 465 491 } … … 745 771 local ($code); 746 772 773 # We reset this before every invocation. On Windows I think there is only 774 # one environment, not one per process, so I think that variables set in 775 # test scripts might leak into subsequent tests if this isn't reset--??? 776 resetENV(); 777 747 778 print "\nrun_command: @_\n" if $debug; 748 779 $code = system @_; … … 761 792 local ($filename) = shift; 762 793 local ($code); 794 795 # We reset this before every invocation. On Windows I think there is only 796 # one environment, not one per process, so I think that variables set in 797 # test scripts might leak into subsequent tests if this isn't reset--??? 798 resetENV(); 763 799 764 800 &attach_default_output ($filename); -
vendor/gnumake/current/variable.c
r280 r501 1 1 /* Internals of variables for GNU Make. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997, 3 2002 Free Software Foundation, Inc. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 4 5 This file is part of GNU Make. 5 6 6 GNU Make is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2, or (at your option) 9 any later version. 10 11 GNU Make is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with GNU Make; see the file COPYING. If not, write to 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 Boston, MA 02111-1307, USA. */ 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 20 18 21 19 #include "make.h" 20 21 #include <assert.h> 22 22 23 #include "dep.h" 23 24 #include "filedef.h" … … 450 451 initialize_file_variables (struct file *file, int reading) 451 452 { 452 registerstruct variable_set_list *l = file->variables;453 struct variable_set_list *l = file->variables; 453 454 454 455 if (l == 0) … … 546 547 and free all its storage. */ 547 548 548 static void549 free_variable_name_and_value (const void *item)550 {551 struct variable *v = (struct variable *) item;552 free (v->name);553 free (v->value);554 }555 556 void557 pop_variable_scope (void)558 {559 struct variable_set_list *setlist = current_variable_set_list;560 struct variable_set *set = setlist->set;561 562 current_variable_set_list = setlist->next;563 free ((char *) setlist);564 565 hash_map (&set->table, free_variable_name_and_value);566 hash_free (&set->table, 1);567 568 free ((char *) set);569 }570 571 549 struct variable_set_list * 572 550 create_new_variable_set (void) … … 587 565 } 588 566 589 /* Create a new variable set and push it on the current setlist. */ 567 static void 568 free_variable_name_and_value (const void *item) 569 { 570 struct variable *v = (struct variable *) item; 571 free (v->name); 572 free (v->value); 573 } 574 575 void 576 free_variable_set (struct variable_set_list *list) 577 { 578 hash_map (&list->set->table, free_variable_name_and_value); 579 hash_free (&list->set->table, 1); 580 free ((char *) list->set); 581 free ((char *) list); 582 } 583 584 /* Create a new variable set and push it on the current setlist. 585 If we're pushing a global scope (that is, the current scope is the global 586 scope) then we need to "push" it the other way: file variable sets point 587 directly to the global_setlist so we need to replace that with the new one. 588 */ 590 589 591 590 struct variable_set_list * 592 591 push_new_variable_scope (void) 593 592 { 594 return (current_variable_set_list = create_new_variable_set()); 593 current_variable_set_list = create_new_variable_set(); 594 if (current_variable_set_list->next == &global_setlist) 595 { 596 /* It was the global, so instead of new -> &global we want to replace 597 &global with the new one and have &global -> new, with current still 598 pointing to &global */ 599 struct variable_set *set = current_variable_set_list->set; 600 current_variable_set_list->set = global_setlist.set; 601 global_setlist.set = set; 602 current_variable_set_list->next = global_setlist.next; 603 global_setlist.next = current_variable_set_list; 604 current_variable_set_list = &global_setlist; 605 } 606 return (current_variable_set_list); 607 } 608 609 void 610 pop_variable_scope (void) 611 { 612 struct variable_set_list *setlist; 613 struct variable_set *set; 614 615 /* Can't call this if there's no scope to pop! */ 616 assert(current_variable_set_list->next != NULL); 617 618 if (current_variable_set_list != &global_setlist) 619 { 620 /* We're not pointing to the global setlist, so pop this one. */ 621 setlist = current_variable_set_list; 622 set = setlist->set; 623 current_variable_set_list = setlist->next; 624 } 625 else 626 { 627 /* This set is the one in the global_setlist, but there is another global 628 set beyond that. We want to copy that set to global_setlist, then 629 delete what used to be in global_setlist. */ 630 setlist = global_setlist.next; 631 set = global_setlist.set; 632 global_setlist.set = setlist->set; 633 global_setlist.next = setlist->next; 634 } 635 636 /* Free the one we no longer need. */ 637 free ((char *) setlist); 638 hash_map (&set->table, free_variable_name_and_value); 639 hash_free (&set->table, 1); 640 free ((char *) set); 595 641 } 596 642 … … 628 674 struct variable_set_list *setlist1) 629 675 { 630 register struct variable_set_list *list0= *setlist0;676 struct variable_set_list *to = *setlist0; 631 677 struct variable_set_list *last0 = 0; 632 678 633 while (setlist1 != 0 && list0 != 0) 634 { 635 struct variable_set_list *next = setlist1; 636 setlist1 = setlist1->next; 637 638 merge_variable_sets (list0->set, next->set); 639 640 last0 = list0; 641 list0 = list0->next; 642 } 643 644 if (setlist1 != 0) 679 /* If there's nothing to merge, stop now. */ 680 if (!setlist1) 681 return; 682 683 /* This loop relies on the fact that all setlists terminate with the global 684 setlist (before NULL). If that's not true, arguably we SHOULD die. */ 685 if (to) 686 while (setlist1 != &global_setlist && to != &global_setlist) 687 { 688 struct variable_set_list *from = setlist1; 689 setlist1 = setlist1->next; 690 691 merge_variable_sets (to->set, from->set); 692 693 last0 = to; 694 to = to->next; 695 } 696 697 if (setlist1 != &global_setlist) 645 698 { 646 699 if (last0 == 0) … … 1127 1180 #endif /* __MSDOS__ */ 1128 1181 #ifdef WINDOWS32 1129 if ((origin == o_file || origin == o_override) && streq (varname, "SHELL")) 1182 if ((origin == o_file || origin == o_override || origin == o_command) 1183 && streq (varname, "SHELL")) 1130 1184 { 1131 1185 extern char *default_shell; -
vendor/gnumake/current/variable.h
r280 r501 1 1 /* Definitions for using variables in GNU Make. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 2002 Free Software Foundation, Inc. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 3 5 This file is part of GNU Make. 4 6 5 GNU Make is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2, or (at your option) 8 any later version. 9 10 GNU Make is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with GNU Make; see the file COPYING. If not, write to 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 Boston, MA 02111-1307, USA. */ 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 19 18 20 19 #include "hash.h" … … 138 137 /* variable.c */ 139 138 extern struct variable_set_list *create_new_variable_set PARAMS ((void)); 139 extern void free_variable_set PARAMS ((struct variable_set_list *)); 140 140 extern struct variable_set_list *push_new_variable_scope PARAMS ((void)); 141 141 extern void pop_variable_scope PARAMS ((void)); -
vendor/gnumake/current/version.c
r54 r501 1 /* Record version and build host architecture for GNU make. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 5 This file is part of GNU Make. 6 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 18 1 19 /* We use <config.h> instead of "config.h" so that a compilation 2 20 using -I. -I$srcdir will use ./config.h rather than $srcdir/config.h -
vendor/gnumake/current/vmsdir.h
r54 r501 1 /* dirent.h for vms */ 1 /* dirent.h for vms 2 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 3 2006 Free Software Foundation, Inc. 4 This file is part of GNU Make. 5 6 GNU Make is free software; you can redistribute it and/or modify it under the 7 terms of the GNU General Public License as published by the Free Software 8 Foundation; either version 2, or (at your option) any later version. 9 10 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License along with 15 GNU Make; see the file COPYING. If not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 2 17 3 18 #ifndef VMSDIR_H -
vendor/gnumake/current/vmsfunctions.c
r280 r501 1 /* vmsfunctions.c */ 1 /* VMS functions 2 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 3 2006 Free Software Foundation, Inc. 4 This file is part of GNU Make. 5 6 GNU Make is free software; you can redistribute it and/or modify it under the 7 terms of the GNU General Public License as published by the Free Software 8 Foundation; either version 2, or (at your option) any later version. 9 10 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License along with 15 GNU Make; see the file COPYING. If not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 2 17 3 18 #include "make.h" … … 91 106 strncpy (dentry->d_name, dnam->nam$l_name, dentry->d_namlen); 92 107 dentry->d_name[dentry->d_namlen] = '\0'; 108 109 #ifdef HAVE_CASE_INSENSITIVE_FS 93 110 uppercasify (dentry->d_name); 111 #endif 94 112 95 113 return (dentry); -
vendor/gnumake/current/vmsify.c
r54 r501 1 /* 2 vmsify.c 3 4 Module for vms <-> unix file name conversion 5 6 Written by Klaus Kämpf ([email protected]) 7 of proGIS Software, Aachen, Germany 8 9 */ 1 /* vmsify.c -- Module for vms <-> unix file name conversion 2 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 3 2006 Free Software Foundation, Inc. 4 This file is part of GNU Make. 5 6 GNU Make is free software; you can redistribute it and/or modify it under the 7 terms of the GNU General Public License as published by the Free Software 8 Foundation; either version 2, or (at your option) any later version. 9 10 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License along with 15 GNU Make; see the file COPYING. If not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 17 18 /* Written by Klaus Kämpf ([email protected]) 19 of proGIS Software, Aachen, Germany */ 20 10 21 11 22 #include <stdio.h> … … 80 91 else 81 92 { 93 #ifdef HAVE_CASE_INSENSITIVE_FS 82 94 if (isupper ((unsigned char)**from)) 83 95 **to = tolower ((unsigned char)**from); 84 96 else 97 #endif 85 98 **to = **from; 86 99 } -
vendor/gnumake/current/vmsjobs.c
r280 r501 1 2 3 4 1 /* --------------- Moved here from job.c --------------- 5 2 This file must be #included in job.c, as it accesses static functions. 6 */ 3 4 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 5 2006 Free Software Foundation, Inc. 6 This file is part of GNU Make. 7 8 GNU Make is free software; you can redistribute it and/or modify it under the 9 terms of the GNU General Public License as published by the Free Software 10 Foundation; either version 2, or (at your option) any later version. 11 12 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 13 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 14 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License along with 17 GNU Make; see the file COPYING. If not, write to the Free Software 18 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 19 20 #include <string.h> 21 #include <descrip.h> 22 #include <clidef.h> 23 24 extern char *vmsify PARAMS ((char *name, int type)); 7 25 8 26 static int vms_jobsefnmask = 0; 9 27 10 28 /* Wait for nchildren children to terminate */ 11 void29 static void 12 30 vmsWaitForChildren(int *status) 13 31 { … … 92 110 return p; 93 111 } 94 95 #include <descrip.h>96 #include <clidef.h>97 112 98 113 /* This is called as an AST when a child process dies (it won't get … … 198 213 199 214 /* local helpers to make ctrl+c and ctrl+y working, see below */ 215 #include <iodef.h> 200 216 #include <libclidef.h> 201 217 #include <ssdef.h> -
vendor/gnumake/current/vpath.c
r153 r501 1 1 /* Implementation of pattern-matching file search paths for GNU Make. 2 Copyright (C) 1988,89,91,92,93,94,95,96,97 Free Software Foundation, Inc. 2 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 3 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 4 Foundation, Inc. 3 5 This file is part of GNU Make. 4 6 5 GNU Make is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2, or (at your option) 8 any later version. 9 10 GNU Make is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with GNU Make; see the file COPYING. If not, write to 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 Boston, MA 02111-1307, USA. */ 7 GNU Make is free software; you can redistribute it and/or modify it under the 8 terms of the GNU General Public License as published by the Free Software 9 Foundation; either version 2, or (at your option) any later version. 10 11 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 13 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along with 16 GNU Make; see the file COPYING. If not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 19 18 20 19 #include "make.h" … … 471 470 In December 1993 I loosened this restriction to allow a file 472 471 to be chosen if it is mentioned as a target in a makefile. This 473 seem logical. */ 472 seem logical. 473 474 Special handling for -W / -o: make sure we preserve the special 475 values here. Actually this whole thing is a little bogus: I think 476 we should ditch the name/hname thing and look into the renamed 477 capability that already exists for files: that is, have a new struct 478 file* entry for the VPATH-found file, and set the renamed field if 479 we use it. 480 */ 474 481 { 475 482 struct file *f = lookup_file (name); 476 483 if (f != 0) 477 exists = not_target || f->is_target; 484 { 485 exists = not_target || f->is_target; 486 if (exists && mtime_ptr 487 && (f->last_mtime == OLD_MTIME || f->last_mtime == NEW_MTIME)) 488 { 489 *mtime_ptr = f->last_mtime; 490 mtime_ptr = 0; 491 } 492 } 478 493 } 479 494 … … 522 537 continue; 523 538 } 539 540 /* Store the modtime into *MTIME_PTR for the caller. */ 541 if (mtime_ptr != 0) 542 { 543 *mtime_ptr = FILE_TIMESTAMP_STAT_MODTIME (name, st); 544 mtime_ptr = 0; 545 } 524 546 } 525 547 … … 529 551 *file = savestring (name, (n + 1 - name) + flen); 530 552 553 /* If we get here and mtime_ptr hasn't been set, record 554 UNKNOWN_MTIME to indicate this. */ 531 555 if (mtime_ptr != 0) 532 /* Store the modtime into *MTIME_PTR for the caller. 533 If we have had no need to stat the file here, 534 we record UNKNOWN_MTIME to indicate this. */ 535 *mtime_ptr = (exists_in_cache 536 ? FILE_TIMESTAMP_STAT_MODTIME (name, st) 537 : UNKNOWN_MTIME); 556 *mtime_ptr = UNKNOWN_MTIME; 538 557 539 558 free (name); -
vendor/gnumake/current/w32/Makefile.am
r283 r501 1 1 # Makefile.am to create libw32.a for mingw32 host. 2 # Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 3 # Free Software Foundation, Inc. 4 # This file is part of GNU Make. 5 # 6 # GNU Make is free software; you can redistribute it and/or modify it under the 7 # terms of the GNU General Public License as published by the Free Software 8 # Foundation; either version 2, or (at your option) any later version. 9 # 10 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 # 14 # You should have received a copy of the GNU General Public License along with 15 # GNU Make; see the file COPYING. If not, write to the Free Software 16 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2 17 3 18 noinst_LIBRARIES = libw32.a -
vendor/gnumake/current/w32/compat/dirent.c
r53 r501 1 /* Directory entry code for Window platforms. 2 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 3 2006 Free Software Foundation, Inc. 4 This file is part of GNU Make. 5 6 GNU Make is free software; you can redistribute it and/or modify it under the 7 terms of the GNU General Public License as published by the Free Software 8 Foundation; either version 2, or (at your option) any later version. 9 10 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License along with 15 GNU Make; see the file COPYING. If not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 17 18 1 19 #include <sys/types.h> 2 20 #include <sys/stat.h> … … 58 76 /* other values defaulted */ 59 77 pDir->dir_nNumFiles = 0; 60 pDir->dir_hDirHandle = INVALID_HANDLE_VALUE; 78 pDir->dir_hDirHandle = INVALID_HANDLE_VALUE; 61 79 pDir->dir_ulCookie = __DIRENT_COOKIE; 62 80 -
vendor/gnumake/current/w32/include/dirent.h
r53 r501 1 1 /* Windows version of dirent.h 2 Copyright (C) 1996, 1997, 2003 Free Software Foundation, Inc. 2 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 3 2006 Free Software Foundation, Inc. 3 4 This file is part of GNU Make. 4 5 5 GNU Make is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2, or (at your option) 8 any later version. 6 GNU Make is free software; you can redistribute it and/or modify it under the 7 terms of the GNU General Public License as published by the Free Software 8 Foundation; either version 2, or (at your option) any later version. 9 9 10 GNU Make is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 10 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 13 15 You should have received a copy of the GNU General Public License 16 along with GNU Make; see the file COPYING. If not, write to 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 18 MA 02111-1307, USA. */ 14 You should have received a copy of the GNU General Public License along with 15 GNU Make; see the file COPYING. If not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 19 17 20 18 #ifndef _DIRENT_H -
vendor/gnumake/current/w32/include/pathstuff.h
r53 r501 1 /* Definitions for Windows path manipulation. 2 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 3 2006 Free Software Foundation, Inc. 4 This file is part of GNU Make. 5 6 GNU Make is free software; you can redistribute it and/or modify it under the 7 terms of the GNU General Public License as published by the Free Software 8 Foundation; either version 2, or (at your option) any later version. 9 10 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License along with 15 GNU Make; see the file COPYING. If not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 17 1 18 #ifndef _PATHSTUFF_H 2 19 #define _PATHSTUFF_H -
vendor/gnumake/current/w32/include/sub_proc.h
r284 r501 1 /* Definitions for Windows process invocation. 2 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 3 2006 Free Software Foundation, Inc. 4 This file is part of GNU Make. 5 6 GNU Make is free software; you can redistribute it and/or modify it under the 7 terms of the GNU General Public License as published by the Free Software 8 Foundation; either version 2, or (at your option) any later version. 9 10 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License along with 15 GNU Make; see the file COPYING. If not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 17 1 18 #ifndef SUB_PROC_H 2 19 #define SUB_PROC_H … … 5 22 * Component Name: 6 23 * 7 * $Date: 200 5/02/10 00:10:58$24 * $Date: 2006/02/11 22:16:05 $ 8 25 * 9 * $Source: / cvsroot/make/make/w32/include/sub_proc.h,v $26 * $Source: /sources/make/make/w32/include/sub_proc.h,v $ 10 27 * 11 * $ Revision: 1.5$28 * $Id: sub_proc.h,v 1.8 2006/02/11 22:16:05 psmith Exp $ 12 29 */ 13 14 /* $Id: sub_proc.h,v 1.5 2005/02/10 00:10:58 psmith Exp $ */15 30 16 31 #define EXTERN_DECL(entry, args) extern entry args … … 30 45 EXTERN_DECL(HANDLE process_easy, (char** argv, char** env)); 31 46 EXTERN_DECL(BOOL process_kill, (HANDLE proc, int signal)); 47 EXTERN_DECL(int process_used_slots, (VOID_DECL)); 32 48 33 49 /* support routines */ -
vendor/gnumake/current/w32/include/w32err.h
r53 r501 1 /* Definitions for Windows error handling. 2 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 3 2006 Free Software Foundation, Inc. 4 This file is part of GNU Make. 5 6 GNU Make is free software; you can redistribute it and/or modify it under the 7 terms of the GNU General Public License as published by the Free Software 8 Foundation; either version 2, or (at your option) any later version. 9 10 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License along with 15 GNU Make; see the file COPYING. If not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 17 1 18 #ifndef _W32ERR_H_ 2 19 #define _W32ERR_H_ -
vendor/gnumake/current/w32/pathstuff.c
r53 r501 1 /* Path conversion for Windows pathnames. 2 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 3 2006 Free Software Foundation, Inc. 4 This file is part of GNU Make. 5 6 GNU Make is free software; you can redistribute it and/or modify it under the 7 terms of the GNU General Public License as published by the Free Software 8 Foundation; either version 2, or (at your option) any later version. 9 10 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License along with 15 GNU Make; see the file COPYING. If not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 17 1 18 #include <string.h> 2 19 #include <stdlib.h> … … 87 104 getcwd_fs(char* buf, int len) 88 105 { 89 char *p ;90 91 if (p = getcwd(buf, len)) {106 char *p = getcwd(buf, len); 107 108 if (p) { 92 109 char *q = w32ify(buf, 0); 93 110 strncpy(buf, q, len); -
vendor/gnumake/current/w32/subproc/NMakefile
r284 r501 2 2 # `build.bat' instead. 3 3 # 4 # Copyright (C) 1988,89,91,92,93,94,95,96,97 Free Software Foundation, Inc 4 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 5 # 2006 Free Software Foundation, Inc. 5 6 # This file is part of GNU Make. 6 7 # 7 # GNU Make is free software; you can redistribute it and/or modify 8 # it under the terms of the GNU General Public License as published by 9 # the Free Software Foundation; either version 2, or (at your option) 10 # any later version. 8 # GNU Make is free software; you can redistribute it and/or modify it under the 9 # terms of the GNU General Public License as published by the Free Software 10 # Foundation; either version 2, or (at your option) any later version. 11 11 # 12 # GNU Make is distributed in the hope that it will be useful, 13 # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 # GNU General Public License for more details. 12 # GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 13 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 14 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 16 15 # 17 # You should have received a copy of the GNU General Public License 18 # along with GNU Make; see the file COPYING. If not, write to19 # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139,USA.16 # You should have received a copy of the GNU General Public License along with 17 # GNU Make; see the file COPYING. If not, write to the Free Software 18 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 19 21 20 # … … 29 28 MAKEFILE=NMakefile 30 29 31 CFLAGS_any = /nologo /MT /W 3/GX /Z7 /YX /D WIN32 /D WINDOWS32 /D _WINDOWS -I. -I../include -I../../30 CFLAGS_any = /nologo /MT /W4 /GX /Z7 /YX /D WIN32 /D WINDOWS32 /D _WINDOWS -I. -I../include -I../../ 32 31 CFLAGS_debug = $(CFLAGS_any) /Od /D _DEBUG /FR.\WinDebug\ /Fp.\WinDebug\subproc.pch /Fo.\WinDebug/ 33 32 CFLAGS_release = $(CFLAGS_any) /O2 /FR.\WinRel\ /Fp.\WinRel\subproc.pch /Fo.\WinRel/ -
vendor/gnumake/current/w32/subproc/build.bat
r53 r501 1 @if "%1" == "gcc" GoTo GCCBuild 1 2 if not exist .\WinDebug\nul mkdir .\WinDebug 2 cl.exe /nologo /MT /W 3/GX /Z7 /YX /Od /I .. /I . /I ../include /D WIN32 /D WINDOWS32 /D _DEBUG /D _WINDOWS /FR.\WinDebug/ /Fp.\WinDebug/subproc.pch /Fo.\WinDebug/ /c misc.c3 cl.exe /nologo /MT /W 3/GX /Z7 /YX /Od /I .. /I . /I ../include /I ../.. /D WIN32 /D WINDOWS32 /D _DEBUG /D _WINDOWS /FR.\WinDebug/ /Fp.\WinDebug/subproc.pch /Fo.\WinDebug/ /c sub_proc.c4 cl.exe /nologo /MT /W 3/GX /Z7 /YX /Od /I .. /I . /I ../include /D WIN32 /D WINDOWS32 /D _DEBUG /D _WINDOWS /FR.\WinDebug/ /Fp.\WinDebug/subproc.pch /Fo.\WinDebug/ /c w32err.c3 cl.exe /nologo /MT /W4 /GX /Z7 /YX /Od /I .. /I . /I ../include /D WIN32 /D WINDOWS32 /D _DEBUG /D _WINDOWS /FR.\WinDebug/ /Fp.\WinDebug/subproc.pch /Fo.\WinDebug/ /c misc.c 4 cl.exe /nologo /MT /W4 /GX /Z7 /YX /Od /I .. /I . /I ../include /I ../.. /D WIN32 /D WINDOWS32 /D _DEBUG /D _WINDOWS /FR.\WinDebug/ /Fp.\WinDebug/subproc.pch /Fo.\WinDebug/ /c sub_proc.c 5 cl.exe /nologo /MT /W4 /GX /Z7 /YX /Od /I .. /I . /I ../include /D WIN32 /D WINDOWS32 /D _DEBUG /D _WINDOWS /FR.\WinDebug/ /Fp.\WinDebug/subproc.pch /Fo.\WinDebug/ /c w32err.c 5 6 lib.exe /NOLOGO /OUT:.\WinDebug\subproc.lib .\WinDebug/misc.obj .\WinDebug/sub_proc.obj .\WinDebug/w32err.obj 6 7 if not exist .\WinRel\nul mkdir .\WinRel 7 cl.exe /nologo /MT /W 3/GX /YX /O2 /I ../include /D WIN32 /D WINDOWS32 /D NDEBUG /D _WINDOWS /FR.\WinRel/ /Fp.\WinRel/subproc.pch /Fo.\WinRel/ /c misc.c8 cl.exe /nologo /MT /W 3/GX /YX /O2 /I ../include /I ../.. /D WIN32 /D WINDOWS32 /D NDEBUG /D _WINDOWS /FR.\WinRel/ /Fp.\WinRel/subproc.pch /Fo.\WinRel/ /c sub_proc.c9 cl.exe /nologo /MT /W 3/GX /YX /O2 /I ../include /D WIN32 /D WINDOWS32 /D NDEBUG /D _WINDOWS /FR.\WinRel/ /Fp.\WinRel/subproc.pch /Fo.\WinRel/ /c w32err.c8 cl.exe /nologo /MT /W4 /GX /YX /O2 /I ../include /D WIN32 /D WINDOWS32 /D NDEBUG /D _WINDOWS /FR.\WinRel/ /Fp.\WinRel/subproc.pch /Fo.\WinRel/ /c misc.c 9 cl.exe /nologo /MT /W4 /GX /YX /O2 /I ../include /I ../.. /D WIN32 /D WINDOWS32 /D NDEBUG /D _WINDOWS /FR.\WinRel/ /Fp.\WinRel/subproc.pch /Fo.\WinRel/ /c sub_proc.c 10 cl.exe /nologo /MT /W4 /GX /YX /O2 /I ../include /D WIN32 /D WINDOWS32 /D NDEBUG /D _WINDOWS /FR.\WinRel/ /Fp.\WinRel/subproc.pch /Fo.\WinRel/ /c w32err.c 10 11 lib.exe /NOLOGO /OUT:.\WinRel\subproc.lib .\WinRel/misc.obj .\WinRel/sub_proc.obj .\WinRel/w32err.obj 12 GoTo BuildEnd 13 :GCCBuild 14 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I.. -I. -I../include -I../.. -DWINDOWS32 -c misc.c -o ../../w32_misc.o 15 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I.. -I. -I../include -I../.. -DWINDOWS32 -c sub_proc.c -o ../../sub_proc.o 16 gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I.. -I. -I../include -I../.. -DWINDOWS32 -c w32err.c -o ../../w32err.o 17 :BuildEnd 18 19 @echo off 20 rem Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 21 rem 2005, 2006 Free Software Foundation, Inc. 22 rem This file is part of GNU Make. 23 24 rem GNU Make is free software; you can redistribute it and/or modify it under the 25 rem terms of the GNU General Public License as published by the Free Software 26 rem Foundation; either version 2, or (at your option) any later version. 27 28 rem GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 29 rem WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 30 rem A PARTICULAR PURPOSE. See the GNU General Public License for more details. 31 32 rem You should have received a copy of the GNU General Public License along with 33 rem GNU Make; see the file COPYING. If not, write to the Free Software 34 rem Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -
vendor/gnumake/current/w32/subproc/misc.c
r53 r501 1 /* Process handling for Windows 2 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 3 2006 Free Software Foundation, Inc. 4 This file is part of GNU Make. 5 6 GNU Make is free software; you can redistribute it and/or modify it under the 7 terms of the GNU General Public License as published by the Free Software 8 Foundation; either version 2, or (at your option) any later version. 9 10 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License along with 15 GNU Make; see the file COPYING. If not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 17 1 18 #include <stddef.h> 2 19 #include <stdlib.h> … … 20 37 } 21 38 bool_t 22 arr2envblk(char **arr, char **envblk_out) 39 arr2envblk(char **arr, char **envblk_out) 23 40 { 24 41 char **tmp; -
vendor/gnumake/current/w32/subproc/proc.h
r53 r501 1 /* Definitions for Windows 2 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 3 2006 Free Software Foundation, Inc. 4 This file is part of GNU Make. 5 6 GNU Make is free software; you can redistribute it and/or modify it under the 7 terms of the GNU General Public License as published by the Free Software 8 Foundation; either version 2, or (at your option) any later version. 9 10 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License along with 15 GNU Make; see the file COPYING. If not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 17 1 18 #ifndef _PROC_H 2 19 #define _PROC_H -
vendor/gnumake/current/w32/subproc/sub_proc.c
r284 r501 1 /* Process handling for Windows. 2 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 3 2006 Free Software Foundation, Inc. 4 This file is part of GNU Make. 5 6 GNU Make is free software; you can redistribute it and/or modify it under the 7 terms of the GNU General Public License as published by the Free Software 8 Foundation; either version 2, or (at your option) any later version. 9 10 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License along with 15 GNU Make; see the file COPYING. If not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 17 1 18 #include <stdlib.h> 2 19 #include <stdio.h> 3 20 #include <process.h> /* for msvc _beginthreadex, _endthreadex */ 21 #include <signal.h> 4 22 #include <windows.h> 5 23 … … 31 49 32 50 /* keep track of children so we can implement a waitpid-like routine */ 33 static sub_process *proc_array[ 256];51 static sub_process *proc_array[MAXIMUM_WAIT_OBJECTS]; 34 52 static int proc_index = 0; 35 53 static int fake_exits_pending = 0; … … 66 84 process_wait_for_any_private(void) 67 85 { 68 HANDLE handles[ 256];86 HANDLE handles[MAXIMUM_WAIT_OBJECTS]; 69 87 DWORD retval, which; 70 88 int i; … … 120 138 process_register(HANDLE proc) 121 139 { 122 proc_array[proc_index++] = (sub_process *) proc; 140 if (proc_index < MAXIMUM_WAIT_OBJECTS) 141 proc_array[proc_index++] = (sub_process *) proc; 142 } 143 144 /* 145 * Return the number of processes that we are still waiting for. 146 */ 147 int 148 process_used_slots(void) 149 { 150 return proc_index; 123 151 } 124 152 … … 163 191 164 192 long 165 process_errno(HANDLE proc) 166 { 167 return (((sub_process *)proc)->lerrno); 193 process_signal(HANDLE proc) 194 { 195 if (proc == INVALID_HANDLE_VALUE) return 0; 196 return (((sub_process *)proc)->signal); 168 197 } 169 198 170 199 long 171 process_signal(HANDLE proc)172 {173 return (((sub_process *)proc)->signal);174 }175 176 long177 200 process_last_err(HANDLE proc) 178 201 { 202 if (proc == INVALID_HANDLE_VALUE) return ERROR_INVALID_HANDLE; 179 203 return (((sub_process *)proc)->last_err); 180 204 } 181 205 182 206 long 183 207 process_exit_code(HANDLE proc) 184 208 { 209 if (proc == INVALID_HANDLE_VALUE) return EXIT_FAILURE; 185 210 return (((sub_process *)proc)->exit_code); 186 211 } 187 212 188 char * 213 /* 214 2006-02: 215 All the following functions are currently unused. 216 All of them would crash gmake if called with argument INVALID_HANDLE_VALUE. 217 Hence whoever wants to use one of this functions must invent and implement 218 a reasonable error handling for this function. 219 220 char * 189 221 process_outbuf(HANDLE proc) 190 222 { … … 192 224 } 193 225 194 226 char * 195 227 process_errbuf(HANDLE proc) 196 228 { … … 198 230 } 199 231 200 232 int 201 233 process_outcnt(HANDLE proc) 202 234 { … … 204 236 } 205 237 206 238 int 207 239 process_errcnt(HANDLE proc) 208 240 { … … 210 242 } 211 243 212 244 void 213 245 process_pipes(HANDLE proc, int pipes[3]) 214 246 { … … 218 250 return; 219 251 } 220 252 */ 221 253 222 254 HANDLE … … 369 401 * Description: Create the child process to be helped 370 402 * 371 * Returns: 403 * Returns: success <=> 0 372 404 * 373 405 * Notes/Dependencies: … … 523 555 pproc->last_err = GetLastError(); 524 556 pproc->lerrno = E_FORK; 525 fprintf(stderr, "process_begin: CreateProcess(%s, %s, ...) failed.\n", exec_path, command_line); 557 fprintf(stderr, "process_begin: CreateProcess(%s, %s, ...) failed.\n", 558 exec_path ? exec_path : "NULL", command_line); 526 559 if (envblk) free(envblk); 527 560 free( command_line ); … … 535 568 536 569 /* Close the halves of the pipes we don't need */ 537 if (pproc->sv_stdin) { 538 CloseHandle((HANDLE)pproc->sv_stdin[1]); 539 (HANDLE)pproc->sv_stdin[1] = 0; 540 } 541 if (pproc->sv_stdout) { 542 CloseHandle((HANDLE)pproc->sv_stdout[1]); 543 (HANDLE)pproc->sv_stdout[1] = 0; 544 } 545 if (pproc->sv_stderr) { 546 CloseHandle((HANDLE)pproc->sv_stderr[1]); 547 (HANDLE)pproc->sv_stderr[1] = 0; 548 } 570 CloseHandle((HANDLE)pproc->sv_stdin[1]); 571 CloseHandle((HANDLE)pproc->sv_stdout[1]); 572 CloseHandle((HANDLE)pproc->sv_stderr[1]); 573 pproc->sv_stdin[1] = 0; 574 pproc->sv_stdout[1] = 0; 575 pproc->sv_stderr[1] = 0; 549 576 550 577 free( command_line ); … … 658 685 bool_t stdin_eof = FALSE, stdout_eof = FALSE, stderr_eof = FALSE; 659 686 HANDLE childhand = (HANDLE) pproc->pid; 660 HANDLE tStdin , tStdout, tStderr;661 DWORDdwStdin, dwStdout, dwStderr;687 HANDLE tStdin = NULL, tStdout = NULL, tStderr = NULL; 688 unsigned int dwStdin, dwStdout, dwStderr; 662 689 HANDLE wait_list[4]; 663 690 DWORD wait_count; … … 675 702 stdin_eof = TRUE; 676 703 CloseHandle((HANDLE)pproc->sv_stdin[0]); 677 (HANDLE)pproc->sv_stdin[0] = 0;704 pproc->sv_stdin[0] = 0; 678 705 } else { 679 706 tStdin = (HANDLE) _beginthreadex( 0, 1024, 680 (unsigned (__stdcall *) (void *))proc_stdin_thread, pproc, 0,681 (unsigned int *)&dwStdin);707 (unsigned (__stdcall *) (void *))proc_stdin_thread, 708 pproc, 0, &dwStdin); 682 709 if (tStdin == 0) { 683 710 pproc->last_err = GetLastError(); … … 692 719 tStdout = (HANDLE) _beginthreadex( 0, 1024, 693 720 (unsigned (__stdcall *) (void *))proc_stdout_thread, pproc, 0, 694 (unsigned int *)&dwStdout);721 &dwStdout); 695 722 tStderr = (HANDLE) _beginthreadex( 0, 1024, 696 723 (unsigned (__stdcall *) (void *))proc_stderr_thread, pproc, 0, 697 (unsigned int *)&dwStderr);724 &dwStderr); 698 725 699 726 if (tStdout == 0 || tStderr == 0) { … … 740 767 if (ready_hand == tStdin) { 741 768 CloseHandle((HANDLE)pproc->sv_stdin[0]); 742 (HANDLE)pproc->sv_stdin[0] = 0;769 pproc->sv_stdin[0] = 0; 743 770 CloseHandle(tStdin); 744 771 tStdin = 0; … … 748 775 749 776 CloseHandle((HANDLE)pproc->sv_stdout[0]); 750 (HANDLE)pproc->sv_stdout[0] = 0;777 pproc->sv_stdout[0] = 0; 751 778 CloseHandle(tStdout); 752 779 tStdout = 0; … … 756 783 757 784 CloseHandle((HANDLE)pproc->sv_stderr[0]); 758 (HANDLE)pproc->sv_stderr[0] = 0;785 pproc->sv_stderr[0] = 0; 759 786 CloseHandle(tStderr); 760 787 tStderr = 0; … … 763 790 } else if (ready_hand == childhand) { 764 791 765 GetExitCodeResult = GetExitCodeProcess(childhand, (DWORD*)&pproc->exit_code); 792 DWORD ierr; 793 GetExitCodeResult = GetExitCodeProcess(childhand, &ierr); 794 if (ierr == CONTROL_C_EXIT) { 795 pproc->signal = SIGINT; 796 } else { 797 pproc->exit_code = ierr; 798 } 766 799 if (GetExitCodeResult == FALSE) { 767 800 pproc->last_err = GetLastError(); … … 812 845 DWORD wait_return; 813 846 BOOL GetExitCodeResult; 847 DWORD ierr; 814 848 815 849 if (proc == NULL) … … 855 889 } 856 890 857 GetExitCodeResult = GetExitCodeProcess(childhand, (DWORD*)&pproc->exit_code); 891 GetExitCodeResult = GetExitCodeProcess(childhand, &ierr); 892 if (ierr == CONTROL_C_EXIT) { 893 pproc->signal = SIGINT; 894 } else { 895 pproc->exit_code = ierr; 896 } 858 897 if (GetExitCodeResult == FALSE) { 859 898 pproc->last_err = GetLastError(); … … 1156 1195 HANDLE hProcess; 1157 1196 1197 if (proc_index >= MAXIMUM_WAIT_OBJECTS) { 1198 DB (DB_JOBS, ("process_easy: All process slots used up\n")); 1199 return INVALID_HANDLE_VALUE; 1200 } 1158 1201 if (DuplicateHandle(GetCurrentProcess(), 1159 1202 GetStdHandle(STD_INPUT_HANDLE), … … 1164 1207 DUPLICATE_SAME_ACCESS) == FALSE) { 1165 1208 fprintf(stderr, 1166 "process_easy: DuplicateHandle(In) failed (e=% d)\n",1209 "process_easy: DuplicateHandle(In) failed (e=%ld)\n", 1167 1210 GetLastError()); 1168 1211 return INVALID_HANDLE_VALUE; … … 1176 1219 DUPLICATE_SAME_ACCESS) == FALSE) { 1177 1220 fprintf(stderr, 1178 "process_easy: DuplicateHandle(Out) failed (e=% d)\n",1221 "process_easy: DuplicateHandle(Out) failed (e=%ld)\n", 1179 1222 GetLastError()); 1180 1223 return INVALID_HANDLE_VALUE; … … 1188 1231 DUPLICATE_SAME_ACCESS) == FALSE) { 1189 1232 fprintf(stderr, 1190 "process_easy: DuplicateHandle(Err) failed (e=% d)\n",1233 "process_easy: DuplicateHandle(Err) failed (e=%ld)\n", 1191 1234 GetLastError()); 1192 1235 return INVALID_HANDLE_VALUE; -
vendor/gnumake/current/w32/subproc/w32err.c
r284 r501 1 /* Error handling for Windows 2 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 3 2006 Free Software Foundation, Inc. 4 This file is part of GNU Make. 5 6 GNU Make is free software; you can redistribute it and/or modify it under the 7 terms of the GNU General Public License as published by the Free Software 8 Foundation; either version 2, or (at your option) any later version. 9 10 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 11 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 12 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License along with 15 GNU Make; see the file COPYING. If not, write to the Free Software 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */ 17 1 18 #include <windows.h> 2 19 #include "w32err.h"
Note:
See TracChangeset
for help on using the changeset viewer.