Makefile for Fortran gives this error: make: don't know how to make datastructures.o
Makefile for Fortran gives this error: make: don't know how to make datastructures.o
我正在尝试为 Fortran 准备我的第一个 makefile:
到目前为止,我的代码分为三个对象模块。
这是我的 makefile:
# Variables
OBJS=datastructures.o global.o main.o
FC=/usr/local/bin/gfortran8
FFLAGS=-Wl,-rpath=/usr/local/lib/gcc8
# Makefile
test1: $(OBJS)
$(FC) -o mktpro_a $(FFLAGS) $(OBJS)
%.o: %.f90
$(FC) -c $(FFLAGS) $<
clean:
rm $(OBJS)
rm test1
但是我收到以下错误:
$ make test1
make: don't know how to make datastructures.o. Stop
make: stopped in /usr/home/user/marketprofile
我正在使用 FreeBSD12 和 gcc8 (gfortran8)
而不是
%.o: %.f90
$(FC) -c $(FFLAGS) $<
改为
.f90.o:
$(FC) -c $(FFLAGS) $<
您可能也需要显式输出(我对这个编译器不熟悉):
.f90.o:
$(FC) -c $(FFLAGS) -o $@ $<
如果它能帮助其他人,这似乎是在 FreeBSD 12 make(似乎是 PMake)中实现它的方法。
.SUFFIXES : .o .f90
.f90.o :
$(FC) $(FFLAGS) -c $(.IMPSRC)
更多信息在这里:ftp.netbsd.org/pub/NetBSD/misc/lite2-docs/psd/12.make.ps.gz
我正在尝试为 Fortran 准备我的第一个 makefile:
到目前为止,我的代码分为三个对象模块。
这是我的 makefile:
# Variables
OBJS=datastructures.o global.o main.o
FC=/usr/local/bin/gfortran8
FFLAGS=-Wl,-rpath=/usr/local/lib/gcc8
# Makefile
test1: $(OBJS)
$(FC) -o mktpro_a $(FFLAGS) $(OBJS)
%.o: %.f90
$(FC) -c $(FFLAGS) $<
clean:
rm $(OBJS)
rm test1
但是我收到以下错误:
$ make test1
make: don't know how to make datastructures.o. Stop
make: stopped in /usr/home/user/marketprofile
我正在使用 FreeBSD12 和 gcc8 (gfortran8)
而不是
%.o: %.f90
$(FC) -c $(FFLAGS) $<
改为
.f90.o:
$(FC) -c $(FFLAGS) $<
您可能也需要显式输出(我对这个编译器不熟悉):
.f90.o:
$(FC) -c $(FFLAGS) -o $@ $<
如果它能帮助其他人,这似乎是在 FreeBSD 12 make(似乎是 PMake)中实现它的方法。
.SUFFIXES : .o .f90
.f90.o :
$(FC) $(FFLAGS) -c $(.IMPSRC)
更多信息在这里:ftp.netbsd.org/pub/NetBSD/misc/lite2-docs/psd/12.make.ps.gz