wut/README.md

2.5 KiB

Build status

wut

Let's try make a Wii U Toolchain / SDK for creating rpx/rpl.

Licensed under the terms of the GNU General Public License, version 2 or later (GPLv2+).

Install

It is recommended to install wut by using the devkitPro package manager

For example you might do:

sudo dkp-pacman -Syu devkitPPC wut-tools wut

Usage

See samples for examples of how to use wut.

The share/wut.cmake file provides some helpers for your build:

  • wut_create_rpx(target) - Will create an .rpx file from your CMake target generated by add_executable
  • wut_create_rpl(target) - Will create an .rpl file from your CMake target generated by add_executable
  • wut_add_exports(target exports.def) - Will add exports specified in exports.def for the given target

Building from source

Requires:

Building with devkitPPC

Ensure you have the devkitPPC and wut-tools packages provided by devkitPro:

sudo dkp-pacman -Syu devkitPPC wut-tools
export DEVKITPRO=/opt/devkitpro
export DEVKITPPC=/opt/devkitpro/devkitPPC

Then it's as simple as running make or make install:

make
make install

Building with a locally built wut-tools

If you have locally built wut-tools then just add the directory containing the built binaries to PATH and they should be used instead:

export PATH=/path/to/wut-tools/bin:$PATH
make

Building wut projects

Building wut projects with make

Simply export the required variables and call make.

export DEVKITPRO=/opt/devkitpro
export DEVKITPPC=/opt/devkitpro/devkitPPC
make

Building wut projects with CMake

For any wut project you want to build with CMake you must use the wut.toolchain.cmake toolchain file:

export DEVKITPRO=/opt/devkitpro
cd samples/cmake/helloworld
mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE=$DEVKITPRO/wut/share/wut.toolchain.cmake ../
make

A minimal CMakeLists.txt file for a C++ project might look like:

cmake_minimum_required(VERSION 3.2)
project(helloworld_cpp CXX)
include("${DEVKITPRO}/wut/share/wut.cmake" REQUIRED)

add_executable(helloworld_cpp main.cpp)
wut_create_rpx(helloworld_cpp.rpx helloworld_cpp)