-W is actually called -Wextra these days.
I'm a bit of a git n00b, it seems… Reversed some of the changes I merged in by accident from 'master'. (compilation errors which had been fixed here, but not yet in master…)
I feel it's about time to merge all of this into master now. It's not like anyone is using that branch for anything else anyway...
Use #pragma once instead of old-school #ifnfdef/endif stuff.
Removed schedule.o from the linkage, since schedule.c is no more.