soopos: the prerequisite part is looking at the file timestamps.. think touch.. If one of the prerequests have a newer timestamps than the target (object file in this case), it will execute the command.
soopos: no.. it's not recursive.. like i said.. very easy.
.. and use emacs's make-mode when editing Makefiles.. then you won't get problems with TABs before commands, etc.
if fact, use emacs for all your editing purposes ;-)