Updated with more thorough definitions
Added many additional warnings to makefile, all warnings trigger compilation error