pokeemerald/INSTALL.md

55 lines
2.9 KiB
Markdown
Raw Normal View History

2019-04-24 20:13:09 +00:00
## Prerequisites
2016-09-03 21:25:34 +00:00
2019-06-15 22:45:19 +00:00
| Linux | macOS | Windows 10 (build 18917+) | Windows 10 (1709+) | Windows Vista, 7, 8, 8.1, and 10 (1507, 1511, 1607, 1703)
| ----- | ----- | ------------------------- | ------------------ | ---------------------------------------------------------
| none | [Xcode Command Line Tools package][xcode] | [Windows Subsystem for Linux 2][wsl2] | [Windows Subsystem for Linux][wsl] | [MSYS2][msys2] (includes devkitPro)
2016-09-03 21:25:34 +00:00
2019-06-15 22:45:19 +00:00
[xcode]: https://developer.apple.com/library/archive/technotes/tn2339/_index.html#//apple_ref/doc/uid/DTS40014588-CH1-DOWNLOADING_COMMAND_LINE_TOOLS_IS_NOT_AVAILABLE_IN_XCODE_FOR_MACOS_10_9__HOW_CAN_I_INSTALL_THEM_ON_MY_MACHINE_
[wsl2]: https://docs.microsoft.com/windows/wsl/wsl2-install
[wsl]: https://docs.microsoft.com/windows/wsl/install-win10
[msys2]: https://www.msys2.org/
2017-12-04 01:45:03 +00:00
2019-06-15 22:45:19 +00:00
The [prerelease version of the Linux subsystem](https://docs.microsoft.com/windows/wsl/install-legacy) available in the 1607 and 1703 releases of Windows 10 is obsolete so consider uninstalling it.
2017-12-04 01:45:03 +00:00
Make sure that the `build-essential`, `git`, and `libpng-dev` packages are installed. The `build-essential` package includes the `make`, `gcc-core`, and `g++` packages so they do not have to be obtained separately. MSYS2 does not include `libpng-dev` so it must be built from source.
2017-12-04 01:45:03 +00:00
2019-06-15 22:45:19 +00:00
If you are *not* using MSYS2, install the **devkitARM** toolchain of [devkitPro](https://devkitpro.org/wiki/Getting_Started) and add its environment variables.
2017-12-04 01:45:03 +00:00
2019-04-24 20:13:09 +00:00
export DEVKITPRO=/opt/devkitpro
echo "export DEVKITPRO=$DEVKITPRO" >> ~/.bashrc
export DEVKITARM=$DEVKITPRO/devkitARM
echo "export DEVKITARM=$DEVKITARM" >> ~/.bashrc
2016-09-03 21:25:34 +00:00
2019-04-24 20:13:09 +00:00
## Installation
2016-09-03 21:25:34 +00:00
2019-04-24 20:13:09 +00:00
To set up the repository:
2016-09-03 21:25:34 +00:00
2019-04-24 20:13:09 +00:00
git clone https://github.com/pret/pokeemerald
git clone https://github.com/pret/agbcc
2019-04-24 20:13:09 +00:00
cd ./agbcc
./build.sh
./install.sh ../pokeemerald
2019-04-24 20:13:09 +00:00
cd ../pokeemerald
./build_tools.sh
If the repository was previously set up using Cygwin, delete the `.exe` files in the subfolders of the `tools` folder except for `agbcc` and run the `build_tools.sh` script again.
2019-04-24 20:13:09 +00:00
To build **pokeemerald.gba**:
2018-08-12 01:06:27 +00:00
2019-04-24 20:13:09 +00:00
make -j$(nproc)
2019-04-24 20:13:09 +00:00
To confirm it matches the official ROM image while building, do this instead:
2019-04-24 20:13:09 +00:00
make compare -j$(nproc)
2019-06-15 22:45:19 +00:00
If only `.c` or `.s` files were changed, 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.
2019-04-24 20:13:09 +00:00
make -j$(nproc) NODEP=1
2019-06-15 22:45:19 +00:00
**Note:** If the build command is not recognized on Linux, including the Linux environment used within Windows, run `nproc` and replace `$(nproc)` with the returned value (e.g.: `make -j4`). Because `nproc` is not available on macOS, the alternative is `sysctl -n hw.ncpu`.
**Note 2:** If the base tools are not found on macOS in new Terminal sessions after the first successful build, run `echo "if [ -f ~/.bashrc ]; then . ~/.bashrc; fi" >> ~/.bash_profile` once to prevent the issue from occurring again.