我想创建一个Master Makefile
,我从中转到子目录并调用其他Makefile。对于这个主Makefile,我做了:
DIR_1D = $(dir $(mkfile_dir))1D
DIR_2D = $(dir $(mkfile_dir))2D
DIR_3D = $(dir $(mkfile_dir))3D
# Phony target
.PHONY: all clean
all:
@(cd $(DIR_1D) ; $(MAKE))
@(cd $(DIR_2D) ; $(MAKE))
@(cd $(DIR_3D) ; $(MAKE))
# Clean target
clean:
@(cd $(DIR_1D) ; $(MAKE) $@)
@(cd $(DIR_2D) ; $(MAKE) $@)
@(cd $(DIR_3D) ; $(MAKE) $@)
更新:对不起,愚蠢的拼写错误,修复,谢谢
你设置变量DIR_1D
,DIR_2D
,DIR_3D
,但你的cd
命令使用DIR_1
,DIR_2
,DIR_3
。由于您没有设置这些变量,因此您运行的cd
没有参数,而cd
没有参数意味着cd "$HOME"
。