|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
![]() ![]() Inscription : juin 2002 Messages : 2 034 ![]() |
Voici une petite intoduction à l'écriture de Makefile : Introduction à Makefile.
Vos remarques, commentaires, suggestions sont les bienvenues. |
|
|
00
|
|
|
#2 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2004 Messages : 57 ![]() |
J'ai survolé les codes ca m'a l'air tres bien, je vais le montrer aux stagiaires et aux nouveaux de la boite ou je taff car ils passent tous par cette apprentissage ca leurs fera guagner du temps
Une belle suite logique ? Autotools, ant ... Bravo encore . |
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : mars 2005 Messages : 20 ![]() |
J'ai parcouru le tutoriel, il est tard il faut dire
J'ai l'ai trouvé clair, précis et progressif. Excellent pour se lancer ou se relancer dans le makefile. Il n'y a pas une version téléchargeable de ce tuto ? |
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Inscription : avril 2004 Messages : 289 ![]() |
Concernant le paragraphe "sous-Makefiles", les makefile recursifs, c'est mal(c), et pour de nombreuses raisons ! http://www.pcug.org.au/~millerp/rmch...cons-harm.html
Je suis tombe dessus il y a peu, ayant lu un article a ce sujet dans Linux Format (magazine brittish ou ricain, enfin il est vendu en angleterre) et, considerant que tous les arguments donnes semblent evident une fois enonces, c'est a se demander comment on peut encore aujourd'hui utiliser des makefile recursifs... Inertie ? Perso, je n'ai qu'une tres petite experience des makefile (et meme des autotools), donc je ne connais pas la "methode miracle", mais je peux renvoyer ici les codes qui etaient donnes dans le mag, si ca interesse quelqu'un... |
|
|
00
|
|
|
#5 |
|
Membre chevronné
![]() Inscription : septembre 2005 Messages : 926 ![]() |
bon, je suis un dev. debutant, ayant essentiellement tourné sous php...
je veut bien croire que toutes ces syntaxes sont obligatoire, mais mon dieux, ca me degoute! ce c/c++ est tellemnt complet(exe?) merci pour ce tuto, indispensable (je pense, meme si je n'y connait rien). en tout cas, en l'ayant survolé, il est : progressif clair bien fait quoi! donc, voila un avis de debutant te felicitant (apres, si c faux, c po moi qui vait te le dire...) |
|
|
00
|
|
|
#6 | ||
|
Futur Membre du Club
![]() Inscription : juillet 2003 Messages : 71 ![]() |
Bonjour,
J'ai suivi votre tutoriel prévu pour GCC jusqu'au point 9 (variable DEBUG) Cette variable disparait au point 10 (mais c'est un détail et l'extrapolation doit être facile) Personnellement, j'utilise GCC avec CodeBlock et j'ai appellé le fichier makefile Citation:
Citation:
Code :
C:\CodeBlock\MinGW\bin\mingw32-make.exe C:\tutoMakefile\makefileGcc Pourriez vous expliciter ? Cordialement |
||
|
|
00
|
|
|
#7 | |
![]() ![]() Inscription : juin 2002 Messages : 2 034 ![]() |
Citation:
Si tu souhaites utiliser un fichier makefile nommé différemment, il faut utiliser l'option -f : Code :
C:\CodeBlock\MinGW\bin\mingw32-make.exe -f C:\tutoMakefile\makefileGcc |
|
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() frederic francesConsultant informatique Inscription : juin 2009 Messages : 1 848 ![]() |
je n'aime pas trop le 'rm -rf' surtout le '-rf' dans les cibles clean et mrproper.
Cela peut être dangereux, si une personne modifie la cible EXEC par exemple, ou bien dans le cas d'un modification accidentelle qui mettrai un espace entre '*' et '.o' je verrai plus un rm sans options de la liste des objets.
__________________
bazar: http://www.improetcompagnie.com/publ...ctacles-6.html BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil Emacs Wiki: http://www.emacswiki.org/ En attente de ce que produira: http://www.pushmid.com |
|
|
00
|
|
|
#9 | |
![]() ![]() Inscription : juin 2002 Messages : 2 034 ![]() |
Citation:
EDIT : mise à jour effectuée |
|
|
|
00
|
|
|
#10 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2004 Messages : 71 ![]() |
Bonjour,
Merci pour ce tuto très bien fait. Par contre je n'ai pas trouvé (mal lu?) d'informations concernant les règles présentes par défaut. (il n'y a pas forcément besoin de créer de règle implicite %.o:%.c , car make va automatiquement en proposer une). Je ne sais pas notamment comment désactiver celles-ci... (pour voir mon problème plus en détail, c'est ici...) Merci |
|
|
00
|
|
|
#11 |
|
Membre du Club
![]() Etudiant Licence Pro Automatique et Info Industrielle options GTB Inscription : mai 2011 Messages : 44 ![]() |
Bonjour,
Le tuto est très bien fait, très compréhensible ! ![]() Mais, j'aurais aimé avoir des précisions sur les éléments de la ligne CFLAGS: Merci |
|
|
00
|
|
|
#12 | |
|
Membre du Club
![]() Etudiant Licence Pro Automatique et Info Industrielle options GTB Inscription : mai 2011 Messages : 44 ![]() |
Si ça intéresse quelqu'un :
Citation:
|
|
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Étudiant Inscription : août 2012 Messages : 1 ![]() |
Bonjour,
Je suis tombé par hasard sur ce tutoriel, pas mal fait du tout dans son ensemble, cependant, en le parcourant rapidement, je suis tombé sur une énormité. Je parlerai là principalement de la variante GNU de make, car je la connais mieux, mais je pense que ce que je vais dire est tenu aussi des les autres variantes. La variable CC est effectivement pour le compilateur C, mais la variable CPP n'est absolument pas pour le compilateur C++, mais pour le préprocesseur C. (C PreProcessor), c'est la variable CXX qui sert de variable de compilateur C++. La variable CXXFLAGS est bien pour les flags pour le compilateur C++, et est donc en adéquation avec l'utilisation de la variable CXX pour le compilateur. Cela reste donc logique pour le moment. Et donc l'apparition de la variable CPPFLAGS ne fera donc peur à personne quand à sa signification. Un autre point à remarquer, les variables utilisées ont l'air présente par défaut dans make, or ce n'est absolument pas le cas pour toutes, - CC - CFLAGS - CXX - CXXFLAGS - CPP - CPPFLAGS - LDFLAGS le sont, car ces variables là sont utilisées pour les règles implicites de make, mais une variable comme EXEC, bien qu'utile, n'est pas une variable ayant une valeur prédéfinie dans make. (gmake - variables implicites) Et personnellement, je préfère utiliser les règles implicites de make, bien fondée et testée, que de les refaire moi même, même si cette étapes peut sembler nécessaire à certains pour bien comprendre comme cela se passe. Une autre remarque, hors propos cette fois, l'utilisation de -ansi me semble obsolète, puisqu'elle force l'utilisation du C de la norme de 89, ce qui est très vieux sachant que depuis sont sorti les normes ISO de 99 et de 2011. Il pourrais être judicieux, pour que les programmes tournent plus rapidement encore d'utiliser les extensions de ces nouvelles normes, et donc de spécifier plutôt ces normes là au compilateur. (-std=c11 pour le dernier, toujours en développement, ou -std=99 pour la version de 99) |
|
|
00
|
|
|
#14 | |||
![]() ![]() Inscription : juin 2002 Messages : 2 034 ![]() |
Citation:
Citation:
Citation:
En outre, à l'heure actuelle, seul C89 est à peu prés correctement supporté par les principaux compilateurs du marché. C99 (et encore plus C11) posent quelques problèmes de portabilité. |
|||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com