一、Makefile路径结构
level_one
├─Makefile.param
└─level_two
├─Makefile.param
└─level_three
└─Makefile
二、文件内容
level_one路径下的Makefile.param
LEVEL_ONE=level_one
level_two路径下的Makefile.param
include ../../Makefile.param
LEVEL_TWO=level_two
level_three路径下的Makefile
include ../Makefile.param
all:
@echo $(LEVEL_ONE)
@echo $(LEVEL_TWO)
三、运行结果
[fly1000fans@localhost ~/source/makefiledir/level_one/level_two/level_three]$make
level_one
level_two
四、结论
Makefile中的文件包含是在包含文件中原样展开,所以对于相对路径来说,最底层路径为最终Makefile所在路径
PS:修改level_two下的Makefile.param的相对路径,如下:
include ../Makefile.param
LEVEL_TWO=level_two
执行结果为:
[fly1000fans@localhost ~/source/makefiledir/level_one/level_two/level_three]$make
../Makefile.param:1: *** Too many open files. Stop.
博客介绍了Makefile的路径结构,包含level_one、level_two和level_three层级,展示了各层级下的文件内容。通过运行得出结论,Makefile中的文件包含在包含文件中原样展开,相对路径以最终Makefile所在路径为最底层路径。

1150

被折叠的 条评论
为什么被折叠?



