简单Fortran工程的 makefile 的模版

web81 posted @ 2009年3月13日 04:41 in CFD编程应用 , 3928 阅读

试着用automake生成fortran的make文件,总是搞不定。无奈只好通过google搜索,然后自己修改了一份makefile。存之……

#############################################################
#      ________________________
#     /  Makefile for Fortran  \
#     | Compile on Linux Write |
#     |  by wangbo 2009.2.14   |
#     |       2009.2.14        |
#     \        IN NUAA         /
#      ------------------------
#      \     /\  ___  /\
#       \   // \/   \/ \\
#          ((    O O    ))
#           \\ /     \ //
#            \/  | |  \/
#             |  | |  | 
#             |  | |  | 
#             |   o   | 
#             | |   | | 
#             |m|   |m| 
#############################################################
#              Globle set
# project name
PRO_NAME = hover

# FPE
FPEFLAGS = -fpe3

# output
FFLAGS = -o

# compiler
FF = ifort

# files & objects
FILES= variable.f90 main.f90 output.f90 solver.f90 timestep.f90
OBJECTS= variable.o main.o output.o solver.o timestep.o

#############################################################
#              default build
$(PRO_NAME): release
       
#############################################################
#              Clean files
clean:
        -rm -f *.o  *.mod $(PRO_NAME) d$(PRO_NAME)

#############################################################
#              Build Object file
$(OBJECTS) : $(FILES)
        $(FF) $(LFLAGS)  -c $(FILES)

#############################################################
#              Release
release : LFLAGS= -O3 $(FPEFLAGS)
release : $(OBJECTS)
        $(FF) $(LFLAGS) $(OBJECTS) $(FFLAGS) $(PRO_NAME)
        @echo -e "\033[;31m$(PRO_NAME)\033[0m : \033[33mRelease is now up2dated!\033[0m"

#############################################################
#              debug
debug : LFLAGS = -O0 -g $(FPEFLAGS)
debug : $(OBJECTS)
        $(FF) -g $(LFLAGS) $(OBJECTS) $(FFLAGS) d$(PRO_NAME)
        @echo -e "\033[;31m$(PRO_NAME)\033[0m : \033[33mDebug is now up2dated!\033[0m"

#############################################################
#                clean && debug
#               clean && release
cdebug : clean debug
crelease : clean $(PRO_NAME)

#############################################################
#                make tags
tag : $(FILES)
        rm -f tags
        ctags -R *90
cscope : $(FILES)
        rm -f cscope.*
        cscope -Rbq *.f90
 

 

 

 


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter