Path: ...!feeds.phibee-telecom.net!news.mixmin.net!aioe.org!news.gegeweb.eu!gegeweb.org!usenet-fr.net!proxad.net!feeder1-2.proxad.net!cleanfeed3-b.proxad.net!nnrp1-1.free.fr!not-for-mail From: Thomas Newsgroups: fr.comp.os.unix Mail-Copies-To: nobody Subject: Re: Makefile : Target-specific Variables References: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 8bit User-Agent: MT-NewsWatcher/3.5.3b3 (Intel Mac OS X) Date: Sat, 12 Feb 2022 15:41:30 +0100 Message-ID: Lines: 126 Organization: Guest of ProXad - France NNTP-Posting-Date: 12 Feb 2022 15:41:30 CET NNTP-Posting-Host: 91.175.52.121 X-Trace: 1644676890 news-3.free.fr 8885 91.175.52.121:13683 X-Complaints-To: abuse@proxad.net Bytes: 5076 pour info : pour parer à une partie des pbs ci dessous, voici ce que j'ai fait : http://svn.savannah.gnu.org/viewvc/rapid/branches/gtkada-2.24/bin/makefil e-generic.mk?view=markup&pathrev=256 ( https://urlpetite.fr/sg8 ) servez-vous, c'est domaine-public ! :-) In article , Thomas wrote: > http://svn.savannah.gnu.org/viewvc/rapid/branches/gtkada-2.24/bin/makefile-Main.mk?view=markup&pathrev=232 ( https://urlpetite.fr/6tz ) > > > > il y a autre chose d'assez basique qui manque amha : le traitement de la > casse. > je pense que pour moi les 3 classiques suffiraient > ("min", "MAJ", "Maj Au Début"). c'est très imparfait, il s'agit de faire une table de hachage (y a-t-il une traduction pour "hashed map" plutôt que "hash table" ?) dans laquelle on doit faire une entrée pour chaque mot à convertir. > > > > > 3 > > l 139-147 > > > je n'ai pas trouvé mieux que de faire des variables de noms différents > > pour chaque cas de figure > > (avec au minimum distclean qui dépend de clean), > > avec un $(or ) pour détecter dans quel cas de figure on est. > > > > est il possible de faire mieux que ça ? et il me reste un pb non résolu dans le cas où on passe plusieurs cibles à make dans la même commande, puisque dans ce cas la cible examples est exécutée qu'une seule fois, donc il faudrait trouver le moyen - soit de passer plusieurs cibles en même temps, - soit, si on fait des cibles intermédiaires différentes, de ne pas exécuter trop de choses, par ex plusieurs fois la même cible, par ex si on demande à la fois clean et distclean. > > > > > 4 > > suggestion d'amélioration : > > > si l'interprétation des définitions de variables/cible et des prerequis > > était faite pendant la 2eme phase de lecture du Makefile, comme les > > Recettes, plutôt que pendant la 1ere phase, > > - on pourrais faire énormément plus de choses, > > - en plus, ça éviterais la spécificité de la 2nd expansion, puisque ça > > donnerais la même fonctionnalité naturellement. > > > > > > mais je suppose que si ça n'a pas été fait jusqu'à maintenant, c'est > > parce que qqch d'important m'a échappé ? > > depuis la dernière fois, je ne vois tjr pas quoi ... > > > mais je peux faire une suggestion intermédiaire, > à laquelle je ne vois que des inconvénients et aucun avantage par > rapport à la 1ere, par ex elle ne résoudrait pas le point 3, > mais qui serait peut être plus acceptable pour les développeurs : > > il suffirait de rendre disponible les variables automatiques dans les > définitions des variables/cible. > > cette fois ci, je ne vois vraiment pas ce qu'il peut y avoir comme > inconvénient à ça. et j'ai trouvé comment le faire ! bon là je ne l'ai fait que pour $@ parce que comme je n'ai pas besoin d'autre chose, et que je n'ai pas la certitude que qqn s'intéressera à ce que je fais, je ne vois pas l'intérêt de m'embêter avec le reste, mais je pense que ça devrais être possible de le faire pour toutes les variables automatiques. > > > - l 226-228 : > ça permettrais de factoriser (à condition de pouvoir traiter la casse) fait ! > > - l 259 : > j'ai un sub-make, > PEERS peut être construit de façon dynamique. > sans aucune de ces 2 suggestions, je ne vois pas comment éviter le > sub-make, > alors qu'avec c'est assez facile. pas fait. je ne me souviens plus très bien de ce que j'avais en tête à ce moment là. c'est peut-être à cause d'un pb lié à gnat, qui nécessite qu'on change de répertoire, et/ou peut-être à cause du faut qu'on ne peut pas exécuter plusieurs fois la même cible. pas grave, cette partie est bien factorisée, et fonctionne bien. je ne sais plus pourquoi il faut éviter les sub-make autant que possible. -- RAPID maintainer http://savannah.nongnu.org/projects/rapid/