makefile - GNU Make:定义一个永远不会导入的局部变量?
问题描述
假设我有一个gnu-make
自动化节点(这不是一个实际的东西;它是我用来做的东西)。
makefile
runFoo/
runFoo.mk
thisBar/
thisBar.mk
在里面makefile
,我有:
# makefile
include runFoo/runFoo.mk
include thisBar/thisBar.mk
现在,我想做的是拥有一组我一直使用的变量名。例如,node
或者nodeName
将是为我定义的自动化邻域中的所有“节点”定义的一个很好的变量:
# runFoo/runFoo.mk
nodeName=runFoo
$(nodeName):
~/.local/bin/runFoo.sh # for example
# thisBar/thisBar.mk
nodeName=thisBar
$(nodeName):
@touch $@/$@
这个问题相当于:
有没有办法定义一个变量,以便它在包含的文件中本地使用,但不与其他文件中的任何重新定义冲突?
即,在主生成文件中,
echo:
@echo $(nodeName)
什么都不打印:
~$ make echo
我正在查看文档中的 MAKELEVEL,这几乎是我的目标......
基本上,这个想法是this
为一个 C++ OOP 的 makefile 定义一个变量/名称。
解决方案
推荐阅读
- javascript - 在从 api 渲染图像的反应中找不到模块
- c++ - 抛出 'std::invalid_argument' what(): stof 的实例后调用终止。输入来自 .txt 文件
- python - 如何将我的 python 脚本变成网络应用程序?我有一个接受输入并显示输出的刮板,所以我希望它成为网络应用程序
- python-3.x - tkinter - 如何在我的循环中制作单独的超链接按钮?
- c++ - 更新类向量元素的正确语法
- swift - Swiftui photoOutput for Images 不是每次都调用
- python - 尝试通过从外部函数调用变量来初始化类中的成员
- angular - 在 Jest 中以 Angular 提交的响应式表单的单元测试
- powershell - 选择对象 - 保留默认列但添加一列
- d3.js - D3 Y 轴有多个标签