Also, fix make dependencies to include the source file for actions.
Mostly because I wanted to nest preprocessing. This makes the build more complex and slightly less portable, but the code itself is much cleaner.