On Linux, inotify, pdflatex, and evince combine in the expected way. I edit with vim and :w and it does the work in the background. Strictly, I use a Makefile and make, but that's not a real difference.
I keep meaning to dig into this sort of write-based build trigger, and I'm going to grab this excuse. As I understand it, inotify is a syscall, right? Do you have custom C code to hook it and trigger your make? What are the standard options for command-line access to inotify? Rudimentary googling suggests incron or watcher (not watch). Any other advice?
Hmn, how the heck did I miss all these related google results the last few times I tried to research this. I start looking at things like libnotify and can't help but notice while such technologies seem to be focused on other kinds of events, they seem like they might work for this kind of file-watching thing.
[inotify-tools](https://github.com/rvoicilas/inotify-tools/wiki) is the stuff you want. There's a nice utility called inotifywait in there which will block until there's a change in a file or directory (it does recursive as well).
You can get results from as simple as this bash one-liner:
while(true); do inotifywait --exclude '.*.swp' -e close_write dir; make; done
I wrote that off the top of my head so it may not work straight off, but you get the idea.