Most uses of Make outside of C are not declarative either. They tend to just be full of phonies and would be better served by a "$@" Bash script.