用For循环填充Makefile变量
Populate Makefile Variable with For Loop
我有args.cpp/h
, output.cpp/h
和computation.cpp/h
文件。我想使用他们的目标文件和他们的头文件作为依赖项。
我试图通过创建一个makefile变量来最小化代码重复,然后分别用它们的目标文件名和头文件名填充另外两个makefile变量。
这是我到目前为止所尝试的,没有结果:
BASES = args output computation
OBJS =
CODE =
for base in $(BASES); do
OBJS += $$base.o ;
CODE += $$base.h ;
done;
我的方法对吗?如果是这样,我如何修复for循环?如果没有,我应该使用什么makefile方法来消除代码重复?
这是shell和make的混合,不能这样工作。如果你真的想这样做,你可以这样做,但没有理由这样做。
BASES = args output computation
OBJS = $(addsuffix .o,$(BASES))
CODE = $(addsuffix .h,$(BASES))
或
CODE = args.h output.h computation.h
OBJS = $(CODE:.h=.o)
相关文章:
- Makefile g++ 使用命令行中的 -D 变量进行编译,默认值
- 如何将makefile变量用作g 命令中包含的文件
- 使用定义的常量(来自 Makefile)在 C 中形成变量名称的一部分
- 与 Makefile 中的变量扩展混淆
- 如何在Makefile中正确使用变量
- Makefile说变量是空的,但它不是
- 使用 Code::Blocks、plink 和 makefile 进行远程编译时无法访问环境变量
- Makefile没有使用我的变量和规则(即编译器和它的标志)
- 如何定义一个变量,然后在目标[Makefile]中编译
- 用For循环填充Makefile变量
- 访问代码中的Makefile变量
- Makefile定制变量
- Makefile.am /配置.ac条件环境变量检查
- GNU Make -在规则/目标中设置shell命令输出中的MAKEFILE变量
- 根据Makefile中的目标更改变量
- 编译c++, Makefile基础知识:变量,包括库
- Makefile变量问题,make想要创建"*.o"而不是foo.o bar.o等
- C++makefile的Netbeans环境变量
- 如何将两个Makefile(每个生成的脚本都设置了特定的环境变量)合并到一个Makefile中
- 当环境变量发生变化时,让基于makefile的cmake项目自动运行make-rebuild_cache