Murakami Sale
 
 

Recently Viewed clear list


Original Essays | August 18, 2014

Ian Leslie: IMG Empathic Curiosity



Today, we wonder anxiously if digital media is changing our brains. But if there's any time in history when our mental operations changed... Continue »
  1. $18.89 Sale Hardcover add to wish list

spacer

Managing Projects With Make 2ND Edition

by

Managing Projects With Make 2ND Edition Cover

 

 

Excerpt

  Index :, (see colon; double colon) #, (see comment; pound sign) $$, (see dollar sign; macro; shell variables) , (see percent sign) ( ), (see parentheses) x, (see asterisk; metacharacter; pattern-matching) ., (see period) ;, (see semicolon) <, (see less-than sign; metacharacter) =, (see equal sign) ?, (see question mark; metacharacter; pattern-matching) @, (see at-sign) [ ], (see brackets) `, (see backquote) -, (see hyphen) \, (see backslash) _, (see underline) { }, (see braces) ~, (see tilde) A .a suffix, (see library) ar(1) command, defined, 33 in default suffix rules, 35 minimizing rebuilds, 35, 54 archive, (see ar(1) command; library) AS macro, 41 ASFLAGS macro, 41 assembly language, (see source files; .s suffix) asterisk (x), 57 internal macro, 36, 112 at-sign (@), 95 internal macro, 19, 36, 112 AT&T, history of System V make(1), 128 nmake and mk, 116 toolkit, 118 B -b option, 97, 109 backquote (`), storing results of command in a macro, 72 backslash (\), to continue line in description file, 7 to continue long shell command, 59, 105 backward chaining, 4, 117, 119 limitations of, 48 bad octal character, error message, 101 Bell Labs, (see AT&T) Berkeley Standard Distribution, version of make(1), 128, 128-135 blank lines, in description files, 7 Bourne shell, 64 braces ({ }), in macro definitions, 11 optional use with single-character macros, 11, 21 brackets ([ ]), shell pattern-matching, 57 test command in Bourne and Korn shells, 105 Brunhoff, Todd, 121-122 BSD, version of make(1), 128, 128-135 version of SCCS, 29 built-in commands, 60 setenv, 14 (see also environment variables.) C .c suffix, 23 .c~ suffix, handling by SCCS, 32 .c suffix, in relation to lex (.l) and yacc (.y) files, 38 C compiler, -c option, 39 -D option, 26, 74, 78-85 -D option CFLAGS macro; (see also CFLAGS macro; version control.) -g option, 26 -l option, 26 -M option, 86 maintaining consistency across builds, 78-85 -O option, 42 -p option, 85 suffix rules, 25 using a non-standard version, 12 C language source files, 23 C preprocessor, conditional compilation and version control, 78 used by Fortran .F files, 28 used by imake, 121 used by makedepend, 122 used to find dependencies on header (include) files, 88 C shell, adding environment variables, 14 cat(1) command, 7 CC macro, 41 cc(1) command, (see C compiler) CFLAGS macro, 41 adding to existing options, 74 and -M compiler option, 87 basic use for compiler options, 26 conditional compilation (#ifdef), 78-85 default, 42 maintaining consistency through recursive make, 79 specifying multiple options, 26, 74 chaining, limitations of, 48 method for tracing dependencies, 4, 117, 119 character, (see bad octal character; metacharacter; pattern- matching; individual characters) clean, conventional target, 8, 80 clobber, conventional target, 69 colon (:), 3 double (::), 37, 106 inconsistent use of, 106 command, rcp(1), 90 associated with target, 57-58 built-in, 60 cc(1) (see C compiler) echoing to standard output, 94 linking, 3, 22, 26 make(1) (see make(1) command) multi-line, 59, 105 on dependency line, 7 overriding suffix rules, 48 setenv, 14 status, 61-63 storing in file from make(1) build, 94 using output within a build, 72 command options, maintaining consistency, 27, 79, 82, 117, 124 suffix rules, 26 comment, 7 compilation of makefile, 117 compiler, C, 86 conventions, 53-54 Fortran, 28 Pascal, 29 suffix rules, 25, 43-46 using a non-standard version, 12 which language used by suffix rules, 24, 47 conditional macro definition, 79 conventions, compiling, 53-54 naming, 53-54 coshell, 117 cpp(1) command, see C preprocessor, 28 csh, (see C shell) .cshrc file, (see environment variables) current target name (in command lines ($@)), 19 current target name (in dependency lines ($$@)), 20 D -d option, 99-100, 109 .DEFAULT target, 97 D modifier for macros, 74 date, (see dependency relations; modification time) debug option (-d), 99-100 debugging, 94-95 definition, macro, 9, 12 macro and #ifdef, 78-85 suffix rules, 49-50 dependency line, 3 command on, 7 inconsistent use of double colon, 106 order in relation to macros, 12, 89 problems with, 106 semicolon to start command, 7 with double colon, 37 dependency relations, among files, 1-2 non-existent file, 8, 80 testing, 95 dependent, 1 (see also prerequisite.) description file, 2 compatibility with earlier implementations, 97 conventional .mk suffix, 94 making maintenance easier, 10 rules and format, 7 diff(1) command, exit status, 60 directory, alternate for SCCS, 31 as macro, 10, 66 handling in make(1), 70, 74-75 using viewpath (VPATH macro), 75 distributed file system, problems with make(1), 90 distributed files, problems with make(1), 89 distributed processing, and make(1), 125 dollar sign, as macro, 41 in macro, 9 in shell variables, 61 doname, in output from -d option, 100 in recursive make, 100 double colon (::), 37 double parentheses (( )), 35 Dubois, Paul, 122 dummy target, 68 dependencies in relation to actual files, 80 using suffix rules, 54 E -e option, 15, 109 .e suffix, 28 .e~ suffix, handling by SCCS, 32 EFL, source files, 28 entry point, module within library, 33, 35 name, 33, 35 envflg, in output from -d option, 100 environment, for software development, 65-66 environment variables, adding, 14 in .profile/.cshrc/.login file, 14 MAKEFLAGS and MFLAGS, 97 printing out, 40 priority of, 14 relation to macros, 13-18 to control directories on large projects, 66 weakness of, 17 eqn, example of suffix rules to support document production, 50 equal sign (=), defining variables in Bourne shell, 13-14 in macro definition, 10, 111 on make(1) command line, 13, 109 error, 96 $! nulled, predecessor cycle, 106 bad octal character, 101 branching on exit status from command in description file, 62 cannot load command, 103 command not found, 103 couldn't load shell, 104 don't know how to make, 101 from command in description file, 61-63 ignoring exit status from command in description file, 62 inconsistent rules lines, 106 infinitely recursive macro?, 107 messages, 99-108 must be a separator, 101 syntax, 101, 105 syntax error in description file, 101 target up-to-date, 102 too many command lines, 106 error codes, ignoring, 96 executable files, building large numbers of, 21 exit, branching on status from command in description file, 62 from make(1), 60 status from command in description file, 61-63 status from make(1) command, 95 exit command, in description files, 60 extensions to make(1), 116-126 GNU make, 118-119, 128-129 imake, 119 makedepend, 122 mk, 116 nmake, 116 shape, 123 F -f option, 40, 94, 110 in recursive make, 73 .F suffix, 28 .f suffix, 28 .f~ suffix, handling by SCCS, 32 F modifier for macros, 74 f77(1) command, 28 (see also Fortran.) FC macro, 41 fc(1) command, 28 (see also Fortran.) Feldman, S. I., 128 FFLAGS macro, 41 file, (see dependency relations; description file; directory; ob- ject file; pathname; prerequisite; source file; suffixes; target) flag, (see FLAGS macros; option) FLAGS macros, in suffix rules, 26, 43-46 forcing rebuilds, 80-82, 86 fork, running commands in make(1), 64, 117, 126 formatting macros (nroff/troff), 50 Fortran, source files, 28 Fowler, Glenn, 118 FRC macro and target, 80-82, 86 Free Software Foundation, 118-119 Fulton, Jim, 121 function, module within library, 35 future of make(1), 125 G GET macro, 41 get(1) command (SCCS), 31 GFLAGS macro, 31, 41 GNU make, 100, 118-119, 125, 128-129 grep(1) command, exit status, 60 H .h files, dependencies, 67, 85-88 listing on separate dependency lines, 8 .h~ suffix, handling by SCCS, 32 .h suffix, suffix rule for, 43 .h files, dependencies, 117, 122 header files, dependencies, 67, 85-88, 117, 122 hidden dependencies, 67, 117, 122 Hume, Andrew, 116 hyphen (-), as name of description file, 40, 94, 110 to ignore errors, 62 I -i option, 62, 96, 110 #ifdef, use with macros, 78-85 .IGNORE target, 62, 96 imake, 119, 122 include files, dependencies, 67, 85-88, 117, 122 include statement (including description files), 88-89 install, conventional target, 69 internal macro, $@, 19 19-22 $$@, 20 $?, 20 $<, 25 $x, 27, 31 $<, 31 $, 36 $x, 36 $<, 36 $@, 36 $$@, 112 $, 112 $x, 112 $<, 112 $?, 112 $@, 112 in suffix rules, 27 K -k option, 62, 110 Koch, Wilfried, 125 L -l linker option, as macro, 26 .l suffix, 38 .l~ suffix, handling by SCCS, 32 Lampen, Andreas, 125 last-modified time, and NFS, 90 defined, 3 in output of -d (debug) option, 100 LD macro, 41 ld(1) command, (see linker command) LDFLAGS macro, 41 less-than sign (<), internal macro, 25, 36, 112 LEX macro, 41 lex(1) command, 38 dependency on yacc file, 38 lex.yy.c file, 38 LFLAGS macro, 41 library, and -l linker option, 26 as prerequisite, 34, 36-37 as target, 33, 37 maintaining under make(1), 33-38 of object modules, 35 on viewpath (VPATH macro), 77 structure of, 33 updating all modules in single command, 54 linker command, 3 -l option, 26 macros in command line, 22 .login file, (see environment variables) lp(1) command, 52 lpr(1) command, 52 M .mk suffix, 94 macro, 74 changing definitions during a build, 12, 72, 79 D modifier, 74, 112 defined, 9 F modifier, 74, 112 formatting (nroff/troff), 50 internal, 19-22, 74 MAKEFLAGS, 96 modifier (D and F), 74, 112 order in relation to dependency lines, 12, 89 string substitution, 18 undefined, 11 macro definitions, 9, 12 allowing user-specified defaults, 16 and #ifdef symbols, 78-85 conditional, 79 current, 39-46 default, 39-46 including macros in, 11 null string, 11 overriding priority, 15 printing, 39-46 printing out, 40 priority of, 14 string substitution, 18 suffix substitution, 18 Mahler, Axel, 125 maintaining description files, allowing for changes in direc- tories, 10, 66, 76 macros, 10 multiple description files for different directories, 71 preventing unnecessary builds, 95 storing under SCCS, 32 MAKE macro, 41 make(1) command, exit status, 95 exiting from, 60, 96 options, 93, 109-110 recursive invocation of, 70 requirements for invoking, 5-6 suppressing execution, 40, 94 with no target, 6 make(1) concept, extensions, 116-126 future of, 125 history, 128 limitations of, 67, 115 models for understanding, ix, xi-1, 4 parallelism, 125 strengths of, 3-5 theory behind, 3 make(1) variants, $$@ for target on dependency lines, 20, 130 Berkeley Standard Distribution (BSD), 128, 128-135 conditional macro definition, 79, 118 differences in MAKEFLAGS and MFLAGS, 97 entry points in library names, 35, 132 F and D modifiers to macros, 74, 130 finding SCCS files in _ S_ C_ C_ S directory, 31 GNU, 100, 118-119, 128-129 include statement, 88, 134 macro string substitution, 18, 130 major differences between, 128-129 MAKE macro, 73, 134 MAKEFLAGS and MFLAGS macros, 96, 134 modules in library names, 35, 131 reasons for differences, 127 .sh suffix, 32 shell used to execute commands, 64, 133 single-suffix rules, 39, 132 state file, 82, 117 Sun Microsystems, 86, 100 System V, 127-135 testing for, 128-135 use of parentheses in library names, 35, 131 viewpaths (VPATH macro), 75, 134 makedepend, 122 used in imake, 121 makefile, (see description file) makefile.ms, nmake state file, 117 makefile.so, nmake compiled description file, 117 MAKEFLAGS macro, 41, 96 markfile target, 42 McGrath, Roland, 119 messages, 99-108 $! nulled, predecessor cycle, 106 bad octal character, 101 cannot load command, 103 command not found, 103 couldn't load shell, 104 don't know how to make, 101 inconsistent rules lines, 106 infinitely recursive macro?, 107 must be a separator, 101 syntax error, 101, 105 syntax error in description file, 101 target up-to-date, 102 too many command lines, 106 metacharacter, effect in make(1) execution of commands, 64 interpreted by make(1), 57 permitted in commands, 57 MFLAGS macro, (see MAKEFLAGS macro) MIT Project Athena, 121-122 mk, 116 .mk suffix, 94 modification time, and NFS, 90 defined, 3 in output of -d (debug) option, 100 module, 23 library of, 54 structure of library, 33 within library, 35 Moraes, Mark, 122 multi-line shell commands, 59, 105 mv(1) command, robustness of -f option, 62 N -n option, 40, 94, 110 naming conventions, suffixes used by compilers, 23, 53 writing your own suffix rules, 48 network, distributed processing, 125 problems with make(1), 89 new suffixes, 51 newline, in commands, 59-60 in macro definition, 11 overriding, 59 NFS, problems with make(1), 90 nm(1) command, to find module (entry point) name, 35 nmake, 116 noreset, in output from -d option, 100 nroff, preprocessors, 50 sample description file, 49-54 support for in nmake, 117 null string, for undefined macro, 11 in macro definition, 11 null suffix, 39 O .o suffix, 23 object file, possible prerequisites, 28, 47 structure of library, 33 within library, 35 object module, 23 library of, 35, 54 structure of library, 33 within library, 35 Obst, Wolfgang, 125 Open Software Foundation, 125 options, as FLAGS macros in suffix rules, 26 options to cc(1) command, -l, 26 options to ld(1) command, -l, 26 options to make(1) command, - (hyphen), 40, 94, 110 -b, 97, 109 -d, 99-100, 109 -e, 15, 109 -f, 40, 110 -i, 62, 96, 110 -k, 62, 110 -n, 40, 94, 110 -p, 40, 110 -q, 95, 110 -r, 97, 110 -s, 40, 95, 110 -t, 95, 110 OSF, 125 out-of-date, 3 (see also dependency relations; modification time.) P -p option, 40, 110 in recursive make, 41 .p suffix, as convention for profiled object files, 85 for Pascal files, 29 parallel make(1), 117-118, 125 parentheses ( ), doubled in specifying a library, 35 in macro definitions, 11 in shell command, 37 in specifying a library, 35, 54 optional use with single-character macros, 11, 21 Pascal, source files, 29 path, (see directory; pathname; VPATH) pathname, dividing into directory and file portions, 74 handling in make(1), 70, 74 specifying full, 65 viewpath (VPATH macro), 75-80 pattern-matching, percent sign () extension, 19, 116 percent-sign () extension, 118 pattern-matching characters, 57 permitted in commands, 57 pc(1) command, 29 percent sign (), for pattern-matching, 19, 116, 118 internal macro, 36, 112 period, in suffix rules, 24, 50-51, 111 in .SUFFIXES line, 51, 113 matched by make(1) wildcard in files, 58 pic, example of suffix rules to support document production, 50 pound sign (#), to start comment in description file, 7 Pralle, Ulrich, 125 .PRECIOUS target, 96 preprocessor, (see C preprocessor; EFL; Ratfor; troff) prerequisite, defined, 1 in $? macro, 20 in $< macro, 25 in $macro, 36 in $x macro, 36 in $< macro, 36 more recently modified, 20 with double colon (::), 37 print option (-p), 40 process, in parallel make(1), 126 multithreaded in parallel make(1), 126 number as shell variable, 61 scheduling, 64, 117, 126 use of coshell in nmake, 117 .profile file, (see environment variables) Project Athena, 121-122 Prolog, model for make(1), 4 punctuation, (see metacharacter; also individual characters) Q -q option, 95, 110 question mark (?), 57 internal macro, 20, 112 question option (-q), 95 R -r option, 97, 110 .r suffix, 28 .r~ suffix, handling by SCCS, 32 Ratfor, source files, 28 RCS (Revision Control System), 32 and GNU make, 119 rcp(1) command, 90 recursive invocation of make(1), 70 redefining, suffix rules, 48 remote copy command, 90 remote procedure call, in parallel make(1), 126 remote processing, parallel make(1), 126 problems with make(1), 89 removing files, automatically done in suffix rules, 43 keeping when make(1) fails, 96 make clean, 8, 80 make clobber, 69 rm(1) command, robustness of -f option, 62 RPC, in parallel make(1), 126 rules, (see dependency line; suffix rules) rules line, 3, 101, 106 (see also dependency line.) S -s option, 40, 95, 110 .s suffix, 23 .s~ suffix, handling by SCCS, 32 .SUFFIXES target, 24, 49 s. prefix (SCCS), 29 SCCS, 29, 32 automatic retrieval of files, 29 directory, 31 scheduling processes, in make(1), 64 in nmake, 117 in parallel make(1), 126 script, (see shell script) security and pathnames, 65 semicolon (;), on dependency line, 7, 110 to nullify a suffix rule, 55 to separate parts of a command, 60, 105 setenv command, 14 (see also environment variables.) sh, (see shell; SHELL macro; shell script) .sh suffix, 32 .sh~ suffix, handling by SCCS, 32 shape, 123 shell, Bourne, 64 C, 14, 64 strengths contrasted with make(1), 58 when used to run a command in make(1), 64 shell commands, built-in, 60 multi-line, 59, 105 SHELL macro, recommended setting, 64 testing how handled in make(1), 133 shell programming, (see shell script) shell script, as wrapper for make(1), 17 incorporating into description file, 59-62, 105, 117 invoking within description file, 57 maintained through SCCS and make, 32 strengths contrasted with make(1), 58 shell variables, 40, 61 $$ for process number, 61 adding to environment, 14, 16 defining, 14 in .profile/.cshrc/.login file, 14 MAKEFLAGS and MFLAGS, 97 priority of, 14 process number, 61 relation to macros, 13-18 significant suffixes, 24 single suffix, in suffix rules, 39 s.makefile, 32 software development, environment for, 65-66 source code control system, (see SCCS) source files, assembly language, 23 assembly language .s suffix; (see also .s suffix.) C language, 23 Fortran, 28 lex, 38 on viewpath (VPATH macro), 77 Pascal, 29 yacc, 38 space, after backslash, 7, 11, 105, 110-111 in command within description file, 111 in dependency line, 110 in include statement, 111 in macro definitions, 11, 111 in suffix rule dependency line, 111 in suffix rules, 51 in .SUFFIXES line, 113 special targets, 93, 113 spell(1) command, 59 standard input, as description file, 110 state file, 82, 117 status, branching on exit status from command in description file, 62 from command in description file, 61-63 from make(1) command, 95 ignoring exit status from command in description file, 62 status information, 94-95 string substitution, 18 suffix, single, 39 suffix rules, adding new suffixes, 51 command options, 26 compared to macros and string substitution, 19 conflicting meanings for suffixes, 51, 56 current, 39-46 default, 39-46 defining, 49-50 for SCCS files, 29, 32 how they work, 24-25, 27 internal macros in, 27 order of, 54 overridden by commands in description file, 48 overriding, 54-55 precedence, 46-48 printing, 39-46 redefining, 48 spaces in, 51 to distinguish versions of files, 85 to support targets that are not files, 54 types of, 28 using single suffix, 39 writing your own, 48-50 suffixes, .c, 23 conflicting meanings, 51, 56 current, 39-46 default, 39-46 .e, 28 .F, 28 .f, 28 .mk, 94 new, 49, 51 null, 39 .o, 23 order of, 51, 54 .p, 29 precedence, 46-48 printing, 39 .r, 28 .s, 23 significant, 24, 49 to distinguish versions of files, 85 .SUFFIXES target, 24, 49 Sun Microsystems, make(1), 86, 100 NFS, 90 symbol, (see #ifdef, macro) System V make(1), as basis for this book, xi history of, 128 T -t option, 95, 110 tab, in command within description file, 7, 111 initial, 3 target, continuing to build targets despite errors, 62 current, 39-46 current (in command lines ($@)), 19 current (in dependency lines ($$@)), 20 default, 6 .DEFAULT, 97 default, 97 defined, 1 dependency relations of non-existent file, 8, 80 .IGNORE, 62, 96 markfile, 42 multiple on one dependency line, 20 .PRECIOUS, 96 printing entries, 39-46 special, 93 .SUFFIXES, 49 that is not a filename, 8, 68 with double colon (::), 37 tbl, example of suffix rules to support document production, 50 Technical University of Berlin, 125 Tektronix, 121-122 threads, in parallel make(1), 126 tilde (~), problems in shell commands, 64 SCCS file in suffix rules, 30 TIME, in output from -d option, 100 timestamp, (see dependency relations; modification time) touch, -t option, 95 to record that an operation was performed, 70 troff, preprocessors, 50 sample description file, 49-54 support for in nmake, 117 troubleshooting, 99-108 true(1) command, to nullify a suffix rule, 55 U underline (_), in macro name, 11 usage, make(1) command line, 93, 109-110 V variable, 97 environment, 13-18, 14 printing out shell, 40 process number, 61 shell, 13-18 (see also macro, MAKEFLAGS and MFLAGS in shell environment.) variant, (see RCS; SCCS; version control; C compiler; make(1) variants) version, SCCS source control, 29 (see RCS; SCCS) version control, building libraries from object files compiled with different options, 37 conditional compilation (#ifdef), 78 files shared by several programmers, 68 imake extension, 120 programs that share source files, 4 RCS, 32 SCCS, 29-32 shape extension, 123 through viewpath (VPATH macro), 76 viewpath, (see VPATH) VPATH macro, 75-80 to find files in SCCS directory, 31 W what(1) command, 42 white space, (see space; tab; newline) wildcard pattern-matching characters, interpreted by make(1), 57 permitted in commands, 57 wrapper shell script, to set up environment for make(1), 17 X X Consortium, 121-122 X Window System, 119 Y .y suffix, 38 .y~ suffix, handling by SCCS, 32 YACC macro, 41 yacc(1) command, 38 -d option, 38 YFLAGS, to hold -d option, 38 YFLAGS macro, 41 y.tab.c file, 38 y.tab.h file, 38 

Product Details

ISBN:
9780937175903
Author:
Oram, Andrew
Author:
Talbot, Steve
Author:
Oram, Andy
Author:
Talbott, Steve
Publisher:
O'Reilly Media
Location:
Sebastopol, CA :
Subject:
Programming Languages - General
Subject:
C (computer program language)
Subject:
Technology
Subject:
Data processing
Subject:
Computers and computer technology
Subject:
Operating Systems - UNIX
Subject:
Computers
Subject:
Programming - Software Development
Subject:
Project management
Subject:
Computer software
Subject:
Production & Operations Management
Subject:
Utilities
Subject:
Development
Subject:
Utilities (Computer programs)
Subject:
Unix (Operating system).
Subject:
Language, literature and biography
Subject:
Make
Subject:
Make (Computer file)
Subject:
Engenharia de programacao
Subject:
Software Basico
Subject:
Managing Projects with make
Subject:
General Computers
Edition Number:
2
Edition Description:
Second Edition
Series:
Nutshell Handbook
Series Volume:
1.
Publication Date:
19911011
Binding:
Paperback
Language:
English
Illustrations:
Yes
Pages:
168
Dimensions:
9 x 6 x 0.41 in 0.52 lb

Other books you might like

  1. sendmail Cookbook Used Trade Paper $18.95
  2. BSD Hacks Used Trade Paper $3.95
  3. Lex & Yacc 2ND Edition
    Used Trade Paper $14.50
  4. Unix Power Tools 3RD Edition Used Trade Paper $25.00
  5. Programming with Posix Threads... Used Trade Paper $16.50
  6. Using CSH & Tcsh (Nutshell Handbooks) New Trade Paper $34.99

Related Subjects

Computers and Internet » Operating Systems » Unix » Unix and Linux Programming
Computers and Internet » Software Engineering » General

Managing Projects With Make 2ND Edition Used Trade Paper
0 stars - 0 reviews
$5.95 In Stock
Product details 168 pages O'Reilly & Associates - English 9780937175903 Reviews:
"Synopsis" by , The revised second edition of this text on Make, one of UNIX's contributions to software development, includes guidelines on meeting the needs of large projects.
"Synopsis" by ,
This book describes all the basic features of make and provides guidelines on meeting the needs of large, modern projects. Make is one of UNIX's greatest contributions to software development, and this book offers the clearest description of make ever written.
"Synopsis" by , "make is one of UNIX's greatest contributions to software development, and this book offers the clearest description of "make ever written. Even the smallest software project typically involves a number of files that depend upon each other in various ways. If you modify one or more source files, you must relink the program after recompiling some, but not necessarily all, of the sources. "make greatly simplifies this process. By recording the relationships between sets of files, "make can automatically perform all the necessary updating. This book describes all the basic features of "make and provides guidelines on meeting the needs of large, modern projects.
spacer
spacer
  • back to top
Follow us on...




Powell's City of Books is an independent bookstore in Portland, Oregon, that fills a whole city block with more than a million new, used, and out of print books. Shop those shelves — plus literally millions more books, DVDs, and gifts — here at Powells.com.