我有这样的设定:
/Makefile
/foo/Makefile
/foo/bar/Makefile
/foo/baz/Makefile
顶层Makefile包含一个任务,该任务调用/foo/Makefile
。这个Makefile在子目录(例如bar
,baz
)中创建了一个Makefile列表。对于每个子目录,它都会调用相应的Makefile:
$(SUB_DIRS):
$(MAKE) -C $@
当然,如果只是针对all
任务,这样做也没问题。但是,如果我想做其他事情,我就卡住了。是否有可能将目标传递给子makefile的列表中呢? 例如:
$(SUB_DIRS):
$(MAKE) -C $@ <task>
clean: $(SUB_DIRS)-clean # or something?
还是我的整个概念错误了吗?