我有一个Makefile,其中一个目标如下:
task: $(foreach t,$(SUBDIRS),subtask_$t)
subtask_%:
make -C $* subtask
简而言之,task
运行列表subtask
目录中的每个Makefile中定义的$(SUBDIRS)
目标。默认情况下,控制台的输出是子任务的所有输出的组合。有没有办法简单输出,例如$* SUCCESS
或$* FAILED
取决于退出代码?
我尝试过使用@make...
,但这并没有掩盖从其他Makefile运行的命令的输出。
理想情况下,我想保持子Makefile不变,因为我偶尔也想直接使用它们并获得完整的输出。
答案 0 :(得分:1)
一种可能的方法是让每个子任务将其输出写入自己的日志文件。如:
subtask_%:
make -C $* subtask 2>&1 > subtask/make.log