don't slurp the files as this causes the whole file to be read. i
thought in list context read_file within a for() would do line by line
but i was wrong.
by switching to IO::File for makefile parsing we can get rid of a dependency.
add help/usage output