Makefile具有不同的源类型

时间:2012-01-20 11:13:39

标签: makefile fortran

我正在尝试编写一个makefile,用于编译包含.f.f90扩展名的源文件的程序。我有编译对象的规则:

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

如何扩展它以使用.f文件?

1 个答案:

答案 0 :(得分: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))

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