A basic Makefile for c++ projects with hidden object files and dependencies