0
我需要什么,如果我想编译几个文件做的源文件(例如a.f90,b.f90,c.f90)(比方说,MYDIR)?的Makefile:在给定的目录中的特定目录
我的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 [email protected] $<
$(EXE): $(OBJ)
$(CC) -o [email protected] $^ $(CFLAG)
clean:
rm -f *.o
我想,4个线是不正确的。那么可以取代什么呢?
另一个想法:我可以使用通配符如果我想编译内MYDIR所有.F90文件?
非常感谢。其实我想使用'wildcard'函数。但是,如果我使用'addprefix',那么我可以在我的Makefile代码中写'$(addprefix $(HOME)/,* .f90)'。 关于分配OBJ,我遇到*如果我没有在冒号后面使用空格或逗号,则没有规则来发出目标*错误消息。 – hbaromega