我有以下makefile。它适用于.f
和.c
文件,但是当我有.f90
文件并希望使用ifort编译它时不起作用?
你能告诉我应该改变的地方和方式吗?
谢谢你
FCOMPFLAGS = -O -ffixed-line-length-132
CCOMPFLAGS = -O
FFLAGS = $(FCOMPFLAGS) -fsecond-underscore
CFLAGS = $(CCOMPFLAGS)
LDFLAGS = $(FCOMPFLAGS)
LD = gfortran
FC = gfortran
MAKEFILE = Makefile
PROGRAM1 = f1
OBJS = f1.o \
f2.o \
f3.o
all: $(PROGRAM1)
$(PROGRAM1): $(OBJS) $(MAKEFILE)
$(LD) $(LDFLAGS) $(OBJS) -o $(PROGRAM1)
clean: @rm -f $(OBJS) core
当我执行“make”时,我收到以下错误,
make: *** No rule to make target `f1.o', needed by `f90_simple'. Stop.
似乎我的makefile无法识别* .f90文件,我的另一个问题是我们是否有在iffile中使用ifrot编译器的标志 感谢
答案 0 :(得分:1)
您需要添加隐式规则:
%.o : %.f90
<tab>$(FC) $(FCOMPLAGS) -c $<