Re: [Tech] Makefile
Le 7 septembre 2010 12:21, Vincent BRACH v.br...@smie.com a écrit : Après pour un petit projet ou un programme de test (quelques modules sources) ça commence à faire un peu usine à gaz et un Makefile suffit souvent amplement (mais c'est sur que c'est plus générique). CMake est ton ami pour ce genre de petits projets. C'est très rapide, et n'a pas le côté usine à gaz des Autotools. Denis Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***
Re: [Tech] Makefile
On 09/08/2010 10:07 AM, Denis Arnaud wrote: Le 7 septembre 2010 12:21, Vincent BRACH v.br...@smie.com mailto:v.br...@smie.com a écrit : Après pour un petit projet ou un programme de test (quelques modules sources) ça commence à faire un peu usine à gaz et un Makefile suffit souvent amplement (mais c'est sur que c'est plus générique). CMake est ton ami pour ce genre de petits projets. C'est très rapide, et n'a pas le côté usine à gaz des Autotools. Denis Tout à fait d'accord. J'ai d'ailleurs écrit un petit article sur le sujet hier: http://omappedia.org/wiki/Building_Software_With_CMake :-) Michael. -- Michael Opdenacker, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com + 33 621 604 642 Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***
RE: [Tech] Makefile
Date: Mon, 6 Sep 2010 23:54:35 +0200 From: vincent.ste...@laposte.net To: linux06@linuxfr.org Subject: Re: [Tech] Makefile Bélénos Le Gaulois wrote: (..) Quel est l'intérêt d'utiliser des variables ou plutôt des constantes dans ce cas précis) quand leur frappe est plus longue que la saisie de la commande elle même? $(AS) $(ASFLAGS) pour nasm -f bin C'est utile pour la surcharge depuis l'extérieur. Par exemple, depuis la ligne de commande : $ make ASFLAGS=xxx -- Vincent Stehlé Ok, ben j'ai vraiment des choses à apprendre... :-D Sylvio(06700) 06 68 85 44 03 Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***
Re: [Tech] Makefile
Salut Vincent et la liste, Il est recommandé de seulement fournir des valeurs par défaut à ces variables, pour permettre la surcharge depuis la ligne de commande. Si tu as des paramètres essentiels à conserver, tu peux utiliser une variable supplémentaire du genre EXTRA_CFLAGS. Par exemple : [.../...] Oui tout à fait, c'était un exemple simple et pour ne pas trop embrouiller les esprits :) (c.f. http://sourceware.org/automake/automake.html#User-Variables) J'étais en effet tombé sur ce site concernant les autotools qui est bien fait. C'est en effet le niveau du dessus par rapport à make. Ma vision est qu'en effet pour des projets qui commencent à être conséquents mais surtout dans un but de livraison/portabilité à un tiers ces outils sont vraiment très pratique (la preuve la plupart les utilisent ;)). Après pour un petit projet ou un programme de test (quelques modules sources) ça commence à faire un peu usine à gaz et un Makefile suffit souvent amplement (mais c'est sur que c'est plus générique). @+ Vincent Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***
Re: [Tech] Makefile
Vincent BRACH wrote: Tu peux très bien écrire un Makefile du style : CC=gcc CFLAGS= tes flags spécifiques pour la compilation du C CPPFLAGS = tes flags spécifiques pour la compilation du C++ Il est recommandé de seulement fournir des valeurs par défaut à ces variables, pour permettre la surcharge depuis la ligne de commande. Si tu as des paramètres essentiels à conserver, tu peux utiliser une variable supplémentaire du genre EXTRA_CFLAGS. Par exemple : # Flags par défaut, au cas où. CFLAGS := -g -O2 # Includes essentiels à garder dans tous les cas. EXTRA_CFLAGS := -Ixxx -Iyyy %.o: %.c $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c $ -o $@ (c.f. http://sourceware.org/automake/automake.html#User-Variables) -- Vincent Stehlé Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***
Re: [Tech] Makefile
Bélénos Le Gaulois wrote: (..) Quel est l'intérêt d'utiliser des variables ou plutôt des constantes dans ce cas précis) quand leur frappe est plus longue que la saisie de la commande elle même? $(AS) $(ASFLAGS) pour nasm -f bin C'est utile pour la surcharge depuis l'extérieur. Par exemple, depuis la ligne de commande : $ make ASFLAGS=xxx -- Vincent Stehlé Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***
Re: [Tech] Makefile
Salut Léo et bonjour à tous, justement je me demandais si Make accordait une réelle importance à l'indentation. J'ai configuré mon Vim pour insérer 4 espaces au lieu d'une tab (plus standard), mais peut être que j'ai mal fait... si quelqu'un a plus de précisions sur le sujet :) Tout à fait : l'outil make accorde la plus grande importance à l'écriture du Makefile au niveau de ce que tu appelles l'indentation : je dirais plus au niveau rubrique. - Si une ligne ne commence pas par une tabulation il s'agit de déclaration de variables (ou constantes) et/ou d'une cible dans le Makefile. - Si une ligne commence par une tabulation (attention j'ai bien dit une tabulation et pas plusieurs espaces) il s'agit d'une ligne d'exécution d'une commande (en générale dans une cible). Petit test entre geek :) : gvim (trés bon éditeur, n'en déplaise a certains puristes) sait d'ailleurs très bien faire la différence : faites le test : écrire un Makefile dans gvim avec une cible (.o:.c par exemple) et à la ligne suivante écrivez votre ligne de commande (par exemple un @cat /etc/issue) essayer en mettant en début de ligne des espaces puis essayer avec une seule tabulation : gvim effectue une coloration syntaxique différente ! le Makefile avec des espace en début d'une ligne de commande ne fonctionnera pas. En règle général une cible d'un Makefile s'écrit : cible: dépendances [TAB]Ligne de commande Un très bon tutoriel (en français en plus) que je conseil vivement : http://gl.developpez.com/tutoriel/outil/makefile/Makefile.pdf Attention également au variable dans un Makefile : en général $(variable). Si on écrit en shell par exemple un : for i in `find /tmp | grep txt` ; do echo $i ; done on écrira dans un Makefile cette commande de la manière suivante : for i in `find /tmp | grep txt` ; do echo $$i ; done Je suis amené régulièrement à écrire des Makefile parfois assez complexes et me fait souvent piégé avec ce genre d'écriture... Si vous le souhaitais je serais prêt à organiser un Atelier Makefile pour Linux-Azur (peut-être courant octobre) : avis aux amateurs ( ?? ) A+ et à vous lire, Vincent Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***
Re: [Tech] Makefile
Salut Vincent :-) et merci pour ces explications... en fait la ligne tabstop=4 était bien présente dans mon virmc mais il y avait une autre ligne qui le faisait insérer des espaces au lieu d'une tabulation... bref, c'est résolu... à part ce problème de variables. Quand tu dis qu'il faut écrire $$i celà faut pour les variables Bash seulement ou aussi pour celles définies dans mon Makefile ? Comme $(CC) ou $(CFLAGS) ? Bon, d'autre part, je viens de me rendre compte que ce que je faisais était pas très clean, utiliser comme nom CC et CFLAGS pour des variables qui désigne en fait un compilateur et des options pour C++... quelqu'un connait le nom correct à utiliser pour ce langage ? J'ai lu quelque part quelque chose du genre CXXFLAGS mais je ne suis pas tout à fait sûr :) Le 03/09/2010 15:07, Vincent BRACH a écrit : Salut Léo et bonjour à tous, justement je me demandais si Make accordait une réelle importance à l'indentation. J'ai configuré mon Vim pour insérer 4 espaces au lieu d'une tab (plus standard), mais peut être que j'ai mal fait... si quelqu'un a plus de précisions sur le sujet :) Tout à fait : l'outil make accorde la plus grande importance à l'écriture du Makefile au niveau de ce que tu appelles l'indentation : je dirais plus au niveau rubrique. - Si une ligne ne commence pas par une tabulation il s'agit de déclaration de variables (ou constantes) et/ou d'une cible dans le Makefile. - Si une ligne commence par une tabulation (attention j'ai bien dit une tabulation et pas plusieurs espaces) il s'agit d'une ligne d'exécution d'une commande (en générale dans une cible). Petit test entre geek :) : gvim (trés bon éditeur, n'en déplaise a certains puristes) sait d'ailleurs très bien faire la différence : faites le test : écrire un Makefile dans gvim avec une cible (.o:.c par exemple) et à la ligne suivante écrivez votre ligne de commande (par exemple un @cat /etc/issue) essayer en mettant en début de ligne des espaces puis essayer avec une seule tabulation : gvim effectue une coloration syntaxique différente ! le Makefile avec des espace en début d'une ligne de commande ne fonctionnera pas. En règle général une cible d'un Makefile s'écrit : cible: dépendances [TAB]Ligne de commande Un très bon tutoriel (en français en plus) que je conseil vivement : http://gl.developpez.com/tutoriel/outil/makefile/Makefile.pdf Attention également au variable dans un Makefile : en général $(variable). Si on écrit en shell par exemple un : for i in `find /tmp | grep txt` ; do echo $i ; done on écrira dans un Makefile cette commande de la manière suivante : for i in `find /tmp | grep txt` ; do echo $$i ; done Je suis amené régulièrement à écrire des Makefile parfois assez complexes et me fait souvent piégé avec ce genre d'écriture... Si vous le souhaitais je serais prêt à organiser un Atelier Makefile pour Linux-Azur (peut-être courant octobre) : avis aux amateurs ( ?? ) A+ et à vous lire, Vincent Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ *** Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***
RE: [Tech] Makefile
Date: Fri, 3 Sep 2010 15:07:29 +0200 From: v.br...@smie.com To: linux06@linuxfr.org Subject: Re: [Tech] Makefile Salut Léo et bonjour à tous, justement je me demandais si Make accordait une réelle importance à l'indentation. J'ai configuré mon Vim pour insérer 4 espaces au lieu d'une tab (plus standard), mais peut être que j'ai mal fait... si quelqu'un a plus de précisions sur le sujet :) Tout à fait : l'outil make accorde la plus grande importance à l'écriture du Makefile au niveau de ce que tu appelles l'indentation : je dirais plus au niveau rubrique. - Si une ligne ne commence pas par une tabulation il s'agit de déclaration de variables (ou constantes) et/ou d'une cible dans le Makefile. - Si une ligne commence par une tabulation (attention j'ai bien dit une tabulation et pas plusieurs espaces) il s'agit d'une ligne d'exécution d'une commande (en générale dans une cible). Petit test entre geek :) : gvim (trés bon éditeur, n'en déplaise a certains puristes) sait d'ailleurs très bien faire la différence : faites le test : écrire un Makefile dans gvim avec une cible (.o:.c par exemple) et à la ligne suivante écrivez votre ligne de commande (par exemple un @cat /etc/issue) essayer en mettant en début de ligne des espaces puis essayer avec une seule tabulation : gvim effectue une coloration syntaxique différente ! le Makefile avec des espace en début d'une ligne de commande ne fonctionnera pas. En règle général une cible d'un Makefile s'écrit : cible: dépendances [TAB]Ligne de commande Un très bon tutoriel (en français en plus) que je conseil vivement : http://gl.developpez.com/tutoriel/outil/makefile/Makefile.pdf Attention également au variable dans un Makefile : en général $(variable). Si on écrit en shell par exemple un : for i in `find /tmp | grep txt` ; do echo $i ; done on écrira dans un Makefile cette commande de la manière suivante : for i in `find /tmp | grep txt` ; do echo $$i ; done Je suis amené régulièrement à écrire des Makefile parfois assez complexes et me fait souvent piégé avec ce genre d'écriture... Si vous le souhaitais je serais prêt à organiser un Atelier Makefile pour Linux-Azur (peut-être courant octobre) : avis aux amateurs ( ?? ) A+ et à vous lire, Vincent Bonjour Vincent, Je serai le premier intéressé par cet atelier car il s'agit d'une des choses qui m'intéressent en ce moment. Alors merci pour ta proposition. Sylvio(06700) 06 68 85 44 03 Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***
Re: [Tech] Makefile
Re-salut Léo et la liste [.../...] Quand tu dis qu'il faut écrire $$i celà faut pour les variables Bash seulement ou aussi pour celles définies dans mon Makefile ? Comme $(CC) ou $(CFLAGS) ? Uniquement pour ce que tu appelles une variable bash : si en bash tu fait le coup du find de mon précédent mail, avec dans une boucle une variable $i et bien en Makefile cette variable $i sera accessible à travers $$i Par contre si tu définis (en début de ton Makefile par exemple) un CC=/usr/bin/gcc et bien ensuite dans ta ligne d'exécution d'une cible tu utiliseras $(CC) Essais ce petit Makefile : all: echo CPP=$(CPP) echo CC=$(CC) echo LD=$(LD) (attention à ne pas copier/coller brutalement : bien mettre des tabulation en début de ligne :-) ) Bon, d'autre part, je viens de me rendre compte que ce que je faisais était pas très clean, utiliser comme nom CC et CFLAGS pour des variables qui désigne en fait un compilateur et des options pour C++... quelqu'un connait le nom correct à utiliser pour ce langage ? J'ai lu quelque part quelque chose du genre CXXFLAGS mais je ne suis pas tout à fait sûr :) Je n'ai jamais fais de Mafefile pour une compilation en C++ mais je crois que gcc (frontend de base de la chaine de compilation) se base sur l'extension du fichier .c ou .cpp : http://gcc.gnu.org/onlinedocs/gcc/Invoking-G_002b_002b.html#Invoking-G_002b_002b Je ne connais pas trop CXXFLAGS, mais ça a l'air d'être l'équivalent du CFLAG. Plus d'infos ici : http://linuxreviews.org/howtos/compiling/#toc1 Donc je pense que ton compilateur reste CC=gcc, tes flags de compilation CFLAGS, et tes flags de linkage LDFLAGS (noms classiques) @+ Vincent Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***
Re: [Tech] Makefile
Salut Sylvio et la liste, Bonjour Vincent, Je serai le premier intéressé par cet atelier car il s'agit d'une des choses qui m'intéressent en ce moment. Ok pas de soucis, si il y a d'autres personnes intéressées pas de soucis. Léo cela t'intéresserais également ? (ça fera déjà +2 ;) ) J'avais déjà fait un atelier Initiation au langage C qui comportait un chapitre sur le Makefile, mais pourquoi pas faire un atelier uniquement consacré à l'outil make (il y a tellement à dire et à voir). Alors merci pour ta proposition. De rien :-) @+ Vincent Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***
Re: [Tech] Makefile
Re salut Vincent tu oublies un souci, dans les FLAGS, j'en utilises certains qui sont quand même propre au C++... ça ne serait pas un souci si l'intégralité du code était en C++, mais il risque bientôt de voir apparaitre des fichiers uniquement en bon vieux C... qui auront besoin de leur variable FLAGS aussi... enfin bon, je commence à me débrouiller, grâce à vos réponses à tous j'ai enfin un Makefile qui marche, sur Ubuntu. Mais si un atelier Makefile se profile, j'en serais sûrement :) Merci à tous On 03/09/2010 16:18, Vincent BRACH wrote: Re-salut Léo et la liste [.../...] Quand tu dis qu'il faut écrire $$i celà faut pour les variables Bash seulement ou aussi pour celles définies dans mon Makefile ? Comme $(CC) ou $(CFLAGS) ? Uniquement pour ce que tu appelles une variable bash : si en bash tu fait le coup du find de mon précédent mail, avec dans une boucle une variable $i et bien en Makefile cette variable $i sera accessible à travers $$i Par contre si tu définis (en début de ton Makefile par exemple) un CC=/usr/bin/gcc et bien ensuite dans ta ligne d'exécution d'une cible tu utiliseras $(CC) Essais ce petit Makefile : all: echo CPP=$(CPP) echo CC=$(CC) echo LD=$(LD) (attention à ne pas copier/coller brutalement : bien mettre des tabulation en début de ligne :-) ) Bon, d'autre part, je viens de me rendre compte que ce que je faisais était pas très clean, utiliser comme nom CC et CFLAGS pour des variables qui désigne en fait un compilateur et des options pour C++... quelqu'un connait le nom correct à utiliser pour ce langage ? J'ai lu quelque part quelque chose du genre CXXFLAGS mais je ne suis pas tout à fait sûr :) Je n'ai jamais fais de Mafefile pour une compilation en C++ mais je crois que gcc (frontend de base de la chaine de compilation) se base sur l'extension du fichier .c ou .cpp : http://gcc.gnu.org/onlinedocs/gcc/Invoking-G_002b_002b.html#Invoking-G_002b_002b Je ne connais pas trop CXXFLAGS, mais ça a l'air d'être l'équivalent du CFLAG. Plus d'infos ici : http://linuxreviews.org/howtos/compiling/#toc1 Donc je pense que ton compilateur reste CC=gcc, tes flags de compilation CFLAGS, et tes flags de linkage LDFLAGS (noms classiques) @+ Vincent Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ *** Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***
Re: [Tech] Makefile
Re :) Re salut Vincent tu oublies un souci, dans les FLAGS, j'en utilises certains qui sont quand même propre au C++... ça ne serait pas un souci si l'intégralité du code était en C++, mais il risque bientôt de voir apparaitre des fichiers uniquement en bon vieux C... qui auront besoin de leur variable FLAGS aussi... Oui mais ce que j'écrivais précédemment ne remet absolument pas en cause le faite d'avoir du C et du C++ (au contraire) Tu peux très bien écrire un Makefile du style : CC=gcc CFLAGS= tes flags spécifiques pour la compilation du C CPPFLAGS = tes flags spécifiques pour la compilation du C++ .o: .c $(CC) $(CFLAGS) -c $^ -o $@ .o:.cpp $(CC) $(CPPFLAGS) -c $^ -o $@ et ça règle le problème facilement. enfin bon, je commence à me débrouiller, grâce à vos réponses à tous j'ai enfin un Makefile qui marche, sur Ubuntu. Ok super :-) Mais si un atelier Makefile se profile, j'en serais sûrement :) Ok je note : +2 donc... @+ Vincent Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***
Re: [Tech] Makefile
Hello, Le 2 septembre 2010 22:40, Léo Testard leo.test...@gmail.com a écrit : Je me demandais s'il y avait parmi vous des connaisseurs de... Makefile puisque le fil de discussion commence à grandir, je ne peux que recommander de regarder des outils de plus haut niveau, par exemple, pour rester à base de Makefile, les Autotools (autoconf, automake, make et libtool) et CMake. Sinon, il y a aussi SCons, mais il faut aimer le Python. Par contre, je ne sais pas comment utiliser nasm depuis les Autotools (Makefile.am), mais j'imagine que cela doit se trouver facilement par un coup de Google. Idem pour CMake. Cordialement Denis Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***
Re: [Tech] Makefile
Le 02/09/2010 22:40, Léo Testard a écrit : Hello la liste :-) Je me demandais s'il y avait parmi vous des connaisseurs de... Makefile je suis en train d'en écrire un pour ce sur quoi je suis en train de coder actuellement... et j'obtiens une erreur d'autant plus étrange qu'elle ne se manifeste pas toujours de la même façon. Voici déjà le code : http://omploader.org/vNWY1Ng/Makefile L'erreur en question se produit à la ligne 11 (et 14). Sur mon FreeBSD, ça donne : Makefile, line 11: Need an operator Makefile, line 14: Need an operator Sur le PC d'un collège, sur Ubuntu, il obtient une erreur différente : Makefile:12: *** Séparateur manquant. Arrêt. à noter que quand je copie et modifie à peine un Makefile écrit par quelqu'un d'autre, ça semble fonctionner, mais dès que j'ajoute des lignes ou des sections, cette erreur revient. J'aurais vraiment bidouillé le fichier n'importe comment pour essayer de résoudre ce problème, mais sans succès. Merci d'avance et à bientôt :) en regardant très rapidement, je ne suis pas certain que toutes les tabulations soient présentes par exemple devant @mv et @cat mais il est tard et ça fait bien 10 ans que je n'ai plus manipulé ce superbe outil bonne nuit -- Jean-Max Reymond CKR Solutions Open Source http://www.ckr-solutions.com Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***
Re: [Tech] Makefile
Hello Jean-Max justement je me demandais si Make accordait une réelle importance à l'indentation. J'ai configuré mon Vim pour insérer 4 espaces au lieu d'une tab (plus standard), mais peut être que j'ai mal fait... si quelqu'un a plus de précisions sur le sujet :) j'en profite pour rectifier mon message précédent : l'erreur qu'obtient mon collègue est bien également à ligne 11 comme moi, et non 12 Bonne nuit à tous Le 2 septembre 2010 23:18, Jean-Max Reymond jmreym...@free.fr a écrit : Le 02/09/2010 22:40, Léo Testard a écrit : Hello la liste :-) Je me demandais s'il y avait parmi vous des connaisseurs de... Makefile je suis en train d'en écrire un pour ce sur quoi je suis en train de coder actuellement... et j'obtiens une erreur d'autant plus étrange qu'elle ne se manifeste pas toujours de la même façon. Voici déjà le code : http://omploader.org/vNWY1Ng/Makefile L'erreur en question se produit à la ligne 11 (et 14). Sur mon FreeBSD, ça donne : Makefile, line 11: Need an operator Makefile, line 14: Need an operator Sur le PC d'un collège, sur Ubuntu, il obtient une erreur différente : Makefile:12: *** Séparateur manquant. Arrêt. à noter que quand je copie et modifie à peine un Makefile écrit par quelqu'un d'autre, ça semble fonctionner, mais dès que j'ajoute des lignes ou des sections, cette erreur revient. J'aurais vraiment bidouillé le fichier n'importe comment pour essayer de résoudre ce problème, mais sans succès. Merci d'avance et à bientôt :) en regardant très rapidement, je ne suis pas certain que toutes les tabulations soient présentes par exemple devant @mv et @cat mais il est tard et ça fait bien 10 ans que je n'ai plus manipulé ce superbe outil bonne nuit -- Jean-Max Reymond CKR Solutions Open Source http://www.ckr-solutions.com Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ *** Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***
Re: [Tech] Makefile
Salut Il faut que dans ton makefile, les lignes 11 et 14 soyent vides de tout caractère (pas de tabulation) -- Linuxement Philippe Vienne Le 2 sept. 2010 22:48, Léo Testard leo.test...@gmail.com a écrit : Hello la liste :-) Je me demandais s'il y avait parmi vous des connaisseurs de... Makefile je suis en train d'en écrire un pour ce sur quoi je suis en train de coder actuellement... et j'obtiens une erreur d'autant plus étrange qu'elle ne se manifeste pas toujours de la même façon. Voici déjà le code : http://omploader.org/vNWY1Ng/Makefile L'erreur en question se produit à la ligne 11 (et 14). Sur mon FreeBSD, ça donne : Makefile, line 11: Need an operator Makefile, line 14: Need an operator Sur le PC d'un collège, sur Ubuntu, il obtient une erreur différente : Makefile:12: *** Séparateur manquant. Arrêt. à noter que quand je copie et modifie à peine un Makefile écrit par quelqu'un d'autre, ça semble fonctionner, mais dès que j'ajoute des lignes ou des sections, cette erreur revient. J'aurais vraiment bidouillé le fichier n'importe comment pour essayer de résoudre ce problème, mais sans succès. Merci d'avance et à bientôt :) Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***
Re: [Tech] Makefile
Le 02/09/2010 22:40, Léo Testard a écrit : Hello la liste :-) Je me demandais s'il y avait parmi vous des connaisseurs de... Makefile je suis en train d'en écrire un pour ce sur quoi je suis en train de coder actuellement... et j'obtiens une erreur d'autant plus étrange qu'elle ne se manifeste pas toujours de la même façon. Voici déjà le code : http://omploader.org/vNWY1Ng/Makefile L'erreur en question se produit à la ligne 11 (et 14). Sur mon FreeBSD, ça donne : Makefile, line 11: Need an operator Makefile, line 14: Need an operator Sur le PC d'un collège, sur Ubuntu, il obtient une erreur différente : Makefile:12: *** Séparateur manquant. Arrêt. à noter que quand je copie et modifie à peine un Makefile écrit par quelqu'un d'autre, ça semble fonctionner, mais dès que j'ajoute des lignes ou des sections, cette erreur revient. J'aurais vraiment bidouillé le fichier n'importe comment pour essayer de résoudre ce problème, mais sans succès. Merci d'avance et à bientôt :) Hello, Met des tabulations au lieu des espaces devant la ligne 11 et 14. (comme pour les lignes suivantes). Benoit Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***
Re: [Tech] Makefile
Salut Philippe ... Vides de tout caractère ? o.O Excuse moi mais j'ai du mal comprendre un truc, tu voudrais dire laisser une ligne blanche ? Je crois pas que ça soit utile dans le cas présent... Le 2 septembre 2010 23:02, Philippe Vienne philoumail...@gmail.com a écrit : Salut Il faut que dans ton makefile, les lignes 11 et 14 soyent vides de tout caractère (pas de tabulation) -- Linuxement Philippe Vienne Le 2 sept. 2010 22:48, Léo Testard leo.test...@gmail.com a écrit : Hello la liste :-) Je me demandais s'il y avait parmi vous des connaisseurs de... Makefile je suis en train d'en écrire un pour ce sur quoi je suis en train de coder actuellement... et j'obtiens une erreur d'autant plus étrange qu'elle ne se manifeste pas toujours de la même façon. Voici déjà le code : http://omploader.org/vNWY1Ng/Makefile L'erreur en question se produit à la ligne 11 (et 14). Sur mon FreeBSD, ça donne : Makefile, line 11: Need an operator Makefile, line 14: Need an operator Sur le PC d'un collège, sur Ubuntu, il obtient une erreur différente : Makefile:12: *** Séparateur manquant. Arrêt. à noter que quand je copie et modifie à peine un Makefile écrit par quelqu'un d'autre, ça semble fonctionner, mais dès que j'ajoute des lignes ou des sections, cette erreur revient. J'aurais vraiment bidouillé le fichier n'importe comment pour essayer de résoudre ce problème, mais sans succès. Merci d'avance et à bientôt :) Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***
Re: [Tech] Makefile
Merci bien, c'était là le problème, maintenant, il me reste à reconfigurer Vim et choisir entre le laisser insérer sa tab de base (qui fait la taille de 8 espaces j'aime pas trop ça) ou alors 4 espaces... maintenant, il semble se produire des erreurs plus ou moins aléatoires avec les variables que je définis au début, on dirait qu'il n'arrive pas à les insérer dans les commandes, sur la sortie, des fois, ça laisse un vide, comme par exemple nasm -f bin -o boot le boot.s ayant disparu au passage... pareil avec la cible de la commande de linkage... et chez mon collègue, ce sont les CFLAGS qui n'apparaissent pas ce souci commence à m'agacer, il n'y a rien qui m'énerve plus que quand je perd du temps de codage à essayer de configurer mon environnement de travail et que ça ne fonctionne pas, mais bon, je n'ai pas trop l'habitude d'écrire mes propres Makefile, peut être que je m'y prends mal avec les déclarations. Merci en tous cas, à bientôt Le 2 septembre 2010 23:33, Benoit LAURENT ad...@benlau.fr a écrit : Le 02/09/2010 22:40, Léo Testard a écrit : Hello la liste :-) Je me demandais s'il y avait parmi vous des connaisseurs de... Makefile je suis en train d'en écrire un pour ce sur quoi je suis en train de coder actuellement... et j'obtiens une erreur d'autant plus étrange qu'elle ne se manifeste pas toujours de la même façon. Voici déjà le code : http://omploader.org/vNWY1Ng/Makefile L'erreur en question se produit à la ligne 11 (et 14). Sur mon FreeBSD, ça donne : Makefile, line 11: Need an operator Makefile, line 14: Need an operator Sur le PC d'un collège, sur Ubuntu, il obtient une erreur différente : Makefile:12: *** Séparateur manquant. Arrêt. à noter que quand je copie et modifie à peine un Makefile écrit par quelqu'un d'autre, ça semble fonctionner, mais dès que j'ajoute des lignes ou des sections, cette erreur revient. J'aurais vraiment bidouillé le fichier n'importe comment pour essayer de résoudre ce problème, mais sans succès. Merci d'avance et à bientôt :) Hello, Met des tabulations au lieu des espaces devant la ligne 11 et 14. (comme pour les lignes suivantes). Benoit Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***
RE: [Tech] Makefile
Bonjour à tous, Je suis votre conversation qui est très instructive, mais je me pose une question qui va surement vous paraitre très bête: Quel est l'intérêt d'utiliser des variables ou plutôt des constantes dans ce cas précis) quand leur frappe est plus longue que la saisie de la commande elle même? $(AS) $(ASFLAGS) pour nasm -f bin Sylvio (06700) 06 68 85 44 03 Date: Thu, 2 Sep 2010 23:55:19 +0200 Subject: Re: [Tech] Makefile From: leo.test...@gmail.com To: linux06@linuxfr.org Merci bien, c'était là le problème, maintenant, il me reste à reconfigurer Vim et choisir entre le laisser insérer sa tab de base (qui fait la taille de 8 espaces j'aime pas trop ça) ou alors 4 espaces... maintenant, il semble se produire des erreurs plus ou moins aléatoires avec les variables que je définis au début, on dirait qu'il n'arrive pas à les insérer dans les commandes, sur la sortie, des fois, ça laisse un vide, comme par exemple nasm -f bin -o bootle boot.s ayant disparu au passage... pareil avec la cible de la commande de linkage... et chez mon collègue, ce sont les CFLAGS qui n'apparaissent pasce souci commence à m'agacer, il n'y a rien qui m'énerve plus que quand je perd du temps de codage à essayer de configurer mon environnement de travail et que ça ne fonctionne pas, mais bon, je n'ai pas trop l'habitude d'écrire mes propres Makefile, peut être que je m'y prends mal avec les déclarations. Merci en tous cas, à bientôt Le 2 septembre 2010 23:33, Benoit LAURENT ad...@benlau.fr a écrit : Le 02/09/2010 22:40, Léo Testard a écrit : Hello la liste :-) Je me demandais s'il y avait parmi vous des connaisseurs de... Makefile je suis en train d'en écrire un pour ce sur quoi je suis en train de coder actuellement... et j'obtiens une erreur d'autant plus étrange qu'elle ne se manifeste pas toujours de la même façon. Voici déjà le code : http://omploader.org/vNWY1Ng/Makefile L'erreur en question se produit à la ligne 11 (et 14). Sur mon FreeBSD, ça donne : Makefile, line 11: Need an operator Makefile, line 14: Need an operator Sur le PC d'un collège, sur Ubuntu, il obtient une erreur différente : Makefile:12: *** Séparateur manquant. Arrêt. à noter que quand je copie et modifie à peine un Makefile écrit par quelqu'un d'autre, ça semble fonctionner, mais dès que j'ajoute des lignes ou des sections, cette erreur revient. J'aurais vraiment bidouillé le fichier n'importe comment pour essayer de résoudre ce problème, mais sans succès. Merci d'avance et à bientôt :) Hello, Met des tabulations au lieu des espaces devant la ligne 11 et 14. (comme pour les lignes suivantes). Benoit Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***
Re: [Tech] Makefile
Salut Bélénos :) Effectivement dans la mesure où c'est moins long, on peut se demander quel est l'intérêt. Mais imagine qu'un jour je doive rajouter des options à NASM. Je n'ai qu'à modifier une seule fois la variable ASFLAGS plutôt que chercher dans le Makefile toutes ses occurences. Bon, dans ce cas là, c'est superflu, mais bon, j'essaie de faire ça clean. Et puis quand tu vois la taille des options pour G++ par exemple, c'est déjà plus justifié. En outre, il me semble que d'une part on peut utiliser des variables définies dans un autre Makefile (je ne sais pas comment... à confirmer par quelqu'un ayant plus l'habitude), par ailleurs, certains variables ont un nom stanard, si on ne les définit pas dans le Makefile, je crois qu'elles sont déjà définies par Make, comme $(AS) ou $(CC). D'ailleurs, si j'enlève la déclaration d'$(AS), mon FreeBSD tente d'utiliser /usr/bin/as au lieu de nasm... donc la variable $(AS) est déjà définie et pointe dessus. Enfin, je peux me tromper masi c'est ce que j'ai cru comprendre. Que quelqu'un me rectifie le cas échéant. Bonne soirée :) Le 3 septembre 2010 00:08, Bélénos Le Gaulois beleno...@hotmail.fr a écrit : Bonjour à tous, Je suis votre conversation qui est très instructive, mais je me pose une question qui va surement vous paraitre très bête: Quel est l'intérêt d'utiliser des variables ou plutôt des constantes dans ce cas précis) quand leur frappe est plus longue que la saisie de la commande elle même? $(AS) $(ASFLAGS) pour nasm -f bin Sylvio (06700) 06 68 85 44 03 -- Date: Thu, 2 Sep 2010 23:55:19 +0200 Subject: Re: [Tech] Makefile From: leo.test...@gmail.com To: linux06@linuxfr.org Merci bien, c'était là le problème, maintenant, il me reste à reconfigurer Vim et choisir entre le laisser insérer sa tab de base (qui fait la taille de 8 espaces j'aime pas trop ça) ou alors 4 espaces... maintenant, il semble se produire des erreurs plus ou moins aléatoires avec les variables que je définis au début, on dirait qu'il n'arrive pas à les insérer dans les commandes, sur la sortie, des fois, ça laisse un vide, comme par exemple nasm -f bin -o boot le boot.s ayant disparu au passage... pareil avec la cible de la commande de linkage... et chez mon collègue, ce sont les CFLAGS qui n'apparaissent pas ce souci commence à m'agacer, il n'y a rien qui m'énerve plus que quand je perd du temps de codage à essayer de configurer mon environnement de travail et que ça ne fonctionne pas, mais bon, je n'ai pas trop l'habitude d'écrire mes propres Makefile, peut être que je m'y prends mal avec les déclarations. Merci en tous cas, à bientôt Le 2 septembre 2010 23:33, Benoit LAURENT ad...@benlau.fr a écrit : Le 02/09/2010 22:40, Léo Testard a écrit : Hello la liste :-) Je me demandais s'il y avait parmi vous des connaisseurs de... Makefile je suis en train d'en écrire un pour ce sur quoi je suis en train de coder actuellement... et j'obtiens une erreur d'autant plus étrange qu'elle ne se manifeste pas toujours de la même façon. Voici déjà le code : http://omploader.org/vNWY1Ng/Makefile L'erreur en question se produit à la ligne 11 (et 14). Sur mon FreeBSD, ça donne : Makefile, line 11: Need an operator Makefile, line 14: Need an operator Sur le PC d'un collège, sur Ubuntu, il obtient une erreur différente : Makefile:12: *** Séparateur manquant. Arrêt. à noter que quand je copie et modifie à peine un Makefile écrit par quelqu'un d'autre, ça semble fonctionner, mais dès que j'ajoute des lignes ou des sections, cette erreur revient. J'aurais vraiment bidouillé le fichier n'importe comment pour essayer de résoudre ce problème, mais sans succès. Merci d'avance et à bientôt :) Hello, Met des tabulations au lieu des espaces devant la ligne 11 et 14. (comme pour les lignes suivantes). Benoit Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***
RE: [Tech] Makefile
Je comprends mieux, merci de m'avoir éclairé sur le sujet. Bonne soirée. Sylvio (06700) 06 68 85 44 03 Date: Fri, 3 Sep 2010 00:18:53 +0200 Subject: Re: [Tech] Makefile From: leo.test...@gmail.com To: linux06@linuxfr.org Salut Bélénos :)Effectivement dans la mesure où c'est moins long, on peut se demander quel est l'intérêt. Mais imagine qu'un jour je doive rajouter des options à NASM. Je n'ai qu'à modifier une seule fois la variable ASFLAGS plutôt que chercher dans le Makefile toutes ses occurences. Bon, dans ce cas là, c'est superflu, mais bon, j'essaie de faire ça clean. Et puis quand tu vois la taille des options pour G++ par exemple, c'est déjà plus justifié. En outre, il me semble que d'une part on peut utiliser des variables définies dans un autre Makefile (je ne sais pas comment... à confirmer par quelqu'un ayant plus l'habitude), par ailleurs, certains variables ont un nom stanard, si on ne les définit pas dans le Makefile, je crois qu'elles sont déjà définies par Make, comme $(AS) ou $(CC). D'ailleurs, si j'enlève la déclaration d'$(AS), mon FreeBSD tente d'utiliser /usr/bin/as au lieu de nasm... donc la variable $(AS) est déjà définie et pointe dessus. Enfin, je peux me tromper masi c'est ce que j'ai cru comprendre. Que quelqu'un me rectifie le cas échéant. Bonne soirée :) Le 3 septembre 2010 00:08, Bélénos Le Gaulois beleno...@hotmail.fr a écrit : Bonjour à tous, Je suis votre conversation qui est très instructive, mais je me pose une question qui va surement vous paraitre très bête: Quel est l'intérêt d'utiliser des variables ou plutôt des constantes dans ce cas précis) quand leur frappe est plus longue que la saisie de la commande elle même? $(AS) $(ASFLAGS) pour nasm -f bin Sylvio (06700) 06 68 85 44 03 Date: Thu, 2 Sep 2010 23:55:19 +0200 Subject: Re: [Tech] Makefile From: leo.test...@gmail.com To: linux06@linuxfr.org Merci bien, c'était là le problème, maintenant, il me reste à reconfigurer Vim et choisir entre le laisser insérer sa tab de base (qui fait la taille de 8 espaces j'aime pas trop ça) ou alors 4 espaces... maintenant, il semble se produire des erreurs plus ou moins aléatoires avec les variables que je définis au début, on dirait qu'il n'arrive pas à les insérer dans les commandes, sur la sortie, des fois, ça laisse un vide, comme par exemple nasm -f bin -o bootle boot.s ayant disparu au passage... pareil avec la cible de la commande de linkage... et chez mon collègue, ce sont les CFLAGS qui n'apparaissent pasce souci commence à m'agacer, il n'y a rien qui m'énerve plus que quand je perd du temps de codage à essayer de configurer mon environnement de travail et que ça ne fonctionne pas, mais bon, je n'ai pas trop l'habitude d'écrire mes propres Makefile, peut être que je m'y prends mal avec les déclarations. Merci en tous cas, à bientôt Le 2 septembre 2010 23:33, Benoit LAURENT ad...@benlau.fr a écrit : Le 02/09/2010 22:40, Léo Testard a écrit : Hello la liste :-) Je me demandais s'il y avait parmi vous des connaisseurs de... Makefile je suis en train d'en écrire un pour ce sur quoi je suis en train de coder actuellement... et j'obtiens une erreur d'autant plus étrange qu'elle ne se manifeste pas toujours de la même façon. Voici déjà le code : http://omploader.org/vNWY1Ng/Makefile L'erreur en question se produit à la ligne 11 (et 14). Sur mon FreeBSD, ça donne : Makefile, line 11: Need an operator Makefile, line 14: Need an operator Sur le PC d'un collège, sur Ubuntu, il obtient une erreur différente : Makefile:12: *** Séparateur manquant. Arrêt. à noter que quand je copie et modifie à peine un Makefile écrit par quelqu'un d'autre, ça semble fonctionner, mais dès que j'ajoute des lignes ou des sections, cette erreur revient. J'aurais vraiment bidouillé le fichier n'importe comment pour essayer de résoudre ce problème, mais sans succès. Merci d'avance et à bientôt :) Hello, Met des tabulations au lieu des espaces devant la ligne 11 et 14. (comme pour les lignes suivantes). Benoit Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***
Re: [Tech] Makefile
Le 02/09/2010 23:55, Léo Testard a écrit : Merci bien, c'était là le problème, maintenant, il me reste à reconfigurer Vim et choisir entre le laisser insérer sa tab de base (qui fait la taille de 8 espaces j'aime pas trop ça) ou alors 4 espaces... set tabstop=4 te donnera des tabs visuellement à 4 espaces mais te conservera tes tabulations indispensables -- Jean-Max Reymond CKR Solutions Open Source http://www.ckr-solutions.com Diffusez cette liste aupres de vos relations :-) Linux Azur : http://www.linux-azur.org Vous etes responsable de vos propos. *** Merci de rediger sans SMS, ni HTML ni PJ ***