diff --git a/INSTALL.md b/INSTALL.md index c5425204ca..bb5e9849d3 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -65,3 +65,32 @@ cd ../pokeemerald ``` And build the ROM with `make`. + +# Faster builds + +After the first build, subsequent builds are faster. You can further speed up the build: + +## Parallel build + +This significantly speeds up the build on modern machines. + +By default `make` only runs a single thread. You can tell `make` to run on multiple threads with `make -j`. See the manfile for usage (`man make`). + +The optimal value for `-j` is the number of logical cores on your machine. You can run `nproc` to see the exact number. + +``` +$ nproc +8 +``` + +If you have 8 cores, run: `make -j8` + +`-j` on its own will spawn a new thread for each job. A clean build will have thousands of jobs, which will be slower than not using -j at all. + +## Disable the dependency scanning + +If you've only changed `.c` or `.s` files, you can turn off the dependency scanning temporarily. Changes to any other files will be ignored, and the build will either fail or not reflect those changes. + +`make NODEP=1` + +