diff options
Diffstat (limited to 'INSTALL.md')
-rw-r--r-- | INSTALL.md | 83 |
1 files changed, 74 insertions, 9 deletions
diff --git a/INSTALL.md b/INSTALL.md index dfd992f2f..d8f60f3e1 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -4,26 +4,63 @@ Install [**devkitARM**](http://devkitpro.org/wiki/Getting_Started/devkitARM). Make sure that there is an environment variable called DEVKITARM with the path of the directory before the "bin" directory containing "arm-none-eabi-as", "arm-none-eabi-cpp", "arm-none-eabi-ld" and "arm-none-eabi-objcopy". -Then get the compiler from https://github.com/pret/agbcc and run the following commands. +Then run the following commands. + git clone https://github.com/pret/pokeruby + git clone https://github.com/pret/agbcc + + cd agbcc ./build.sh - ./install.sh PATH_OF_POKERUBY_DIRECTORY + ./install.sh ../pokeruby + + cd ../pokeruby + +To build **pokeruby.gba**: + + make -j4 -Then in the pokeruby directory, build the tools. - ./build_tools.sh +# Mac -Finally, build the rom. +In **Terminal**, run the following command: + + xcode-select --install + +Then follow the Linux instructions. - make # Windows -Install [**devkitARM**](http://devkitpro.org/wiki/Getting_Started/devkitARM). +Install [**devkitARM**](http://devkitpro.org/wiki/Getting_Started/devkitARM) to the default directory (C:/devkitpro). + +Then download [**Cygwin**](http://cygwin.com/install.html): **setup-x86_64.exe** for 64-bit Windows, **setup-x86.exe** for 32-bit. + +Run the Cygwin setup and leave the default settings. At "Select Packages", set the view to "Full" and choose to install the following: + +- `make` +- `git` +- `gcc-core` +- `gcc-g++` +- `libpng-devel` + +In the **Cygwin terminal**, enter these commands: + + export DEVKITARM=/cygdrive/c/devkitpro/devkitARM + echo export DEVKITARM=/cygdrive/c/devkitpro/devkitARM >> ~/.bashrc + + git clone https://github.com/pret/pokeruby + git clone https://github.com/pret/agbcc + + cd agbcc + ./build.sh + ./install.sh ../pokeruby + + cd ../pokeruby -Then get the compiled tools from https://github.com/pret/pokeruby-tools. Copy the `tools/` folder over the `tools/` folder in your pokeruby directory. +To build **pokeruby.gba**: + + make -j4 -You can then build pokeruby using `make` in the MSYS environment provided with devkitARM. # Compiling Sapphire and later revisions @@ -52,3 +89,31 @@ Pokémon Sapphire 1.1 Pokémon Sapphire 1.2 make sapphire_rev2 + + +# 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 |