close

FC=ifort
CFLAG=-O2 -xW -unroll
SRCPATH=/home/hchsiao/mklexamples/
LIB=/usr/lib/
INC=/opt/intel/mkl/10.0/include/
MKLLIB=/opt/intel/mkl/10.0/lib/32

test:
        $(FC) $(SRCPATH)test.f90 -L$(MKLLIB) -lmkl -lmkl_lapack -lguide -lpthread

 

=================================================

edit: $(object)

    ifort $(object) -o edit

t1.o t2.o :ref1.h ref2.h

[makefile隱晦規則: 上述指令表,下面指令的簡化

t1.o: t1.f90 ref1.h ref2.h

    ifort t1.f90 -o t1.o

t2.o: t2.f90 ref1.h ref2.h

    ifort t2.f90 -o t2.o]

.PHONY : clean
        clean :
                -rm edit $(objects)


.PHONY 表clean是一個「偽目標」,在rm前面加"-"意思是:也許某些檔案出現問題,但不要管,繼續做後面的事。

  1. makefile 檔案的開頭放 "目標 ",檔案最後 放clean
  2. 在Makefile中的命令,必須要以[Tab]鍵開始
  3. 註釋是用「#」字符;如果要在Makefile中使用「#」字符,可以用反斜框進行轉義,如:「\#」。
  4. 可include其它的makefile指令
  5. 一般來說,make會以UNIX的標準Shell,也就是/bin/sh來執行命令


=====================================

特殊符號

  1. *:表任意字串
       *.f90 表任意.f90的檔案 [note:  \* 來表示真實的「*」字符,而不是任意長度的字串。]
      讓objects的值是所有[.o]的檔案名的集合=>  objects := $(wildcard *.o)
  2. ?
  3. ...
  4. $?
  5. 換行\

 

 

 

 

(整理

http://blog.xuite.net/jackie.xie/bluelove/6559044

berfore 檔案搜尋 2009.03.19)



arrow
arrow
    全站熱搜
    創作者介紹

    quantum2nd 發表在 痞客邦 留言(0) 人氣()