[Tuto] How to compile WiiFlow on Kubuntu

Utilisateur de distributions Linux depuis plus de dix ans, je me devais de proposer ce tuto.
Il est en bien des points similaire au tuto pour Mac OS X mais en plus simple et se basera sur une Kubuntu 12.10 amd64.
Préparation de l'environnement :
Toute la procédure se fera à partir d'un terminal.
Installation des paquets pour la compilation et le versioning.
On commence par s'assurer que l'on est bien dans son répertoire utilisateur :
On créé ensuite le répertoire de développement et on se positionne dedans :
Téléchargement et décompression de libogc et devkitPPC :
Création et enregistrement des variables d'environnement :
Création d'une copie de travail des sources de WiiFlow
Compilation :
On commence par se positionner dans le répertoire de notre copie de travail :
Reste plus qu'à lancer la compilation :
Pour aller plus loin :
En Vrac.
Et pour finir, un script personnalisable à placer à la racine de la copie de travail :
Il est en bien des points similaire au tuto pour Mac OS X mais en plus simple et se basera sur une Kubuntu 12.10 amd64.
Préparation de l'environnement :
Toute la procédure se fera à partir d'un terminal.
Installation des paquets pour la compilation et le versioning.
- Code: Tout sélectionner
sudo apt-get install build-essential subversion
On commence par s'assurer que l'on est bien dans son répertoire utilisateur :
- Code: Tout sélectionner
cd ~
On créé ensuite le répertoire de développement et on se positionne dedans :
- Code: Tout sélectionner
mkdir WiiFlow && cd WiiFlow
Téléchargement et décompression de libogc et devkitPPC :
- Code: Tout sélectionner
wget https://open-wiiflow-mod.googlecode.com/files/libogc_svn_r4902.zip
wget https://downloads.sourceforge.net/project/devkitpro/devkitPPC/devkitPPC_r26-x86_64-linux.tar.bz2
unzip libogc_svn_r4902.zip -d devkitpro
tar -xjf devkitPPC_r26-x86_64-linux.tar.bz2 -C devkitpro
Création et enregistrement des variables d'environnement :
- Code: Tout sélectionner
echo 'export DEVKITPRO=/home/$USER/WiiFlow/devkitpro
export DEVKITPPC=$DEVKITPRO/devkitPPC' >> ~/.bashrc
. ~/.bashrc
Création d'une copie de travail des sources de WiiFlow
- Code: Tout sélectionner
svn co https://open-wiiflow-mod.googlecode.com/svn/trunk/ wiiflow-src
Compilation :
On commence par se positionner dans le répertoire de notre copie de travail :
- Code: Tout sélectionner
cd wiiflow-src
Reste plus qu'à lancer la compilation :
- Code: Tout sélectionner
make
Pour aller plus loin :
En Vrac.
- Faire le ménage entre deux compilations :
- Code: Tout sélectionner
make clean
- Accélérer la compilation en lançant plusieurs processus en parallèle avec un processeur multi-core, ici un quad-core :
- Code: Tout sélectionner
make -j5
- Mettre à jour la copie de travail :
- Code: Tout sélectionner
svn up
- Annuler les modifications apportées aux fichiers de la copie de travail :
- Code: Tout sélectionner
svn revert -R .
- Mettre à jour la copie de travail à la révision n :
- Code: Tout sélectionner
svn up -r n
Et pour finir, un script personnalisable à placer à la racine de la copie de travail :
- Code: Tout sélectionner
#!/bin/bash
# Suppression des fichiers objets d'une précédente compilation
make clean
# Restauration à l'état initial de la copie de travaille puis mise à jour
svn revert -R . && svn up
# Désactivation des Fanarts
sed -i 's/enable_fanart", true/enable_fanart", false/g' source/gui/fanart.cpp
# Désactivation de l'affichage de la piste sonore
sed -i 's/display_music_info", true/display_music_info", false/g' source/menu/menu.cpp
# Désactivation de la vibration de la wiimote
sed -i 's/rumble", true/rumble", false/g' source/menu/menu.cpp
# Désactivation de l'affichage des bannières dans les pages de configuration
sed -i 's/banner_in_settings", true/banner_in_settings", false/g' source/menu/menu.cpp
# Détermination de chemin par défaut de la NAND émulée
sed -i 's/wiiflow\/nandemu/nands\/pl_eu/g' source/defines.h
# Désactivation des plugins
sed -i 's/PLUGIN_DOMAIN, "disable", false/PLUGIN_DOMAIN, "disable", true/g' source/menu/menu_main.cpp
# Désactivation du menu source
sed -i 's/use_source", true/use_source", false/g' source/menu/menu_main.cpp
# Récupération de l'heure Unix en seconde avant compilation
d1=`date +%s`
# Compilation avec l'option -j[N] pour un Quadcore où N = nb core+1
make -j5
# Calcul du temps de compilation
echo -e "\033[00;31m compilé en $((`date +%s`-$d1))s\033[00m"