In this chapter, you’ll learn how to deal with problems faced by makefile maintainers as projects get considerably larger. Tasks that seem easy with small makefiles become more difficult with large, sometimes recursive,
make processes. As makefiles become more complex, it’s easy to run into problems with edge cases or sometimes poorly understood behavior of GNU
Here you’ll see a complete solution to the “recursive
make problem,” how to overcome GNU
make’s problems handling filenames that contain spaces, how to deal with cross-platform file paths, and more.
It’s easy to get tripped up by the two ways of checking whether a variable is defined,
?=, because they do similar ...