FortranでもGNU makeが使えるようなので試してみる。
線形代数の計算ライブラリLapackのせいでコンパイルオプションをどうするかでてこずる。結局Intelのフォートランコンパイラ+インテルMKLでLapackを使うときはMakefileは以下のようにしておけば良いようだ。
TARGET=出来上がりの実行ファイル名
OBJECTS=生成される分のファイル名.o
F90=ifc
FFLAGS= -lmkl_p4 -lguide -lpthread -L/opt/intel/mkl61/lib/32 \
-lmkl_lapack -lmkl_def\
COMMON_MOD=モジュールファイル名
.SUFFIXES:
.SUFFIXES : .o .f90
.f90.o:
${F90} -c $< ${FFLAGS}
${TARGET} : ${OBJECTS}
${F90} -o $@ ${OBJECTS} ${FFLAGS}
${OBJECTS} : ${COMMON_MOD}
コンパイラオプションの-pthleadとかはたぶんあんまりいらない気もする。
あとやりがちなミスが、実行文(${TARGET} : ${OBJECTS}とか)の前にタブを入れ忘れること。タブが無いとGNUmakeは実行文を認識してくれない。とある参考文献のmakefileの例も実行文の前にタブはいってないぞ・・・最初それをそのまま試して、私は撃沈した。
2008年2月2日土曜日
Makefileメモ
登録:
コメントの投稿 (Atom)
0 コメント:
コメントを投稿