make: Parallel Input

1 
1 5.4.2 Input During Parallel Execution
1 -------------------------------------
1 
1 Two processes cannot both take input from the same device at the same
1 time.  To make sure that only one recipe tries to take input from the
1 terminal at once, 'make' will invalidate the standard input streams of
1 all but one running recipe.  If another recipe attempts to read from
1 standard input it will usually incur a fatal error (a 'Broken pipe'
1 signal).
1 
1    It is unpredictable which recipe will have a valid standard input
1 stream (which will come from the terminal, or wherever you redirect the
1 standard input of 'make').  The first recipe run will always get it
1 first, and the first recipe started after that one finishes will get it
1 next, and so on.
1 
1    We will change how this aspect of 'make' works if we find a better
1 alternative.  In the mean time, you should not rely on any recipe using
1 standard input at all if you are using the parallel execution feature;
1 but if you are not using this feature, then standard input works
1 normally in all recipes.
1