I define my dependencies such that if one of the core files (like pollen.rkt) has changed, it triggers a re-render of all documents with `raco pollen setup` and then `raco pollen render -p ...`.
The later dependencies check to see if individual Pollen articles (.
poly.pm) have changed since their .html file was last rendered. If a render-of-everything has already been triggered above, then these will already be up to date at this point. But if not, any changed articles will be re-rendered singly, without parallel processing. (I don't use the -j switch when running make.)
So the basic idea is that I give make a very specific dependency tree, and rely on it to check those dependencies in a specific order, bringing in the new parallel setup and render when it's clear a complete rebuild is needed.
You also have to make sure that the makefile and the Pollen setup cache watchlist agree precisely on which are the "core" files that would trigger a complete rebuild.
Because I have some Pollen articles that depend on others, I also use tricks like "touching" the dependent articles during the evaluation of the `root` tag.