- Does it cover GNU Make vs BSD Make?
- Primarily GNU Make (what most developers use). BSD-specific incompatibilities are noted where GNU syntax breaks.
- What about pattern rules?
- Yes — `%.o: %.c` implicit rules are covered, along with .PHONY targets and automatic variables ($@, $<, $^).
- Is it relevant for modern projects?
- Very — Makefiles are a universal task runner. Even projects using npm scripts or justfiles often have a Makefile for devex consistency.
- What about parallel builds?
- Yes — `make -j N` for parallel, plus .NOTPARALLEL when targets have hidden dependencies.