说我有一些环境变量,例如
echo $CPATH
/share/software/user/open/metis/5.1.0/include:/share/software/user/restricted/imkl/2018/mkl/include
我如何在用gcc(或任何其他代码)编译代码的Makefile中使用它? 这似乎不起作用
gcc -I$(CPATH)
因为gcc似乎无法处理这些内容。
首选解决方案是什么?我应该只在Makefile中访问路径还是其他更优雅的东西?
答案 0 :(得分:1)
如果您使用GNU make,我认为以下是一个简单的(也许是优雅的)解决方案:
gcc -I $(subst :, -I ,${CPATH})
BSD的情况:
gcc -I ${CPATH:C,:, -I ,g}
也许您也可以使用C_INCLUDE_PATH
环境变量:
C_INCLUDE_PATH=${CPATH} ; gcc ...