Cleaner package loading.
Re-work Makefile to actually use dependencies correctly.

In practice doesn't really change much because the datestamped
versioning causes builds to always be generated. If this changes
however, we can reap the benefits of this newer Makefile.