我的包含文件使用以下内容引用了许多其他make文件:
include Enablers/MSRP/Android.mk
问题是引用所有其他makefile的make文件在子文件夹中很深,或者换句话说,正确的路径类似于:
include ../../../../../Enablers/MSRP/Android.mk
为了让我构建我的makefile,我必须添加../../../../ ..来制作搜索路径:
ndk-build -I../../../../.. -j8 other params...
(ndk-build是android buildystem上gnu make的包装器,它相当于make build-local.mk其他参数)
那么,我该怎么做才能避免添加../../../../..
来制作搜索路径?我可以去makefile并更新所有makefile include语句,但我正在寻找在makefile顶部添加额外include路径的方法。类似的东西:
makeincludepaht += include Enablers/MSRP/Android.mk
include Enablers/MSRP/Android.mk
...
答案 0 :(得分:3)
将新的包含路径附加到标准搜索路径:
.INCLUDE_DIRS += ../../..
Look at the end of the Special Variables section for the .INCLUDE_DIRS
special variable.
答案 1 :(得分:0)
我不熟悉ndk-build,但我有类似的设置。我只是在make中设置一个包含此路径的变量,然后在我的所有包含中使用该变量
makefile:
INCLUDE_TOP=../../../../..
include $(INCLUDE_TOP)/someDir/includes.mk
然后,您还可以在includes.mk中使用INCLUDE_TOP来处理所有路径。通过在那里有条件地设置,通常最好使其默认为某个值
includes.mk:
# will only set if not already set
INCLUDE_TOP ?= ./
HEADERS=$(INCLUDE_TOP)/headers