自动工具:makefiles之间的共享数据

自动工具:makefiles之间的共享数据,makefile,autotools,Makefile,Autotools,这是我的项目树结构: srcdir/Makefile\u parent.make srcdir/src/Makefile\u src.make srcdir/data/Makefile\u data.make srcdir/other/Makefile_other.make 我的问题是如何从我的“Makefile\u parent.make”传递一个在子Makefile中可读的值。我有: Makefile\u parent.make 稍后,我想从其他makefiles中读取它,例如: Makef

这是我的项目树结构:

srcdir/Makefile\u parent.make
srcdir/src/Makefile\u src.make
srcdir/data/Makefile\u data.make
srcdir/other/Makefile_other.make

我的问题是如何从我的“Makefile\u parent.make”传递一个在子Makefile中可读的值。我有:

Makefile\u parent.make
稍后,我想从其他makefiles中读取它,例如:

Makefile_src.make
但是不工作总是空的。有什么想法吗?

在Makefile\u src.make中,您需要在文件顶部添加以下行:

include Makefile_parent.make
然后存在多次包含同一makefile的问题。解决方案(类似于头文件中的#ifndef;))


您需要为您认为可能包含的每个makefile执行此操作,并为每个文件使用不同的变量名。

您是否有
makefile.am
?这怎么会是一个自动工具的问题?
GetParentData = $(ParentData)
include Makefile_parent.make
ifndef MAKEFILE_PARENT_MAKE
MAKEFILE_PARENT_MAKE := 1

...
...
...
...

endif