Makefile使用不同类型的源文件

4

我正在尝试编写一个Makefile来编译具有.f.f90扩展名的源文件的程序。我已经有了编译对象的规则:

%.o: %.f90
       $(FC) $(FFLAGS) -c $< -o $(OBJ)/$@

如何扩展此功能以支持 .f 文件呢?
1个回答

5
你需要有两个单独的规则:一个用于 .f 文件,另一个用于 .f90 文件。例如:
TARGET := a.out
OBJFILES := foo.f bar.f90
OBJ := ./obj

%.o: %.f90
    $(FC) $(FFLAGS) -c $< -o $(OBJ)/$@

%.o: %.f
    $(FC) $(FFLAGS) -c $< -o $(OBJ)/$@

%(TARGET): $(OBJFILES)
    $(FC) $(FFLAGS) -o $@ $(addprefix $(OBJ)/,$(OBJFILES))

或类似的东西就可以解决问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接