Hi — the way the source is currently structured makes it a bit difficult to parallelize. For the Debian package (and I presume other distributions) we essentially do the following
# Build the main game binaries make -C engine/hexen2 h2 make -s -C engine/hexen2 clean make -C engine/hexen2 glh2 make -s -C engine/hexen2 clean # Build the dedicated server make -C engine/hexen2/server # HexenWorld binaries make -C engine/hexenworld/server make -C engine/hexenworld/client hw make -s -C engine/hexenworld/client clean make -C engine/hexenworld/client glhw # HexenWorld master server make -C hw_utils/hwmaster # Build h2patch make -C h2patch # Launcher binaries make -C launcher # Build the hcode compiler make -C utils/hcc
Whilst we can pass -j flags to each individual make, and it might be possible for us to run some of those stages in parallel (perhaps each sequential make prior to a clean, such as server and client hw before glhw), life would be a lot nicer if the upstream Makefile(s) were constructed in a way that the clean target 'guards' were not necessary.
Log in to post a comment.