Heh - I really need a FAQ somewhere for this Makefile. The issue of subdirectories comes up quite frequently, and unfortunately the answer is simply "That isn't ever going to be fully supported by the makefile."
The reason is that "make" itself really struggles with subdirectories. Sure, many projects have made it work, but you'd be amazed at the gymnastics they go through to do it, and all of the successful ones rely on an outside script to kickstart the process (like "configure"). And then, cleaning is brittle: the configure script typically has to have its own clean option because "make" can't figure out much more than "rm everything with the following suffix".
When you start looking at how LaTeX works, and how hard it is to tease dependencies out of it in the first place, then see what kinds of back-bending stuff has been put into the Makefile to try to work around all of the deficiencies in the tools, it starts to look pretty hard to handle anything in subdirectories.
So, the makefile *sort of* supports this, as in it will try to compile images in subdirectories. It will never clean them, though, and adding recursive dependency checking is pretty much right out.
I'm really sorry to have to give you bad news like that. If I had this to do over again, I'd implement my own theorem prover in Python and use that instead of GNU make as the basis for everything. Then we'd have a chance at doing the crazy stuff. As it stands now, though, it just isn't feasible with the chosen technology.
The good news is that, provided you're willing to do a couple of simple things, you can usually find your dependencies and clean everything really easily; you just have to live with a little clutter. Things I do to manage it:
- Name included files like chapter1._include_.tex - this allows me to write "make" without arguments and it won't try to build documents out of individual chapters (which don't have \document{begin} in them).
- Just shove everything into a single directory, and rely on "make clean" to declutter when needed.
No, it isn't pretty, but it actually works pretty well, especially when combined with the feature that lets you specify where you want your pdf output to go: that way you can at least specify where the most heavily-accessed output file goes, and it can be a less cluttered location.
I'm open to hearing about ideas about how to make this work. Unfortunately the makefile is incredibly complex, even for its author, and that makes having these discussions somewhat challenging. :-)