multiple changes

*makefile frobbery
*some asserts
*gitignore