Most of my simple C projects have make.sh instead that has something like:
clear
gcc some options -o foo && ./foo
replies(1):
clear
gcc some options -o foo && ./foo
* C++ requires some discipline to not explode build times, but it can be done if you dont go nuts with templates and standard headers.