【问题标题】:How to change path separator in makefile variables如何更改makefile变量中的路径分隔符
【发布时间】:2022-08-18 22:13:41
【问题描述】:

我必须在我的makefile中遵循一些代码:

SRC_DIRS = . folder

MAIN_CXX_FILES=${foreach d,${SRC_DIRS},${wildcard ${d}/${strip ${EXE_PREFIX}}*.cpp}}

COMMON_CXX_FILES=${filter-out ${MAIN_CXX_FILES},${foreach d,${SRC_DIRS},${wildcard ${d}/*.cpp}}}

这里我的两个MAIN_CXX_FILESCOMMON_CXX_FILES 变量完全符合我的要求(从SRC_DIRS 变量指定的文件夹中获取所有.c 和.cpp 文件),但是\'folder\ 中的文件路径'(在COMMON_CXX_FILES 变量中)看起来像folder/file.cpp 而我希望它看起来像folder\\file.cpp

我尝试了以下方法,但它不起作用

COMMON_CXX_FILES=${foreach d,${COMMON_CXX_FILES},${subst /,\\,${d}}}
  • 尝试:= 而不是=。你也不需要foreach,你可以一次处理整个列表。
  • \"It doesn't work\" 不是一个有用的问题报告。请显示(剪切和粘贴,带有格式,而不是解释)您输入的命令和您得到的输出,如果不明显,它有什么问题。

标签: makefile


【解决方案1】:

试试这个:(用逗号分隔符替换空格)。

LST:=file1 file2 file3
WITH_SEP:=$(shell echo $(LST) | sed 's/ /,/'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-23
    • 1970-01-01
    • 1970-01-01
    • 2017-05-06
    • 2014-01-16
    • 1970-01-01
    • 2014-07-29
    相关资源
    最近更新 更多