0

这是我的项目树结构:

srcdir/Makefile_parent.make
srcdir/src/Makefile_src.make
srcdir/data/Makefile_data.make
srcdir/other/Makefile_other.make

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

Makefile_parent.make

ParentData = foo
SUBDIRS = src data other

后来,我想从其他 makefile 中读取它,例如:

Makefile_src.make

GetParentData = $(ParentData)

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

4

1 回答 1

0

在您的 Makefile_src.make 中,您需要在文件顶部添加这一行:

include Makefile_parent.make

那么就会出现多次包含同一个makefile的问题。一个解决方案(类似于头文件中的#ifndef ;))

ifndef MAKEFILE_PARENT_MAKE
MAKEFILE_PARENT_MAKE := 1

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

endif

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

于 2013-01-31T21:32:09.050 回答