Make all make targets secondary

make was
- compiling with lex once to find their dependencies (.l > .c > .d);
- removing the compiled sources from lex files (rm .c);
- recompiling them for the object files (.l > .c > .o).

Now the .l > .c step should be done only once.
Update comments
Fix errors

Previous commit modified the signature of matrix_delete