如果我想编译多个文件,我需要做什么(例如 a.f90 , b.f90 , c.f90 )在给定目录中(例如, MYDIR )?
我的Makefile代码类似于:
CC=gfortran
CFLAG=-g
HOME=MYDIR
SRC=$(HOME)/(a.f90,b.f90,c.f90)
OBJ=$(SRC:,=.o)
EXE=test.x
%.o: %.f90
$(CC) $(CFLAG) -c -o $@ $<
$(EXE): $(OBJ)
$(CC) -o $@ $^ $(CFLAG)
clean:
rm -f *.o
我认为,第4行行不正确。那么可能有什么替代品?
另一个想法:如果我想在 MYDIR 中编译所有 .f90 文件,我可以使用通配符吗?
答案 0 :(得分:0)
有很多方法可以做到这一点。你可以这样做:
SRC = $(addprefix $(HOME)/,a.f90 b.f90 c.f90)
你的OBJ分配也是错误的;结肠后不需要逗号。
是的,如果需要,可以使用通配符。