Makefile define的问题
source := Ng Ho F1 No
dir := /cc/test/cpp/src
define VAR
lib = $(foreach L,$(source), $(dir)/$(L)Class.cc)
SRC = $(foreach L, $(lib), $(wildcard $(L)))
endef
loop := Class
$(foreach, L, $(loop), $(eval $(call VAR, $(L))))
.PHONY:all
all:
@echo "Makefile begin"
@echo "source: " $(source)
@echo "lib: " $(lib)
@echo "SRC: " $(SRC)
@echo "Makefile end"
一个比较简单的Makefile,我的/cc/test/cpp/src目录下有NgClass.cc HoClass.cc F1Class.cc三个文件
然后我期望SRC可以得到这三个文件名,带上了目录
但是现在我的执行结果实这样的:
Makefile begin
source: Ng Ho F1 No
lib: /cc/test/cpp/src/NgClass.cc /cc/test/cpp/src/HoClass.cc /cc/test/cpp/src/F1Class.cc /cc/test/cpp/src/NoClass.cc
SRC:
Makefile end
这是为什么?求大神解答
...全文
相关推荐
makefile的变量用法
Makefile中的变量有两个特色:递归调用扩展型变量和简单扩展型变量。递归调用扩展型变量定义方式是在命令行中使用‘=’定义或使用define指令定义。
Makefile 中文教程
如命令行缩进错误导致语法失败、变量未定义引发空值扩展、shell 命令执行失败但 make 仍继续(需添加 -e 或在命令前加 - 忽略错误)、以及多线程并发构建(-j 参数)下依赖关系缺失引发的竞态问题
make-escape:GNU Make的转义符号-开源
make-escape"的主要目标是解决在GNU Makefile中使用"定义"(define)和其他复杂转义技术时可能出现的不清晰和难以理解的问题。
U-Boot_PortingGuide.pdf
- 分析运行时的问题。
C.Programming.FAQs_C语言常见问题集
**编译与链接**:了解如何使用gcc或g++编译器编译和链接C程序,以及如何使用Makefile自动化构建过程,都是实际项目中必备的知识。


驱动程序开发区
