summaryrefslogtreecommitdiff
path: root/INSTALL.md
diff options
context:
space:
mode:
Diffstat (limited to 'INSTALL.md')
-rw-r--r--INSTALL.md83
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