Mildred a écrit 2245 commentaires

  • [^] # Re: Utiliser Jabber avec MSN Messenger.

    Posté par  (site web personnel) . En réponse au journal Le phénomène MSN Messenger. Évalué à 1.

    Je n'ai pas bien compris ta 2eme idée ...
    Ces transports existent déja non ?
  • [^] # Re: Vivement que ça se démocratise... Mon Dieu NON !

    Posté par  (site web personnel) . En réponse au journal Autopackage. Évalué à 1.


    Plus sérieusement, je vois pas bien ce qu'apporte autopackage par rapport à mon apt-get (moyenant une IHM pour l'utilisateur lambda). Et il ne faut pas se faire d'illusion, c'est pas ca qui va régler les problèmes de packaging sur les différentes distrib... Ca ne fait que rajouter un nouveau format.

    Ce n'est pas un format de paquets comme les autres. Il est prévu pour des logiciels tiers uniquement qui sont souvent packagés un peu tard sur les distribs ...

    Exemple très simple: le jour ou OpenOffice 2 sort, je vais l'installer. Il ne sera surement pas disponible en .deb alors j'espère pouvoir trouver les binaires sur le site OOo.
    Si OOo existe en autopackage, au lieu de décompresser OOo dans /opt/OpenOffice2/ je lancerait le paquet Autopackage et je lui dirais de l'installer dans /opt/OpenOffice2/

    Personellement, je trouve ca plus simple. Evidamment, lorsque OOo existera en .deb, je l'installerait et je pourrais virer l'autre.
  • [^] # Re: Vivement que ça se démocratise... Mon Dieu NON !

    Posté par  (site web personnel) . En réponse au journal Autopackage. Évalué à 1.

    > Et si on désinstalle tous les packages de la distrib utilisant GTK, je suppose que ce dernier sera enlevé avec la dernière appli. Comment va faire AutoPackage pour que les applis qu'il a installé continuent de tourner ?
    > C'est pour etre sur de bien comprendre hein...

    Au hazard: Autopackage inscrira son programme dans la base de données du gestionnaire de paquets de la distrib et donc le paquet sera désinstallé avec les autres.
    C'est dans la TODO list je crois
  • [^] # Re: Vivement que ça se démocratise... Mon Dieu OUI !

    Posté par  (site web personnel) . En réponse au journal Autopackage. Évalué à 1.

    > Comment ça se passe sur MacOS X lorsqu'un utilisateur (avec les droits) veut installer FireFox 1.0 ou pire Internet Explorer ?

    Je suppose qu'il télécharge un petit fichier .dmg avec safari et le monte (les fichiers .dmg sont des images diques). Dedans, il y a un dossier dont le nom se termine par .app. Avec son Finder, il va le copier dans le dossier /Applications
    Lorsque il veut le lancer, il double-clique sur le dossier .app

    je n'ai pas vérifié pour les applications que tu donnes mais c'est comme ca que ca fonctionne pour gimp-2.2 sur OS-X (malheureusement, j'attends toujours gimp-2.2 sur ubuntu :-( )
  • [^] # Re: Vivement que ça se démocratise... Mon Dieu NON !

    Posté par  (site web personnel) . En réponse au journal Autopackage. Évalué à 1.

    Un exemple de problème, c'est par exemple l'absence de mise à jour automatique. La bibliothèque installée sur le système recevra une mise à jour de sécurité, qui sera royalement ignorée par ton programme puisqu'il a sa version dans son coin. Il ne faut pas oublier que dans "bibliothèque partagée", il y a quand même... "partagée". Pour faire ça, autant tout compiler en statique, au moins là les choses sont claires.

    C'est pour cela que chez autopackage ils prévoient d'inscrire le programme dans la base de données dpkg/rpm/... pour permettre notament une désinstallation facile et peut être une mise à jour (mais comme dit dans une réponse, ce n'est pas à la distrib de mettre à jour mais au programme)
  • [^] # Re: Vivement que ça se démocratise... Mon Dieu NON !

    Posté par  (site web personnel) . En réponse au journal Autopackage. Évalué à 1.

    Autopackage ne télécharge la lib que si il ne trouve pas la lib sur le système. Ou alors si la lib existe mais que les deux libs sont incompatibles ...
  • [^] # Re: faut qu'on m'explique la

    Posté par  (site web personnel) . En réponse au journal Autopackage. Évalué à 2.

    L'avantage: c'est que le paquet est portable sur tous les PC. Par exemple, pour tester, jai télechargé inkscape-0.40.x86.package sur le siet autopackage.
    On peur remarquer que ce n'est qu'un script shell. Je l'execute et j'ai directement droit à une jolie interface GTK2 pour l'installer ou je veux.

    Je ne dirais pas que c'est un système de paquets mais un système qui permet de créer facilement un programme d'installation sous linux pour des applications tierces.
    Et c'est à mon avis nécessaire car la plupart des logiciels libres ne sont pas facilement installables sous linux lorsque ils ne sont pas packagés (jattend toujours Gimp 2.2 sur ubuntu alors qu'il est déja disponible pour MacOS-X et Windows).

    Ce qui m'embête le plus depuis que je suis passée à linux, c'est que je ne peux pas avoir les dernières versions des logiciels libres phares comme sur Windows. C'est dommage.
  • [^] # Re: juste pour etre taquin :

    Posté par  (site web personnel) . En réponse au journal Autopackage. Évalué à 1.

    essaie un petit "mkdir /usr/0install" en root.
  • # Très intéressant

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de Gambas 1.0. Évalué à 2.

    J'ai regardé et ca a l'air vraimment bien.
    Au passage, merci à ceux qui ont posté cette news ...

    Il y a même un assistant pour créer des paquets pour les différentes distributions (Mandrake, Debian, RedHet, SuSE).
    J'aurrais aussi aimé la possibilité de créer des paquets http://autopackage.org(...) ... je vais soumettre l'idée (et si j'ai du temps, j'essairait de la mettre en oeuvre) ...

    Personellement, je trouve que c'est un logiciel qui manquait sur Linux ... J'avais essayé de voir du coté de Kdevelop+QTdesigner mais c'était loin d'être aussi simple (avec les autotools surtout).
    J'aurais aussi sans doute aimé une IDE aussi facile d'accès pour des languages existants (C, C++, Python, ...). Au fait, cela existe-il ?
  • # umask

    Posté par  (site web personnel) . En réponse au message [fstab] permission et je comprends pas. Évalué à 3.

    Tu peux aussi tuiliser l'option umask pour gérer les droits de fichiers sur des fs qui ne le permettent pas. il y a aussi les options fmask et dmask pour les fichiers et les dossiers. par exemple pour permettre de lire le contenu des dossiers (+x) mais pas d'executer les fichiers (-x) Ce ne sont pas des persissions classiques. C'est à dire que umask=0022 corespond à des permissions 0755
      0777		  0777
    - 0022		- 0755
    ------		------
    = 0755		= 0022
    
  • # google ?

    Posté par  (site web personnel) . En réponse au message Wma --> Ogg. Évalué à 2.

    J'ai trouvé ca:

    http://raa.ruby-lang.org/project/wma2ogg/(...)
    http://toddyarling.com/tmp/wma2ogg.py(...)

    mais il faut mplayer compilé avec support wma (asf). Mais ca se trouve.
  • # ndiswrapper

    Posté par  (site web personnel) . En réponse au message linksys wmp54G. Évalué à 1.

    J'ai exactement la même carte wifi et elle fonctionne sur mon linux ubuntu. Je sais qua l'époqie je narrivais pas a faire fonctionner ndiswrapper sur la Mandrake alors que ca marchait sur la debian du serveur local. Mais depuis j'ai ubuntu ... Sinon, essaie d'expliciter un peu plus ton problème ... Ou en est tu ? Pour info, voici les étapes pour installer la carte:
    # ndiswrapper -i /opt/linksys-wmp54g/driver.inf
    # ndiswrapper -l
    Installed ndis drivers:
    bcmwl5  hardware present
    # modprobe ndiswrapper
    # iwconfig
    lo        no wireless extensions.
    
    eth0      no wireless extensions.
    
    wlan0     IEEE 802.11g  ESSID:"Apple Network 0aa6b9"
              Mode:Managed  Frequency:2.412GHz  Access Point: 00:11:24:0A:A6:B9
              Bit Rate:54Mb/s   Tx-Power:14 dBm
              RTS thr:2347 B   Fragment thr:2346 B
              Power Management:off
              Link Quality:100/100  Signal level:-55 dBm  Noise level:-256 dBm
              Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
              Tx excessive retries:3117  Invalid misc:122491   Missed beacon:0
    
    sit0      no wireless extensions.
    
    # ndiswrapper -m
    # iwconfig wlan0 essid "mon-reseau-wifi" mode managed
    # dhclient wlan0
    
    alors ?
  • # Trèa bien ...

    Posté par  (site web personnel) . En réponse à la dépêche Rétrospective LinuxFr 2004. Évalué à 6.

    ... et LinuxFR est quasiment ma page d'accueil (en fait ma page d'accueil est sur localhost) mais je vais très souvelt sur LinuxFR

    Mais (oui, toujours) je trouve dommage que les commentaires soient fermées après un certain temps.
    Par exemple, sur google je cherche un truc sur linux et je tombe sur un forum/journal/commentaire quelconque posant la question que je me pose. entre temps, je trouve la réponse mais je ne peux pas en faire profiter les autres qui rechercheront aussi sur google ...

    Bien sur, il peux y avoir des dérives (genre: des sites qui postent plein de commentaires avec des leins vers leur site pour les favoriser dans google). Mais on pourait immaginer une petite boîte dans un coin qui affiche les derniers commentaires postés ... (juste une idée)

    Sinon, autre chose, les boîtes de textre pour poster journal/forum/commentaire ne sont pas unifiées ... Par exemple, pour ce commentaire je peux choisir si je poste en HTML ou non. Pas pour les journaux ...
    De même pour le correcteur orthographique (mais la c'est peut être un problème de ressources systèmes, non ?)

    Mildred
  • [^] # Re: en même temps, l'expérience ne le confirme pas :

    Posté par  (site web personnel) . En réponse au journal Désolé.... Évalué à 1.

    Mais pourquoi un plugin mpd (Music Player Daemon) n'existe il pas ? C'est pas juste.
    Même FoxyTunes (une extension firefox) supporte mpd ...
  • # Une excellante nouvelle

    Posté par  (site web personnel) . En réponse au journal Autopackage.... Évalué à 1.

    Et en plus, ca a l'air bien.

    apt-get c'est bien mais les logiciels ne sont pas très à jour. Je veux dire que le jour de loa sortie d'une nouvelle relase, elle n'est pas disponible dans les repositories.
    Donc, je me suis fait un répertoire ~/.usr qui contient le dernier firefox, thunderbird et blender.

    J'espère que cela deviendra plus facile à l'avenir.

    J'espère aussi que les paquets ont la possibilité d'être autoexecutables, sinon, cela risque de freiner son adoption.
  • # Très bonne nouvelle

    Posté par  (site web personnel) . En réponse à la dépêche Gimp 2.2.0 (et 2.2.1). Évalué à 0.

    Mais maintenant, il faut attendre que les paquets sortent ...
  • # Toute nouvelle version

    Posté par  (site web personnel) . En réponse au journal [Script Python] Création automatique des fichiers headers en C. Évalué à 2.

    Ca y est. Il fonctionne parfaitement (j'ai pu compiler sans problème raydium avec). Maintenant:
    • Change les #include (lorsque ce n'est pas un fichier header inclus) pour le fichier header correspondant. Si le fichier header n'existe pas, il est créé
    • Les lignes non reconnues sont commentées et ne viennent pas polluer le fichier .h
    • Les lignes commencant par static sont supprimées (avant, juste le mot-clef static était supprimé)
    #! /usr/bin/env python
    # -*- coding: utf-8 -*-
    # 
    # version 0.6
    # 
    ############
    ##  TODO  ##
    ############
    # 
    # [X] Suivre les #include
    # [X] Déclarations des variables
    # 	[X] Suprimer la valeur après le "="
    # [X] Fonctions
    # 	[X] permettre la mise en forme des fonctions ne possédant pas de bloc {}
    # [ ] C++
    # 	[ ] Voir si ca fonctionne
    # [X] Bugs
    # 	[X] Lorsque du code contenant "}" est commenté. Solution: rajouter "-fc1" à indent
    # 	[X] Ca ne compile pas lorsque le mot "static" apparait au début des lignes
    # 	[X] Il fallait ajouter le mot clef "extern" pour les déclarations de variables
    # 	[X] Ajout de constantes pour un inclusion conditionelle lors des #include ""
    # 
    
    import os, os.path, sys, string, re, Queue;
    
    SHORT_CONST=1
    def get_const(filename):
    	if SHORT_CONST:		filename=os.path.basename(filename)
    	if filename[-2:]=='.c':	filename=filename+".h"
    	CONST="_"+re.sub('[^A-Z]', '_', string.upper(filename))
    	return CONST;
    
    def get_indent_file(filename):
    	return os.popen('indent -l0 -npsl -fc1 -bbb < '+filename+' 2>/dev/null')
    
    def make_line(line):
    	if line[:6]=="static":
    		line = line[7:]
    	line=string.replace(line, ';;', ';')
    	line=string.replace(line, 'extern extern', 'extern')
    	line=string.replace(line, '/**/', '')
    	return line+"\n";
    
    def create_header(input_name, output_name, filename, origin='shell', tab=0):
    	input=get_indent_file(input_name)
    	output=open(output_name, 'w')
    	print '%s<"%s" origin="%s">'%("    "*tab, filename, origin)
    	output.write("#ifndef "+get_const(filename)+"\n")
    	output.write("#define "+get_const(filename)+"\n")
    	delete=0
    	keep=0
    	while 1:
    		line=input.readline()
    		if len(line)==0: break; # EOF
    		line=line.rstrip()
    		if len(line)==0: continue
    		try:	spaces=re.match(r'^(?P\s*)\S+.*$', line).group('spaces')
    		except:	spaces=''
    		
    		if line[0]=="#":
    			match=re.match(r'^#\s*include\s*"(?P[^"]*)"', line)
    			if match:
    				file=match.group('file')
    				dir=os.path.dirname(filename)+"/"
    				if file[-2:]!='.h' and os.access(dir+file, os.F_OK):
    					line=line.replace(file, file+'.h')
    					tab+=1
    					create_header(dir+file, dir+file+'.h', dir+file+'.h', filename[:], tab)
    					tab-=1
    			output.write(line+"\n")
    			continue
    		if keep==2   and line[0]=="{":	keep=1
    		if delete==2 and line[0]=="{":	delete=1
    		if delete==1:
    			if line[0]!="}" : continue
    			delete=0
    		elif keep==1:
    			output.write(line+"\n")
    			if line[0]!="}" : continue
    			keep=0
    		else:
    			if   line[:6]=='static' : continue
    			elif line[:6]=='struct' :
    				line="extern "+line
    				if   line[-1]=='{': keep=1 ; delete=0
    				elif line[-1]!=';': keep=2 ; delete=0
    			elif line[:7]=='typedef':
    				if   line[-1]=='{': keep=1 ; delete=0
    				elif line[-1]!=';': keep=2 ; delete=0
    			else:
    				match = re.match(r'^(?P[A-Za-z_]+(\s+[(][^=;]*)?[^=(;]*)\s*(?P[\S])', line)
    				if match:
    					if match.group('char')=='(':
    						# function
    						if   line[-1]=='{': delete=1 ; keep=0
    						elif line[-1]!=';': delete=2 ; keep=0
    						line="extern "+line+";"
    					else: # maybe '=' or ';'
    						if   line[-1]=='{': delete=1 ; keep=0
    						elif line[-1]!=';': delete=2 ; keep=0
    						line="extern "+match.group('begin').rstrip()+";"
    # 				else:	line="/**UNRECOGNIZED** "+line+" **/"
    				else:	line="// "+line+" // Unrecognized"
    			output.write(line+"\n")
    			continue
    	print '%s</"%s">'%("    "*tab, filename)
    	output.write("#endif\n")
    	input.close()
    	output.close()
    
    
    
    if 1<len(sys.argv):
    	input_name=sys.argv[1]
    else:
    	print "Please select a file to create the header"
    	sys.exit(1);
    if 2<len(sys.argv):
    	output_name=sys.argv[2]
    else:	output_name=input_name+'.h'
    if 3<len(sys.argv):
    	CONST=sys.argv[3]
    else:	CONST=get_const(output_name)
    
    create_header(input_name, output_name, output_name)
    
  • [^] # Re: Bug

    Posté par  (site web personnel) . En réponse au journal [Script Python] Création automatique des fichiers headers en C. Évalué à 1.

    problème: ca ne compile pas lorsque les fonctions ont le mot clef "static" au début:
    #! /usr/bin/env python
    # -*- coding: utf-8 -*-
    # 
    # version 0.2
    # 
    ############
    ##  TODO  ##
    ############
    # 
    # [X] Suivre les #include
    # [ ] Déclarations des variables
    # 	[ ] Suprimer la valeur après le "="
    # [ ] Fonctions
    # 	[ ] permettre la mise en forme des fonctions ne possédant pas de bloc {}
    # [ ] C++
    # 	[ ] Voir si ca fonctionne
    # [X] Bugs
    # 	[X] Lorsque du code contenant "}" est commenté. Solution: rajouter "-fc1" à indent
    # 	[X] Ca ne compile pas lorsque le mot "static" apparait au début des lignes
    # 
    
    import os, os.path, sys, string, re;
    
    SHORT_CONST=1
    
    if 1<len(sys.argv):	input_name=sys.argv[1]
    else:
    			print "Please select a file to create the header"
    			sys.exit(1);
    
    if 2<len(sys.argv):	output_name=sys.argv[2]
    else:			output_name=string.replace(file+'.h', '.c.h', '.h');
    
    if 3<len(sys.argv):	CONST=sys.argv[3]
    elif SHORT_CONST:	CONST="_"+re.sub('[^A-Z]', '_', string.upper(os.path.basename(output_name)))
    else:			CONST="_"+re.sub('[^A-Z]', '_', string.upper(output_name))
    
    os.system('indent -l0 -npsl -fc1 < '+input_name+' 2>/dev/null > '+output_name);
    
    def add_file(filename, list=[]):
    	if not os.access(filename, os.F_OK):
    		list.append("/*	Can't find file '"+filename+"'	*/\n")
    		return list;
    	buffer = open(filename, 'r')
    	while 1:
    		line=buffer.readline();
    		if len(line) == 0: break; # EOF
    		match=re.match('#[\\s]*include[\\s]+"([^"]+)"', line)
    		if match:
    			list.append("/*	"+string.strip(line)+"	*/\n");
    			list = add_file(os.path.dirname(filename)+'/'+match.group(1), list)
    			list.append("/* END	"+string.strip(line)+"	*/\n");
    		else:	list.append(line);
    	buffer.close()
    	return list
    
    lines = add_file(output_name)
    
    
    def make_line(line):
    	if line[0:6]=="static":		line = line[7:]
    	return line+"\n";
    
    
    buffer = open(output_name, 'w')
    
    buffer.write("#ifndef "+CONST+"\n#define "+CONST+"\n\n");
    
    i=0
    len_lines=len(lines)
    while i < len_lines:
    	line=string.rstrip(lines[i]); i+=1
    	nudeline=string.rstrip(line.split('//')[0])
    	if len(nudeline) and nudeline[-1]==")" and i<len_lines and len(lines[i]) and lines[i][0]=="{":
    		buffer.write(make_line(line+";"))
    		# Entering function block code
    		i+=1
    		while i < len_lines:
    			line=string.rstrip(lines[i]); i+=1
    			if len(line) and line[0]=="}": break
    	elif len(line):
    		buffer.write(make_line(line))
    
    buffer.write("\n#endif\n");
    
    buffer.close();
    
  • [^] # Re: Bug

    Posté par  (site web personnel) . En réponse au journal [Script Python] Création automatique des fichiers headers en C. Évalué à 1.

    Il suffit de rajouter -fc1 à indent:
    #! /usr/bin/env python
    # -*- coding: utf-8 -*-
    # 
    # version 0.1
    # 
    ############
    ##  TODO  ##
    ############
    # 
    # [X] Suivre les #include
    # [ ] Déclarations des variables
    # 	[ ] Suprimer la valeur après le "="
    # [ ] Fonctions
    # 	[ ] permettre la mise en forme des fonctions ne possédant pas de bloc {}
    # [ ] C++
    # 	[ ] Voir si ca fonctionne
    # [X] Bugs
    # 	[X] Lorsque du code contenant "}" est commenté. Solution: rajouter "-fc1" à indent
    # 
    
    import os, os.path, sys, string, re;
    
    SHORT_CONST=1
    
    if 1<len(sys.argv):	input_name=sys.argv[1]
    else:
    			print "Please select a file to create the header"
    			sys.exit(1);
    
    if 2<len(sys.argv):	output_name=sys.argv[2]
    else:			output_name=string.replace(file+'.h', '.c.h', '.h');
    
    if 3<len(sys.argv):	CONST=sys.argv[3]
    elif SHORT_CONST:	CONST="_"+re.sub('[^A-Z]', '_', string.upper(os.path.basename(output_name)))
    else:			CONST="_"+re.sub('[^A-Z]', '_', string.upper(output_name))
    
    os.system('indent -l0 -npsl -fc1 < '+input_name+' 2>/dev/null > '+output_name);
    
    def add_file(filename, list=[]):
    	if not os.access(filename, os.F_OK):
    		list.append("/*	Can't find file '"+filename+"'	*/\n")
    		return list;
    	buffer = open(filename, 'r')
    	while 1:
    		line=buffer.readline();
    		if len(line) == 0: break; # EOF
    		match=re.match('#[\\s]*include[\\s]+"([^"]+)"', line)
    		if match:
    			list.append("/*	"+string.strip(line)+"	*/\n");
    			list = add_file(os.path.dirname(filename)+'/'+match.group(1), list)
    			list.append("/* END	"+string.strip(line)+"	*/\n");
    		else:	list.append(line);
    	buffer.close()
    	return list
    
    lines = add_file(output_name)
    
    
    buffer = open(output_name, 'w')
    
    buffer.write("#ifndef "+CONST+"\n#define "+CONST+"\n\n");
    
    i=0
    
    len_lines=len(lines)
    
    while i < len_lines:
    	line=string.rstrip(lines[i]); i+=1
    	nudeline=string.rstrip(line.split('//')[0])
    	if len(nudeline) and nudeline[-1]==")" and i<len_lines and len(lines[i]) and lines[i][0]=="{":
    		buffer.write(line+";\n")
    		# Entering function block code
    		i+=1
    		while i < len_lines:
    			line=string.rstrip(lines[i]); i+=1
    			if len(line) and line[0]=="}": break
    	elif len(line):
    		buffer.write(line+"\n")
    
    buffer.write("\n#endif\n");
    
    buffer.close();
    
  • # Bug

    Posté par  (site web personnel) . En réponse au journal [Script Python] Création automatique des fichiers headers en C. Évalué à 1.

    Oui, un bug:
    Lorsque une partie du code d'une fonction est commenté et que ce code contient une ligne qui contient le caractère "}" en première position, la fin de la fonction n'est plus trouvée au bon endroit.
  • [^] # Re: Scons

    Posté par  (site web personnel) . En réponse au journal [Script Python] Création automatique des fichiers headers en C. Évalué à 1.

    J'ai déja vu ce projet mais je crois qu'il agit dun remplacement des autotools, non ?
    J'ai juste envie de générer un fichier header.

    peut être que Scons le permet mais je n'ai plus trop envie de lire tout le site en anglais ...

    Sinon, merci
  • [^] # Re: C'est bien sympa mais...

    Posté par  (site web personnel) . En réponse au journal [Script Python] Création automatique des fichiers headers en C. Évalué à 0.

    Pourquoi pas dans un forum: car je poste la réponse. pas la question
  • # Utilisation

    Posté par  (site web personnel) . En réponse au journal [Script Python] Création automatique des fichiers headers en C. Évalué à 1.

    ./monscript.py monfichier.c [ monfichier.h [ _CONSTANTE_MONFICHIER_H ] ]
    la constante _CONSTANTE_MONFICHIER_H permet de faire un #ifndef et un #define au début pour éciter d'inclure le fichier deux fois. On peut choisir son nom.
  • [^] # Re: popen

    Posté par  (site web personnel) . En réponse au message Executer une comande externe et récupérer stdout. Évalué à 1.

    Merci.
  • [^] # Re: quick and dirty

    Posté par  (site web personnel) . En réponse au message Création automatique des fichiers headers. Évalué à 1.

    Merci ... Ca m'a été utile.

    J'ai un peu modifié pour enlever le for et ajouter un point virgule à la fin des lignes ...
    J'ai un petit problème de compilation mais c'est du à autre chose

    Sinon, mon Makefile devient de plus en plus moche, il y a tellement de signes à echapper.
    Voila le Makefile: http://wvs.cqfd-corp.org/genfile.php?dir=/raydium_prog/comp/linux-m(...)