added automatic dependency file generation