<p>I have this large C++ project that I need to build on a platform that does not have a parallel make (like make -j on Linux). The server has 6 CPU's and I want to do a parallel build manually. </p>

<p>I can generate a task list like this for about 300 object files. I use the Makefile for the dependency checks and incremental build:</p>

<p>make -f Makefile obj1.o</p>

<p>make -f Makefile obj2.o</p>

<p>make -f Makefile obj3.o
...</p>

<p>How would I execute these tasks in parallel with no more then 6 tasks running at a time using Ksh and Perl? (Java or Python are not available :-( )</p>

If the OS is properly handling inter-processor communication and scheduling, you should just be able to throw all the makes into backgrounded processes, as long as there are no interdependencies.
If they're all independent, I would issues a series of commands like this:
```
```
make -f Makefile obj1.o &
make -f Makefile obj2.o &
...
make -f Makefile objn.o &
```
```
With dependencies, string them with the double ampersand (
```
&&
```
) so that the dependent item doesn't start until its 'parent' has finished.
I realize that's not quite the solution you requested, but it's how I would attack the problem :)