make clean em vários subdiretórios

make clean em vários subdiretórios

Quero limpar vários (>20) subdiretórios com make clean. Pensei em algo assim:

find ./ -type d -maxdepth 1 | xargs "make clean"

mas não funciona. Você poderia por favor me ajudar?

Responder1

Como você parece querer apenas descer para os subdiretórios imediatos, você pode evitar findcompletamente e apenas executar cada um make cleanem um subshell, por exemplo

for d in */; do (cd "$d" && make clean); done

Você pode adicionar um teste para a existência de um Makefile se desejar, mas makefalhará normalmente se não encontrar um (ou se não houver cleanalvo).

informação relacionada