Rework dependancy generation to work with subdirs.

> Changes to the syscall struct should cause everything in syscalls/*
> to be rebuilt. But somehow the dependency magic in the Makefile doesn't pick it up.

I'm not a make expert, but I think it's because it's looking for .deps/syscalls/foo.d
whereas we generate .deps/foo.d

This patch works for me, touching include/syscall.h rebuilds a few
things and then everything under syscalls.