複数のサブディレクトリでmake cleanを実行する

複数のサブディレクトリでmake cleanを実行する

を使って、いくつか(>20)のサブディレクトリをクリーンアップしたいですmake clean。次のようなことを考えました:

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

しかし、うまくいきません。助けていただけませんか?

答え1

直下のサブディレクトリにのみ降りたいようなので、これをfind完全に避けて、それぞれをmake cleanサブシェルで実行することができます。

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

必要に応じて Makefile の存在をテストすることもできますが、makeMakefile が見つからない場合 (またはcleanターゲットがない場合) は正常に失敗します。

関連情報