Makefile评估,包括和加载

Makefile评估,包括和加载,makefile,gnu,Makefile,Gnu,假设我在Make的include路径上的目录a中有一个名为Bar的Makefile load ./foo.so 我在目录B中还有一个Makefile include Bar include正在成功,但这是一个转储拷贝粘贴,而不是我想要的。我希望Bar中的加载停止,然后当我包含它时,就好像我拥有foo.so提供的可用功能一样 我也在文件栏里试过 path := ${shell pwd}/foo.so load ${path} 但这也不起作用,因为它得到的pwd来自目录B,但我希望它位于目录

假设我在Make的include路径上的目录a中有一个名为Bar的Makefile

load ./foo.so
我在目录B中还有一个Makefile

include Bar
include正在成功,但这是一个转储拷贝粘贴,而不是我想要的。我希望
Bar
中的加载停止,然后当我包含它时,就好像我拥有foo.so提供的可用功能一样

我也在文件栏里试过

path := ${shell pwd}/foo.so

load ${path}

但这也不起作用,因为它得到的pwd来自目录B,但我希望它位于目录A中。

load
不是Make函数,
load./foo。因此
不是有效的Make语法,如果
foo.so
是共享对象库,那么您希望Make如何处理它包含的函数?我的猜测是,您希望链接器可以在命令中使用
foo.so
,但如果是这样,那么这是错误的方法。这就是你想做的吗?
A
是默认包含目录之一,还是您添加了它?您是否尝试加载。/foo.so。这是有效的make语法,我确实解决了我的问题,尽管使用了符号链接。我得到了纠正。我不熟悉此功能,但我认为它是“技术预览”扩展。您从哪个目录调用
make
命令?A和B目录如何相互关联?A是B的子目录吗?A、B是完全不相关的目录。我从B目录调用make。