【问题标题】:Makefile: process colon-separated environment variablesMakefile:处理以冒号分隔的环境变量
【发布时间】:2018-08-28 05:49:49
【问题描述】:

假设我有一些环境变量,例如

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 似乎无法处理这些。

首选的解决方案是什么?我应该只是 c/p 我的 Makefile 中的路径还是其他更优雅的东西?

【问题讨论】:

    标签: makefile environment-variables


    【解决方案1】:

    如果您使用 GNU make,我认为以下是一个简单(也许也很优雅)的解决方案:

    gcc -I $(subst :, -I ,${CPATH})
    

    BSD make 的案例:

    gcc -I ${CPATH:C,:, -I ,g}
    

    也许你也可以使用C_INCLUDE_PATH 环境变量:

    C_INCLUDE_PATH=${CPATH} ; gcc ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-17
      • 1970-01-01
      • 2019-09-29
      • 1970-01-01
      • 2014-07-21
      • 2016-10-24
      • 1970-01-01
      • 2017-08-23
      相关资源
      最近更新 更多