support parallel source builds
A cross-platform port of Hexen II game.
Brought to you by:
sezero,
stevenaaus
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.
Thanks
Thanks for the suggestion. This had always been on my todo list, but I will now give it a priority. I will report back here when I finish it.
Thanks.