3

我的包含文件使用以下内容引用了许多其他 make 文件:

include Enablers/MSRP/Android.mk

问题是引用所有其他 makefile 的 make 文件位于子文件夹的深处,或者换句话说,正确的路径类似于:

include ../../../../../Enablers/MSRP/Android.mk

为了让我构建我的 makefile,我必须添加 ../../../../.. 来创建搜索路径:

ndk-build -I../../../../.. -j8 other params...

(ndk-build 是 android buildsystem 上 gnu make 的封装,相当于 make build-local.mk 其他参数)

那么,我该怎么做才能避免添加../../../../..to make 搜索路径?我可以去makefile并更新所有makefile包含语句,但我正在寻找在我的makefile顶部添加额外包含路径的方法。就像是:

makeincludepaht += include Enablers/MSRP/Android.mk
include Enablers/MSRP/Android.mk
...
4

2 回答 2

2

将新的包含路径附加到标准搜索路径:

.INCLUDE_DIRS += ../../..

查看特殊变量部分的末尾的.INCLUDE_DIRS特殊变量。

于 2013-01-10T06:13:18.223 回答
0

我不熟悉 ndk-build,但我有类似的设置。我只是在 make 中设置了一个包含此路径的变量,然后在我的所有包含中使用该变量。
makefile: 您也可以在 include.mk 中为所有路径使用 INCLUDE_TOP。通常最好通过有条件地设置使其默认为某个值。 包括.mk:
INCLUDE_TOP=../../../../..
include $(INCLUDE_TOP)/someDir/includes.mk



# will only set if not already set
INCLUDE_TOP ?= ./
HEADERS=$(INCLUDE_TOP)/headers

于 2012-10-24T17:17:20.683 回答