-
Imakefiles vs Makefile
Bonjour,
J'ai une petite question concernant les Imakefiles et les Makefile.
Avant tout,on sait tous que chaquee programme imake utilise les fichiers de configuration pour générer un fichier Makefile à partir du fichier Imakefile
Si on peut générer à partir des Imakefiles des Makefile, c'est quoi l'utilité de créer des Makefiles à la main ??
je veux si possible un retour sur expérience.
merci
Cordialement,
Turbo_chess
-
Comme toutes les choses que tu peux faire à la main : la flexibilité, la rapidité. par besoin d'outil en plus.
-
SAlut,
imakefile c'est le successeur de mkmf ?
Si oui, ben oui c'est vrai que c'est plus sympa d avoir ce type d outil quand ton projet commence a integrer quelques centaines de sources regroupé dans pleins de packages differents. C'est tres penible de maintenir ton makefile a la main, et tellement rapide les maker de makefile.
Je peux meme te dire qu en general, j ai un script shell qui appel le mkmf (enfin imakefile) puis le makefile (il fait d autre chose aussi...).
Je pense que la raison est historique, au debut on passait par les makefile, pis un jour un mec a du ce dire tiens on pourrait pas automatiser un peu le bouzin...
-
Bonjour,
merci pour vos réponses.
je cherche aussi des exemples des Imakefiles, syntaxe, etc ...., si vous avez des liens , merci.
Cordialement,
Turbo_chess
-
imake et mkmf sont deux generateurs de makefile differents. Enfin, plus de deux car je connais au moins deux mkmf differents. Il y a aussi xmkmf (qui lui appelle en fait imake avec les arguments qui vont bien pour X).
Le principe d'imake, c'est de passer un Imakefile dans le preprocesseur C (ce qui fait qu'il est a moitie en charte pour ici). Enfin, un preprocesseur assez vieux car certains recents cassent certaines usages communs dans les imakefiles. imake est surtout lie a X (en tout cas il a ete concu dans ce cadre) meme s'il est utilise ailleurs. La mise en place d'un systeme autour d'imake est generalement compliquee (celle de X l'est et les projets que j'ai vu utiliser imake sont partis la config d'X). J'ai l'impression qu'au total imake apporte peut de chose par rapport a l'utilisation d'un make comprenant les inclusions (en gros tous les make recents).
Les mkmf que j'ai connus etaient plus simples, mais apportaient des choses que imake n'apporte pas (la generation des dependances est la plus importante). Mais a nouveau, ils n'offrent aucun avantage a mon avis par rapport a l'utilisation d'un make comme gnumake combine avec un programme de recherche de dependance indepandant du make (ou des options adequates des compilateurs).
Dans les deux cas, il y a deux desavantages par rapport a l'utilisation de make seul: des etapes supplementaires et peu standardisees, les makefiles qui sont modifies (ce qui pose parfois des problemes avec les systemes de gestion de source).
Au total, je prefere un systeme de makefiles bien concu; mais c'est pas simple a faire (mais bon, entre la gestion de projets des EDI et automake, les cas ou il faut faire son propre systeme sont rares).