1

Vu qu'hier j'ai passé pas mal de temps à comprendre comment faire marcher DevkitARM avec le sdk de Gamepark (merci Orion_ ! smile ), j'ai réaliser ce petit tutorial déjà pour tout ceux qui désire compiler leur programme avec GCC 3.4.1 alors qu'ils compilaient avec devkitadv ou minigp32 et puis pour ceux qui veulent programmer avec la dernière version de GCC et le sdk de Gamepark.

http://perso.wanadoo.fr/raphael.domenge/articles_fichiers/tuto_gp32_prog.htm

Pour le moment je le mets juste pour tester (il y a peut-être des erreurs), mais normalement il ne dot pas trop y avoir de problèmes. J'espère que ce sera compréhensible et qu'il ne reste pas trop de fautes.
Voilà. grin

Edit : Il y avait une petite erreur avec :
del %1.o
del %2.elf
del %2.gxb
où j'avais laisser des *, à la place des arguments mais c'est corrigé.

Ah oui, et l'intro est peut-être un peu lourde voir inutile et j'ai certainement écrit beaucoup de conneries dedans, alors si ça vous choc dite le moi. grin

2

-

3

Ca t'embête autant que ça ?! grin En tout cas c'est bien pratique ce truc au lieu de se faire ***** avec les makefile.

4

merci smile

5

-

6

Et bien on dirait pas ! Il n'y a même pas besoin de mettre d'autres fichiers que le fichier .c principal.
merci

De rien... en espérant que ça pourra servir. smile

7

-

8

Ah d'accord ! C'est au niveau du temps de compilation que tu voulais parler. Oui je comprend mieux maintenant. grin
Je ne me doutais pas qu'avec une makefile seul ce qui avait changé était compilé.

9

un makefile ecrit vite fait (base sur le .bat d'orion_ pour les parametres)
http://cermics.enpc.fr/~lejeune/Z/make.zip (make.exe est a copier dans C:\devkitARM_r8\bin par exemple. Je crois que ca ne fait pas partie des programmes fournis avec devkit)

Les trucs a modifier pour que ca marche avec votre programme doivent trainer dans les 10 premieres lignes du makefile. Vous devez pouvoir laisser la fin comme telle.

10

question : est ce que la lib mod de chn marche avec ton GCC 3.4.1 et le SDK off ?
Désolé j'ai la fleme de tester et surtout de chercher au cas ou ca marcherait pas (comme souvent sad )

11

mauvaise langue !!!!
J'ai recupere le libmodplaytest sur le site de chn
rajoute gpstart.c du sdk dans le repertoire
remplace le makefile par le makefile juste au dessus
mis les make clean en commentaire (pour pas effacer la lib)
et le debut du makefile c'est ca
PROG_NAME = modplay
LONG_PROG_NAME = modPlay test
OBJS = gpstart.o gpmain.o libmodplay.a
AUTHOR = YaouanK

make et zou c'est tout bon. teste sur ma gp32. ca te va comme test ?

12

un makefile ecrit vite fait (base sur le .bat d'orion_ pour les parametres)

Ah merci ! C'est sympa ! smile
Je vais tester pour voir comment ça marche et puis je le mettrais dans mon tuto.

13

Raphaël
:
un makefile ecrit vite fait (base sur le .bat d'orion_ pour les parametres)

Ah merci ! C'est sympa ! smile
Je vais tester pour voir comment ça marche et puis je le mettrais dans mon tuto.

Pendant que tu y es, il faudra faire un gros menage dedans et presenter une version pour le sdk de MrMirko (j'etais en train d'y penser)

14

Voilà, j'ai complété mon tuto avec ton makefile yaouank, c'est toujours à la même adresse. smile

15

a priori, l'option "strip" ne sert a rien. C'est plus une option de debug qu'autre chose.
Donc dans le makefile j'ai vire l'option strip.
j'ai vire une ligne que j'avais mise en commentaire et que j'avais oublie de supprimer.
j'ai interverti CFLAGS et CPPFLAGS (ca change rien mais ca me semble plus logique comme ca)

Si vous voulez que votre executable soit un petit peu plus petit, ne linkez que les librairies necessaires (dans "-lgpfont -lgpstdlib -lgpos -lgpgraphic -lgpstdio -lgpsound -lgpmem -lm" certaines ne sont pas toujours utiles. -lm par exemple. -lgpsound peut-etre aussi). Pour savoir si elles sont necessaire: supprimez les, recompiler votre projet. Si ca marche, elles n'etaient pas necessaires. Si il y a des messages d'erreur, il faut les remettre.
le fichier a jour n'a pas change de place: http://cermics.enpc.fr/~lejeune/Z/make.zip

16

-

17

Je viens d'essayer de compiler un petit truc avec strip et sans. aucune diff de taille.
Soit ca fait rien dans le cas du code gp32 non debug. Soit l'essai que j'ai fait n'etait pas significatif.

18

strip, ça reduit la taille de l'exe, en virant des informations inutile il me semble

Oui, sur PC ça marche vraiment bien ! J'avais des programmes qui faisaient 100 ko etq ui sont passé à 7ko.

Et la les prog sur GP32 ont l'air de commencer à 45-46 Ko avec GCC tandis que les exemple du sdk de Mrmirko ne font pas plus de 4ko pour certains.
Il doit sûrement y avoir un autre truc à faire.

19

-

20

Ah d'accord. M'enfin c'est bizzare que ça prenne 46 ko.

21

bravo pour le tutorial qui est excellent!

22

bravo pour le tutorial qui est excellent!

Merci !!! smile Je n'en attendais pas autant.

23

Je viens de le mettre à jour car il y avait une petite erreur dans ce que je viens de refaire.

24

hum hum, j'ai voulu m'amuser avec les commandes du makefile.
Perdu.
derniere ligne. remplacer
$(CC) $? $(LIBDIRS) $(LDFLAGS) -o $@

par
$(CC) $(OBJS) $(LIBDIRS) $(LDFLAGS) -o $@


sans ce changement le makefile est tout pourri et necessite un make clean systematique pour pouvoir compiler

25

Heuh oui, ça fait quoi ?
Edit : enfin tu voulaisque ça fasse quoi plutôt ? grin

26

avant ca linkait ensemble que les .o modifies.
Maintenant ca link ensemble tous les .o du projet. Meme ceux qui n'ont pas ete modifies depuis la derniere fois.

Et pendant que j'y suis, j'ai ENCORE fait une modif. Ca me faisait chier d'avoir une ligne a changer pour gerer le cas qu'il y ait ou non l'icone du fxe. Maintenant c'est bon, il faut mettre un peu plus de truc dans la variable ICON mais le makefile ne change pas pour ceux qui utilise l'icone par defaut (il suffit juste alors de supprimer la ligne)
ICON = -b "laby.bmp"
ou bien de la mettre en commentaire
#ICON = -b "laby.bmp"

EDIT: au passage j'en profite pour dire que AUTHOR et LONG_PROG_NAME sont tous deux limites a 32 caracteres si j'ai bien lu la doc de b2fxec

27

tu fait un tuto avec g++ now ?^_^ pour compiler les prog en c++ ? ^_^

Très beau tuto wink, ca me rapelle que je doit reocmmenecr a coder pou la gp32 ^_^, vai réveillé les autres de l'equipe voir si ya encore des vivants lol

28

avant ca linkait ensemble que les .o modifies. Maintenant ca link ensemble tous les .o du projet. Meme ceux qui n'ont pas ete modifies depuis la derniere fois.

Ca marche aussi ?
J'ai modifié la dernière ligne et du coup ça ne compilait plus.
Très beau tuto

Merci ! smile ... à condition d'avoir FireFox ou Mozilla parce-que sinon mon CSS est à chier (sous IE du moins). grin

29

je suis sous firefox tout le tmeps ,firefox lover wink

30

1- ta page web passe bien sur mon internet explorer. Rassuré ?
2- pour le makefile, je tourne sans probleme avec celui qui est dans http://cermics.enpc.fr/~lejeune/Z/make.zip (je viens tout juste de copier mon makefile actuel dedans histoire d'etre sur que ce soit la derniere versoin).
Tu le recuperes, tu changes les 4 premieres lignes pour que ca aille bien avec ton programme. Tu mets ICON en commentaire si tu veux et tu changes SDK_INCLUDE_DIR et SDK_LIB_DIR si t'as pas installe le SDK au meme endroit que moi. Et c'est tout, ca devrait suffire et rouler comme sur des roulettes. non ?