Earlier quoted context omitted.
I love having idempotent makefile tasks that can do this kind of thing. And as far as "pages of instructions in various states of decay," couldn't agree more that those aren't a good solution. I usually observe those instructions containing lots of terminal commands. I'd rather have those in an executable format, with commenting if explanation is needed. Then it's (usually, hopefully) pretty obvious where something b…
How do you make sure your makefile tasks are idempotent?
Example:
git-setup.out: touch $@