Use nullptr instead of 0
Review Makefile

Handle dependencies in a cleaner way