获取 makefile 变量的顶级目录部分的最简单代码是什么?例子:
BUILD_DIR = dir/subdir/.../sub-a-dub-dir
distclean:
rm -rf <some code which evaluates to "dir" from $(BUILD_DIR)>
Run Code Online (Sandbox Code Playgroud)
PS:我的意思不是$(dir $(dir $(BUILD_DIR))),而是获取任何变量值的第一个目录部分的东西。
你的意思是目录的第一个组件?如果是这样,将路径转换为组件列表,然后提取第一个组件。我假设您正在使用 GNU make,并且您没有做一些疯狂的事情,例如期望带有空格的文件名毫发无损。不要尝试使用绝对路径。
override BUILD_DIR = dir/subdir/.../sub-a-dub-dir
distclean:
rm -rf $(firstword $(subst /, ,$(BUILD_DIR)))
Run Code Online (Sandbox Code Playgroud)
我BUILD_DIR覆盖了用户可能在命令行上传递的任何内容,以避免有人不小心传递它并意外删除了某些内容。
| 归档时间: |
|
| 查看次数: |
12830 次 |
| 最近记录: |