Using the make command in parallel run mode
Normally, the make command runs commands sequentially for only one target at a time, waiting for the command to finish before running the next.
However, the make command can also run in a parallel run mode, where it can run many concurrent jobs to build independent targets.
The -j flag tells the make command simultaneously to run independent targets.
If you follow the -j option with an integer, then the integer specifies the maximum number of concurrent jobs that can be executed to build the targets.
If -j flag is not followed by an integer, then there is no limit on the number of jobs that will be invoked to build the targets.
If the make command encounters an error while building a target in parallel execution mode, and none of the methods used to ignore errors are used, then further execution of commands to build that target will stop, and the make command will wait for child jobs already running to exit before completing.
When you are running more than one job in parallel mode, the output that the jobs generate prints to the screen a it is produced. This can lead to the confusion of messages from different jobs on the screen unless you suppress the messages using redirection, or instructing the make command to run silently.