【发布时间】:2016-11-04 12:10:27
【问题描述】:
我目前有这个 Makefile :
- 在它运行的目录中查找所有 *.f
- 在指定的子目录(如 Objets_dir 中定义)中查找匹配的 *.o
- 编译和链接
代码:
# Paths
# -----
# Where to put the *.o
Objets_dir = temp\Win
# Where to check for the *.o
VPATH = $(Objets_dir)
# Where to put the resulting binary
Executable = D:\Documents\out.exe
# List of needed objects
Objets = $(patsubst %.f,%.o,$(wildcard *.f))
# Rules
# -----
F_compilo = gfortran
F_compilo_options = -O3 -ffpe-trap=invalid,zero,overflow -mfpmath=sse -fmax-errors=3
Link = x86_64-w64-mingw32-gfortran
Link_options =
# Let's go
# --------
# Compile (generation of .o)
%.o:%.f
$(F_compilo) $(F_compilo_options) -c $< -o $(Objets_dir)\$@
# Link (generation of .exe)
$(Executable): $(Objets)
$(Link) $(Link_options) -o $@ $(addprefix $(Objets_dir)\, $(Objets))
关于信息,我正在使用 mingw32-make 来执行这个 Makefile。
我想编辑它,以便我可以指定一个子文件夹列表,它还会(除了当前文件夹)在其中查找源文件 (*.f)。然后它会不那么通用,但我会很好。
这个 makefile 是我几年前从互联网上检索到的,除了添加一些评论或编辑编译标志之外几乎没有碰过。 我想需要编辑的行是带有“通配符”调用的行,但我对 Make 语言完全(完全)一无所知。
你能建议如何编辑它吗?
【问题讨论】: