GoatTracker est un tracker produisant de la musique pour le Commodore 64. Il est disponible sous license GNU et est multiplate-forme.
Cependant, il n'a pas été porté sous FreeBSD, bien qu'il fonctionne bien sous Linux. Heureusement, grâce à quelques hacks simples, il est possible d'utiliser GoatTracker sous FreeBSD.
Avant tout, vérifiez que vous avez les ports/packages SDL d'installés, ainsi que GNU Make ("gmake") différent du BSD Make par défaut ("make"). Il y a quelques différences dans la structure des Makefiles donc il faut utiliser l'un ou l'autre en fonction de ce qu'on compile.
Ensuite, procurez vous GoatTracker à cette adresse : http://covertbitops.c64.org/ (rubrique "Tools").
Unzippez les sources dans un répertoire spécial crée à cette occasion, et placez vous dedans.
Avant de compiler GoatTracker, il faut compiler 2 outils qui seront nécessaires : datafile et dat2inc.
Placez vous donc dans le répertoire src/bme. Avant de lancer gmake, il faut modifier le Makefile car il est adapté à une machine Linux. Or, les machines Linux n'utilisent quasiment pas le préfixe /usr/local pour les includes. Le Makefile va donc chercher SDL_types.h dans /usr/include, alors qu'il est situé dans /usr/local/include. Pour corriger cela, il suffit d'ajouter ceci aux CFLAGS : -I/usr/local/include. Le makefile étant ici extrêmement simple, rajoutez cela aux deux appels à gcc.
Vous pouvez ensuite lancer la compilation avec gmake. Une fois que c'est terminé, vous devez copier ces deux exécutables produits dans votre $PATH, donc en gros vous devez copier les fichiers datafile et dat2inc dans /usr/local/bin.
Ensuite, placez vous dans le répertoire src. Cette fois, le Makefile est un peu plus complexe, vous devez rajouter -I/usr/local/include à la fin de la ligne CFLAGS= dans le fichier makefile.common. La compilation se passe ensuite sans problèmes.
Vous pouvez enfin jouer avec GoatTracker, l'exécutable étant situé dans le sous dossier linux/ et commencant par gt2. Enfin, voici une preuve que ça fonctionne :

Commentaires