Skip to content

Latest commit

 

History

History
127 lines (77 loc) · 3.29 KB

INSTALL.md

File metadata and controls

127 lines (77 loc) · 3.29 KB

Linux

Install devkitARM.

Then run the following commands.

export DEVKITPRO=/opt/devkitPro
echo "export DEVKITPRO=$DEVKITPRO" >> ~/.bashrc
export DEVKITARM=$DEVKITPRO/devkitARM
echo "export DEVKITARM=$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

To build pokeruby.gba:

make -j4

Mac

Install devkitARM.

Then in Terminal, run the following commands.

xcode-select --install

export DEVKITPRO=${HOME}/devkitPro
echo "export DEVKITPRO=${DEVKITPRO}" >> ~/.bashrc
export DEVKITARM=${DEVKITPRO}/devkitARM
echo "export DEVKITARM=${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

To build pokeruby.gba:

make -j4

Windows

Install devkitARM to the default directory (C:/devkitpro).

Then download Cygwin: 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 DEVKITPRO=/cygdrive/c/devkitpro
echo export DEVKITPRO=$DEVKITPRO >> ~/.bashrc
export DEVKITARM=$DEVKITPRO/devkitARM
echo export DEVKITARM=$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

To build pokeruby.gba:

make -j4

Compiling Sapphire and later revisions

When you simply enter make and don't specify a target, then Pokémon Ruby 1.0 will be built. However, Sapphire can also be built, along with revisions 1 and 2 of both Ruby and Sapphire. Here is a listing of each ROM that can be made, along with the command to make the ROM.

Version Command
Ruby 1.0 make ruby
Ruby 1.1 make ruby_rev1
Ruby 1.2 make ruby_rev2
Sapphire 1.0 make sapphire
Sapphire 1.1 make sapphire_rev1
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