See example Dotfiles: https://github.com/jessfraz/dotfiles
From: https://stackoverflow.com/questions/3798562/why-use-make-over-a-shell-script
Make ensures that only the required files are recompiled when you make changes to your source files.
It performs a topological sort or some other sort of tree analysis that determines what depends on what and what order to build the out-of-date things such that every prerequisite is built before every dependency, and only built once.