Skip to content

Latest commit

 

History

History
95 lines (70 loc) · 2.54 KB

CustomBuild.md

File metadata and controls

95 lines (70 loc) · 2.54 KB

Custom build

Contributing note

Note

You need a linux envirment!

For Windows users, it is recommended to use a Ubuntu Server or try WSL.

  1. Install sub-modules
cd Tools
git clone https://github.com/MokhaLeee/FE-CLib-Mokha.git
git clone https://github.com/MokhaLeee/EventAssembler.git -b mokha-fix
git clone https://github.com/StanHash/FE-PyTools.git --recursive
git clone https://github.com/MokhaLeee/check_patch.git
  1. Install dependencies
sudo apt-get -y install binutils-arm-none-eabi ctags \
    gcc-arm-none-eabi build-essential cmake re2c ghc \
    cabal-install libghc-vector-dev libghc-juicypixels-dev \
    python3-pip pkg-config libpng* bsdiff moreutils perl

pip install pyelftools PyInstaller tmx six Pillow

cabal update
  1. Install DevkitPRO
wget https://apt.devkitpro.org/install-devkitpro-pacman
chmod +x ./install-devkitpro-pacman
sudo ./install-devkitpro-pacman
sudo dkp-pacman -S gba-dev

# Export vars
echo "export DEVKITPRO=/opt/devkitpro" >> ~/.bashrc
echo "export DEVKITARM=\${DEVKITPRO}/devkitARM" >> ~/.bashrc
echo "export DEVKITPPC=\${DEVKITPRO}/devkitPPC" >> ~/.bashrc
echo "export PATH=\${DEVKITPRO}/tools/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc
  1. Build EA

Warning

Please Strictly follow the following steps to build linux EA by yourself.

Get into Tools/EventAssembler and then refer to EA build note to install .NET.

# Install .NET
# refer to: https://learn.microsoft.com/en-us/dotnet/core/install/linux-scripted-manual#scripted-install
wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
chmod +x ./dotnet-install.sh
sudo ./dotnet-install.sh --channel 6.0

export DOTNET_ROOT=$HOME/.dotnet
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools

# Build EA
cd Tools/EventAssembler
./build.sh
  1. Install code review tools
cp Tools/scripts/pre-commit .git/hooks/
  1. Put Fire Emblem: The Sacred Stones clean rom named fe8.gba in the repo directory.

  2. build:

make

Note

If gcc report error, update C-Lib and retry, see #155

It build such outputs

Name Desc
fe8-kernel-dev.gba ROM
fe8-kernel-dev.sym debug on NO$GBA
fe8-kernel-dev.ref.s lyn reference
fe8-kernel-dev.ref.event EA reference