我正在使用 makefile 来编译 MATLAB/C 项目。MATLAB 通常可以安装到多个标准位置,具体取决于其版本,例如/Applications/MATLAB_2012b.app
、/Applications/MATLAB_2013a.app
等。
什么是最简单的方法来查看这些路径是否存在,一个接一个,并采取第一个找到的?我至少要测试五个值。我找到了$(wildcard filename)
语法,但我想知道是否有比一一写出更短的方法。
根据要求进行澄清。我可以拼凑一些有用的东西,但我确信这远不是最好/最简洁的方法。有没有更好的办法?
ifeq ($(MATLAB),)
ifneq ($(wildcard /Applications/MATLAB_2011b.app),)
MATLAB = /Applications/MATLAB_2011b.app
endif
endif
ifeq ($(MATLAB),)
ifneq ($(wildcard /Applications/MATLAB_2012a.app),)
MATLAB = /Applications/MATLAB_2012a.app
endif
endif
ifeq ($(MATLAB),)
ifneq ($(wildcard /Applications/MATLAB_2012b.app),)
MATLAB = /Applications/MATLAB_2012b.app
endif
endif
ifeq ($(MATLAB),)
ifneq ($(wildcard /Applications/MATLAB_2013a.app),)
MATLAB = /Applications/MATLAB_2013a.app
endif
endif