繁体   English   中英

在Makefile中设置编译器名称

[英]Set compiler name in the Makefile

我有一个Makefile假设在多个主机中编译我的应用程序,其中一些内置了intel编译器(icpc)而其他人只有g ++。 我想makefile会自动检测icpc的可用性,如果可用的话,用intel编译器编译应用程序,否则只需用g ++编译它。

如何更改Makefile以自动检测icpc编译器的可用性?

这是我的尝试,这根本不起作用

ERR = $(shell icpc 2>/dev/null ; echo $? )
ifeq "$(ERR)" "127"
    CXX = g++
else
    CXX = icpc
endif

您可以使用which来检测icpc 也可以更好地检查0而不是127 ,因为从一个系统到另一个系统可能存在差异

ERR = $(shell which icpc >/dev/null; echo $$?)
ifeq "$(ERR)" "0"
    CXX = icpc
else
    CXX = g++
endif

all:
    echo $(CXX)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM