emukidid / swiss-gc

Swiss - The swiss army knife of GameCube homebrew
GNU General Public License v2.0
1.28k stars 93 forks source link

Mark the USBGecko Makefile as not being parallelizable, so that it doesn't cause the entire build to fail if you run make in parallel #823

Closed ziggythehamster closed 1 year ago

ziggythehamster commented 1 year ago

With this change, I am able to make -j32 the entire project successfully (which greatly speeds up the build process).

The reason the Makefile isn't parallelizable is that both the linux and windows targets write their .o files to the same directory, causing the linker to try to link ELF64 and PE32 binaries together, which it can't do. The Makefile would need to be restructured so that build output goes to two different places for this Makefile to be parallelizable, but that feels like an unnecessary amount of work given how little improvement parallelizing this Makefile would provide (compared to being able to compile the whole thing with -j now).