我想创建一个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) $@)
更新:抱歉,愚蠢的拼写错误,已修复,谢谢
答案 0 :(得分:2)
您设置变量DIR_1D
,DIR_2D
,DIR_3D
,但您的cd
命令使用DIR_1
,DIR_2
,DIR_3
。由于您没有设置这些变量,因此您在没有参数的情况下运行cd
,而没有参数的cd
表示cd "$HOME"
。