[Tuto] How to compile WiiFlow on Kubuntu
Posté: Jeu 21 Fév 2013 16:21
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"