You are right that make can be used to compile more than one program simultaneously, but there is more to that: it handles dependancies in big projects. You tell it in the makefile that this and that object files must be compiled in order to compile that executable that is needed to install that stuff etc... and make will compile all the stuff in the right order.
Try 'man make' for more detailed information.
As for your command, are you using bash? I suppose 'shell' is a link to bash...
the $ symbol, in bash is for variables. Try man bash for more informations.