Added .gitignore
Refactored Makefile to include all of the transitive dependencies.

. modified:   Makefile