本帖最后由 Jackdaw 于 2018-12-16 19:06 编辑
写在前面:
在开发程序的时候,可能程序规模不大或者其他原因,我们想自己写makefile管理项目,那么这个帖子有一个示例。
闲话少说,上代码。
代码:
[Fortran] 纯文本查看 复制代码 program main
use func_m
implicit none
real(fp):: a(5)
call sub(a)
write(*,*) a
end program main
fun.f90
[Fortran] 纯文本查看 复制代码 module func_m
implicit none
#ifdef DOUBLE_PRECISION
integer,parameter :: fp = kind(1.0d0)
#else
integer,parameter :: fp = kind(1.0)
#endif
contains
subroutine sub(a)
real(fp):: a(:)
a = 10.0_fp
end subroutine
end module
makefile
[Make] 纯文本查看 复制代码 #!/usr/bin/bash
SRC = fun.f90
SRC:= $(SRC) main.f90
OBJ = $(SRC:.f90=.o)
FC = gfortran
FF = -cpp -O0 -g -fbacktrace
DF = -DDOUBLE_PRECISION
EXE = myPro
ALL : $(OBJ)
$(FC) $(FF) $(DF) -o $(EXE) $(OBJ)
$(OBJ):%.o:%.f90
$(FC) $(FF) $(DF) -c $< -o $@
.PONHY: clean
clean :
rm -rf *.mod *.o $(EXE)
演示:
|