我有以下生成文件,我跑编译MEX功能:makefile编译多个MEX功能
SRC:=$(wildcard ./source/*.c)
all: $(SRC)
for file in $^ ; do \
mex -outdir matlab/ -output [email protected] $$file CC=mpicc CXX=mpicxx COPTIMFLAGS="-O2 -DNDEBUG" LDOPTIMFLAGS="-O2"; \
done
.PHONY: clean
clean:
rm ./matlab/*.mexa64
代码编译,即使我修改一个所有文件。
我已经创建了一个makefile,只考虑修改后的文件将被编译,而不是全部。 我目前无法找到一种方法来做到这一点。编译所有文件以便对其中一个文件进行最轻微的更改非常耗时,因为我有大约50个文件需要编译。
任何帮助表示赞赏。
让我知道如果我不清楚任何地方。
你读过任何makefile教程吗?另外,你是在用'/ matlab'来代替'./matlab',而'/ source'是用于目的?我的意思是,如果这真的是你的代码,它的工作是正确的:你只是不删除你想删除的东西。 –
源文件和mex文件之间是否存在简单的关联?也就是说,如果你从'foo.c'开始,你会得到'foo.mexa64',而没有其他的东西? – Beta
对不起..我编辑它.. – Pundit