【发布时间】:2011-11-18 20:32:51
【问题描述】:
我正在处理一个 Android.mk 文件,其中对于单个模块,其中一个文件需要不同的 CPPFLAGS;即需要启用-frtti,而其他需要Android默认的-fno-rtti。
显而易见的解决方案是target-specific variables,但奇怪的是,它们似乎并没有影响编译,即使为了确保值应该在正确的时间修复而进行了一些调整。
这是我的 Android.mk 的摘录(更改名称以保护我):
LOCAL_MODULE := foo_bar
LOCAL_SRC_FILES := \
foo_bar.cpp \
foo_baz.cpp
my_intermediates:= $(local-intermediates-dir)/foo_baz.o
$(my_intermediates): LOCAL_CPPFLAGS := -frtti
我尝试过简单地用foo_baz.o: 代替$(my_intermediates),并尝试用+= 代替:= 以保持不变。
那么,有没有一种特定于 Android 的方法来覆盖特定源文件的 CPPFLAGS(或 CFLAGS)?
(在这种情况下,我使用的是 Eclair Android 源,尽管它可能适用于 NDK;请参阅下面的答案。)
【问题讨论】:
-
似乎
local-intermediates-dir宏不见了(我有 NDK r9b)。替代品会是什么? -
找到替代品了吗?
标签: android makefile android-ndk android-source