#1 Le 18/06/2007, à 17:19
- Link Mauve
[Résolu] Lancer une commande pour chaque Makefile trouvé
Bonjour,
Je cherche une manière de lancer quelques commandes dans chaque dossier contenant un Makefile :
make clean
rm -f *.bat
rm -f Thumbs.db
make
Avec find -name 'Makefile' et en supprimant les 9 derniers caractères, j'arrive à avoir la liste de tous les dossiers concernés, mais sans pouvoir lancer de commande après...
Merci d'avance !
Link Mauve
Dernière modification par Link Mauve (Le 18/06/2007, à 18:28)
Hors ligne
#2 Le 18/06/2007, à 17:25
- marc31
Re : [Résolu] Lancer une commande pour chaque Makefile trouvé
Je cherche une manière de lancer quelques commandes dans chaque dossier contenant un Makefile :
- avec la commande find -name Makefile
- basename, et dirname devraient aussi servir
ubuntu-gutsy / ATI RC410 [Radeon Xpress 200] + Nvidia GeForce 7300 SE / wireless RaLink RT2500 / toulouse-ouest / xmpp://marc.quinton@jabber.org
Hors ligne
#3 Le 18/06/2007, à 18:12
- Link Mauve
Re : [Résolu] Lancer une commande pour chaque Makefile trouvé
Avec find, j'arrive très bien à obtenir la liste des dossiers... Le problème vient de la méthode pour exécuter une commande dans chaque dossier.
[edit] J'ai trouvé une solution pas très catholique pour tout exécuter :
Dans Gedit, je remplace chaque “\n” par “\nmake clean\nrm -f *.bat\nrm -f Thumbs.db\nmake\ncd ” et puis je le colle dans un terminal...
Radical !
[/edit]
Dernière modification par Link Mauve (Le 18/06/2007, à 18:28)
Hors ligne
#4 Le 16/06/2008, à 22:45
- teke
Re : [Résolu] Lancer une commande pour chaque Makefile trouvé
heu en fait un :
find . -type f -name Makefile -exec {} clean all \;
devrait faire l'affaire... quand au deux commandes rm, le mieux est encore je crois de les inclures dans le makefile...
Cela dit, make permet sauf erreur de faire de la récursivité...
Dernière modification par teke (Le 16/06/2008, à 22:45)