Makefile:特定目录中的源文件

时间:2014-03-06 16:06:58

标签: makefile

如果我想编译多个文件,我需要做什么(例如 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 文件,我可以使用通配符吗?

1 个答案:

答案 0 :(得分:0)

有很多方法可以做到这一点。你可以这样做:

SRC = $(addprefix $(HOME)/,a.f90 b.f90 c.f90)

你的OBJ分配也是错误的;结肠后不需要逗号。

是的,如果需要,可以使用通配符。