$ cd project
$ inotifywait -m -e modify,close_write,move,move_self,create,delete,delete_self -r . | while read; do make; done
Every time any source is modified, renamed, created, etc, that will run 'make', rebuilding whatever output artifacts you need.
As long as you're careful about always re-fetching artifacts (like css files built from whatever css-sugar-y thing is hot this week) somehow, that should set you up nicely, and it generalizes to all kinds of workflows.
As long as you're careful about always re-fetching artifacts (like css files built from whatever css-sugar-y thing is hot this week) somehow, that should set you up nicely, and it generalizes to all kinds of workflows.