在CentOS上编写Fortran程序的Makefile时,需要考虑编译器、编译选项、源文件和目标文件等。以下是一个简单的示例,展示了如何为Fortran程序编写Makefile。
首先,假设我们有一个名为hello.f90的Fortran源文件,内容如下:
program hello implicit none print *, 'Hello, World!' end program hello 接下来,创建一个名为Makefile的文件,内容如下:
# 编译器 FC = gfortran # 编译选项 FFLAGS = -Wall -g # 源文件 SRCS = hello.f90 # 目标文件 OBJS = $(SRCS:.f90=.o) # 可执行文件 TARGET = hello # 默认目标 all: $(TARGET) # 链接目标文件生成可执行文件 $(TARGET): $(OBJS) $(FC) $(FFLAGS) -o $@ $^ # 编译源文件生成目标文件 %.o: %.f90 $(FC) $(FFLAGS) -c $< -o $@ # 清理生成的文件 clean: rm -f $(OBJS) $(TARGET) 在这个Makefile中,我们定义了以下变量:
FC:Fortran编译器,这里使用gfortran。FFLAGS:编译选项,例如-Wall表示显示所有警告,-g表示生成调试信息。SRCS:源文件列表。OBJS:目标文件列表,通过将源文件列表中的.f90扩展名替换为.o得到。TARGET:生成的可执行文件名。Makefile中的规则包括:
all:默认目标,用于生成可执行文件。$(TARGET):链接目标文件生成可执行文件的规则。%.o: %.f90:编译源文件生成目标文件的规则,使用模式匹配%表示任意字符串。clean:清理生成的文件(目标文件和可执行文件)。要编译Fortran程序,请在终端中导航到包含Makefile和源文件的目录,然后运行make命令:
make 这将生成名为hello的可执行文件。要清理生成的文件,请运行:
make clean 这个简单的示例应该足以帮助你在CentOS上为Fortran程序编写Makefile。你可以根据需要修改编译选项、源文件和目标文件等。