Made a decent general makefile
Added full arg checking functionality to pragmas