温馨提示×

CentOS Fortran如何编写Makefile

小樊
34
2025-11-06 01:02:42
栏目: 智能运维

在CentOS系统上使用Fortran编写Makefile时,需要考虑Fortran编译器的特点和Makefile的基本语法。以下是一个简单的示例,展示了如何为Fortran程序编写Makefile。

假设你有一个名为hello.f90的Fortran源文件,你希望编译它并生成一个可执行文件hello

  1. 创建源文件

    ! hello.f90 program hello print *, "Hello, World!" end program hello 
  2. 编写Makefile: 创建一个名为Makefile的文件,并添加以下内容:

    # 编译器 FC = gfortran # 编译选项 FFLAGS = -Wall -g # 目标文件 TARGET = hello # 源文件 SOURCES = hello.f90 # 依赖关系 DEPENDS = $(SOURCES:.f90=.d) # 默认目标 all: $(TARGET) # 链接目标文件生成可执行文件 $(TARGET): $(SOURCES) $(FC) $(FFLAGS) -o $@ $^ # 生成依赖关系文件 %.d: %.f90 $(FC) $(FFLAGS) -MMD -MP -MF $@ -c $< # 清理生成的文件 clean: rm -f $(TARGET) $(DEPENDS) 
  3. 解释Makefile内容

    • FC:指定Fortran编译器,这里使用gfortran
    • FFLAGS:编译选项,-Wall表示显示所有警告,-g表示包含调试信息。
    • TARGET:最终生成的可执行文件名。
    • SOURCES:源文件列表。
    • DEPENDS:依赖关系文件列表,用于自动处理头文件依赖。
    • all:默认目标,生成可执行文件。
    • $(TARGET):链接目标文件生成可执行文件的规则。
    • %.d: %.f90:生成依赖关系文件的规则。
    • clean:清理生成的文件。
  4. 使用Makefile: 在终端中导航到包含Makefile和源文件的目录,然后运行以下命令:

    make 

    这将编译源文件并生成可执行文件hello

  5. 清理生成的文件: 如果你想删除生成的可执行文件和依赖关系文件,可以运行:

    make clean 

通过这种方式,你可以轻松地管理Fortran项目的编译过程,并确保依赖关系得到正确处理。

0