• # Bienvenue

    Posté par (site web personnel) . En réponse au message Makefile générique pour les petits projets. Évalué à 6. Dernière modification le 03 juillet 2013 à 22:33.

    J'aime bien les Makefile aussi, et c'est moi qui ai fait ça:

    http://home.gna.org/bsdmakepscripts

    http://svn.gna.org/viewcvs/bsdmakepscripts/

    Des scripts pour BSD Make, qu'on peut donc utiliser sous BSD, sous Mac OS X, et sous Linux (avec bmake). Essentiellement ils servent pour les documents TeX/LaTeX (avec intégration METAPOST, la classe quoi!) et les développement OCaml (plus très utile avec Opam, Oasis et ocamlbuild).

    J'avais commencé avec GNU Make, mais je trouve la syntaxe et la documentation vraiment toutes pourries — défaut récurrent de la doc GNU: très bavard et manque de substence — donc j'ai essayé autre chose: le make de FreeBSD. L'intérêt est qu'il y a aussi une infrastructure bien solide, puisque c'est ce Make qui orchestre la compilation du système, qu'on peut utiliser comme exemple. Quand on programme, rien n'est plus utile pour apprendre que de lire les programmes de autres.

    J'utilise intentionnellement := au lieu de = pour des question de performances : utiliser := permet d'évaluer immédiatement l'expression qui suit.

    Ça, c'est loin d'être une bonne idée. Pour GNU Make, je ne sais pas, mais en général il y a des intéractions subtiles entre les variables définies dans l'environnement, les variables définies sur la ligne de commande, etc.

    La morale de l'histoire est qu'il ne faut jamais utiliser le := pour les variables faisant partie de l'interface. Pour la performance, tu peux laisser tomber, sauf si effectivement tu sauvegardes le résultat d'évaluation d'une commande shell.

    Je te recommande chaudement de passer à bmake, pmake, bsdmake, c'est nettement plus facile à programmer que GNU Make. Si tu as envie de jouer avec les BSD Make Pallàs Scripts, fais toi plaisir, je pourrais répondre à tes questions.