software
For large projects with a build phase, it becomes important to optimize the build process by removing unecessary rewrites. This is exactly what makefiles are for. They are a standardized format for building based on changes to prior dependencies.