问题描述
- 工作目录下辖两个子目录./test6 ./test9,里面各含一个可执行的makefile
-
1 sources=./test6 ./test9 2 var=$(foreach dir,$(sources),$(MAKE) -C $(dir)) 3 all: 4 @echo $(var) 运行: make -C ./test6 make -C ./test9 完全没达到,运行两目录下的makefile的目的
解决方案
- var=$(foreach dir,$(sources),$(MAKE) -C $(dir);)
需要在$(dir)变量后面加一个分号$(dir);
因为相当于是要执行多条make命令,需要分号来分割 - all:
$(var)
去掉@echo, 不然会和第一个make语句连成一个echo语句,这就会造成打印第一个make语句,而仅执行第二make语句
时间: 2024-08-11 21:38:19