src:=$(filter-out $(done),$(wildcard *.pdf))
./watermark_script.sh $< $@
The inotify script becomes:
inotifywait -e create /home/user/pdfs && make -C /home/user/pdfs
Generally, GNU make has a bunch of very interesting facilities, making it much, much more powerful than its ancestors (BTW, people interested may want to take a look at an implementation of non-recursive make, which — while being awesome — also shows up some useful make tricks).
Now, regarding the filesystem events and userland tools (which are awesome), I wish there was a unified front-end for this kind of things (inotify on Linux, fsevents on OSX...)
PS: I wish the comment form supported something like markdown, so that I could escape those wildcards, and more.
make figures out which files need updating
make allows to write pattern rules (.c.o:, or %.o: %.c)
you don't need to move files out of the 'inbox'
to ignore them
regenerating a file is a touch(1) away
make is descriptive, not imperative (invaluable
readability when you're coming back on it years later)
should you ever need a second transformative step or
a new dependency, it's trivial to insert, and make
will figure stuff out
make can trash intermediate results automatically
make is crazy fast
make variables are not environment variables
make has multiple variable assignations, resulting in
some early/late evaluation system (early with :=,
late with =, $() is always late unless part of a :=)
make outputs commands as they're executed (not with a global)
make outputs nothing when commands are prefixed with @ (not with a global)
make interrupts itself on a chain failure
each make recipe line is executed in a distinct shell
Of course I would not write everything in make. But knowing what make can do makes it the obvious choice for some tasks, and helps you coming up with a robust task/generator system in a snap, whereas coming up with a task/generator system in bash quickly is already not that easy, and making it robust even less.
Make calls the shell in order to run programs, correct?
(IOW, does make call execve directly, as the shell does?)
So I used inotifywait...
It would check for any modifications to my "CSS" folders recursively, and it would then run my custom less compilation script  ...
while inotifywait -e modify -r /var/www/site/public/static/css/base; do
cd /var/www/site/public/static/css; node compile;
 https://gist.github.com/3497304 (My Custom LESS compile Script)
 http://docs.fabfile.org/en/1.4.3/index.html ( Fabric Command Line Tool )
 https://gist.github.com/3497308 (Sample Fab Command )
If it would benefit anyone to know in greater details, I'd be happy to write a blog post about automating compilation using these tools.
What's the "try me" pointing to? I tried clicking it and it did nothing, scrolling down it just points to blank right margin all the way ...?
I have no problem with "you may also like" and have found the links useful on occassion; anything animated without user interaction however is generally a turn off for me.
Some kind of feedback tool about the site.
So I guess it worked?
(Having said that, I went back afterwards and filled out the feedback form pointing out the annoying bits. It was a good article, and I wanted to repay the favour; I recommend you do the same if you agree.)
Also, thanks for the pointers into the source code. It looks like I would want to make the change around line 67 of net_backend_waitlink.c. I highly doubt I'll actually get around to doing it though :).
* File::ChangeNotify (https://www.metacpan.org/module/File::ChangeNotify)
* Filesys::Notify::Simple (https://www.metacpan.org/module/Filesys::Notify::Simple)