data structures illegal --debug option debug-enter variable debug-leave variable debugging code writing and command script error messages command-line options defensive coding and error messages introduction macros and make output, phony targets and overriding commands, targets syntax errors techniuqes for warning function and declarations, reusable, library functions deferred expansion define directive, macros defslot function .DELETE_ON_ERROR target modifier 2nd dependencies bottlenecks and generating automatically include directive and Java makefile recursion and rules dependency checking development environments variables development requirements development styles df command, phony targets and dir function directives conditional processing conditional, syntax define include 2nd dependencies and optimization vpath directories ^ (tilde) and multidirectory projects, nonrecursive make and distclean target distribution, performance and double- colon rules