||
最近写fortran程序,突发奇想想试试用Makefile编译,略知一二后,发现这个确实方便。
当需要编译的程序文件很多时,Makefile编译的优势就很明显了, 当然你可以用include,但总觉得这个有点low:),而且结构不清晰,不利于扩展。
附录一个测试成功的Makefile:
¥=$
## subroutine and function source files
SRC_FILES = qromb.F90 polint.F90 trapzd.F90
## module files
MDL_FILES = para.F90 nrutil.F90 nr.F90
OBJS = ¥{SRC_FILES:.F90=.o}
MOD = ¥{MDL_FILES:.F90=.o}
## main file
BIN = xmain
# compiler
F90 = gfortran
##顺序非常重要,决定了依赖关系
OBJECTS =¥(MOD) ¥(OBJS) ¥(BIN).o
SOURCES = ¥(SRC_FILES) ¥(MDL_FILES) ¥(BIN).F90
## final target: note the "tab" in the command line
¥(BIN): ¥(OBJECTS)
¥(F90) -o ¥(BIN) ¥ (OBJECTS)
¥(OBJS): ¥(SRC_FILES)
¥(F90) -c ¥(SRC_FILES)
¥(MOD): ¥(MDL_FILES)
¥(F90) -c ¥(MDL_FILES)
¥(BIN).o: ¥(SOURCES)
¥(F90) -c ¥(BIN).F90
clean:
rm -f *.o *.mod *.out ¥(BIN)
有$符号时,这总是把文本当作公式,没办法只好用¥代替$了
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-27 06:09
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社