• ベストアンサー

Makeについての質問

こんにちは、Makotoと申します。 AIX上でCの開発を行っているのですが、 各ディレクトリにMakeFileがあり、 コンパイルのたびに各ディレクトリに移動して Makeを行っているのですが、面倒になってきたので、 以下のような簡単なシェルを作成しました。 cd /目的のディレクトリ make depend make clean make 上記と同じ記述が続く.... 始めの内は、規模が小さかったのでよかったのですが、 新しいプログラムが増えるたびに、同じ記述をするのも あまりきれいではないのでMakeFileを検出して Makeを実行させるといったことはできるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • wolv
  • ベストアンサー率37% (376/1001)
回答No.1

こんな感じ? #!/bin/csh -f foreach f (`ls`)  if(-d $f)then   cd $f   if (-f Makefile)then    make depend    make clean    make   endif   cd ..  endif end

mako-kwnsh
質問者

お礼

お返事ありがとうございました。 wolvさんの書いていただいたシェル のような形をKシェル風(AIXだったので)に作って 実行すると無事全コンパイルがかかりました。

その他の回答 (1)

  • you-m
  • ベストアンサー率58% (190/327)
回答No.2

#1の方は、cshでかかれているので私はシステム管理の定番Bシェルで。 #!/bin/sh for FILE in `ls` do  if [ -d ${FILE} ]; then   cd ${FILE}   if [ -f "Makefile" ]; then    make depend    make clean    make   fi   cd ..  fi done ※インデントは全角スペースを使っています。

関連するQ&A