The GNU make book
The GNU Make Book is a practical, thorough guide to GNU Make basics, solutions, and advanced uses.
Otros Autores: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
San Francisco, California :
No Starch Press
2015.
|
Edición: | First edition |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009629935206719 |
Tabla de Contenidos:
- Brief Contents ; Contents in Detail ; Preface; Chapter 1: The Basics Revisited; Getting Environment Variables into GNU make; Setting Variables from Outside the Makefile; The Environment Used by Commands; The (shell) Environment; Target-Specific and Pattern-Specific Variables; Target-Specific Variables; Pattern-Specific Variables; Version Checking; MAKE_VERSION; .FEATURES; Detecting (eval); Using Boolean Values; Undefined Variables in Conditionals; Consistent Truth Values; Logical Operations Using Boolean Values; User-Defined Logical Operators
- Built-in Logical Operators (GNU make 3.81 and Later)Command Detection; Delayed Variable Assignment ; Simple List Manipulation; User-Defined Functions; The Basics; Argument-Handling Gotchas; Calling Built-in Functions; Recent GNU make Versions: 3.81, 3.82, and 4.0; What's New in GNU make 3.81; What's New in GNU make 3.82; What's New in GNU make 4.0; What's New in GNU make 4.1; Chapter 2: Makefile Debugging; Printing the Value of a Makefile Variable; Dumping Every Makefile Variable; Tracing Variable Values; Tracing Variable Use; How the Variable Tracer Works; Tracing Rule Execution; An Example
- The SHELL HackAn Even Smarter SHELL Hack; GNU make 4.0 Tracing; Makefile Assertions ; assert; assert_exists; assert_target_directory; An Interactive GNU make Debugger; The Debugger in Action; Breakpoints in Patterns; Breakpoints in Makefiles; Debugger Internals; Dynamic Breakpoints in the GNU make Debugger; Dynamic Breakpoints in Action; The Easy Part; The Trick; Rocket Science; An Introduction to remake; Just Print and Trace; Debugging; Targets, Macro Values, and Expansion; Chapter 3: Building and Rebuilding; Rebuilding When CPPFLAGS Changes; An Example Makefile
- Changing Our Example MakefileHow Signature Works; Limitations; Rebuilding When a File's Checksum Changes; An Example Makefile; Digesting File Contents; The Modified Makefile; The Hack in Action; Improving the Code; Automatic Dependency Generation; An Example Makefile; makedepend and make depend; Automating makedepend and Removing make depend; Making Deleted Files Disappear from Dependencies; Doing Away with makedepend; Using gcc -MP; Atomic Rules in GNU make; What Not to Do; Using Pattern Rules; Using a Sentinel File; Painless Non-recursive make; A Simple Recursive Make
- A Flexible Non-recursive make SystemUsing the Non-recursive make System; What About Submodules?; Chapter 4: Pitfalls and Problems; GNU make Gotcha: ifndef and ?=; What ?= Does; What ifndef Does; (shell) and := Go Together; (shell) Explained; The Difference Between = and :=; The Hidden Cost of =; (eval) and Variable Caching; About (eval); An (eval) Side Effect; Caching Variable Values; Speed Improvements with Caching; A Caching Function; Wrapping Up; The Trouble with Hidden Targets; An Unexpected Error if the Hidden Target Is Missing; The -n Option Fails; You Can't Parallelize make
- make Does the Wrong Work if the Hidden Target Is Updated