make [3.82] for Android源代码build

时间:2015-10-17 03:08:34

标签: android makefile

我正在使用Ubuntu(15.04)环境来构建android源代码。对于Android K版本,它需要Make版本为3.81或3.82,我使用3.82版本如下:

liny@liny:~/mine/$ make --version
GNU Make 3.82
Built for x86_64-unknown-linux-gnu
Copyright (C) 2010  Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

但是我得到了两个由Make引起的构建错误似乎并不支持某些功能,例如&#39; - =&#39;或定义功能,任何人都可以帮助检查它并告诉我make如何支持这些功能?非常感谢你的帮助。

场景1: 生成文件:

116 ifeq ($(LLVM_VER_31), 1)
117 LLVM_LLC_SOURCES -= \
118         $(LLVM_OXILIASMPRINTER_SRCS)
119 endif

错误: sc / sc.srcs.mk:117:***缺少分隔符。停止。

场景2: 生成文件:

12 libmmipl_cflags := -g -O3 \
13         $(CPU)
14         -Dlrintf=_ffix_r \
15         -D__alignx\(x\)=__attribute__\(\(__aligned__\(x\)\)\)
16         -D_POSIX_SOURCE \
17         -DPOSIX_C_SOURCE=199506L \

错误: ipl / Android.mk:16:***食谱在第一个目标之前开始。停止。

1 个答案:

答案 0 :(得分:0)

你的第二个问题是第15行最后缺少 \ ,因此第16行看起来像是新逻辑行的开头。由于它以标签开头,make认为这是一个不合时宜的食谱。

对于您的第一个问题,既不使v3.81也不将最新的v4.1理解为-=作为赋值运算符。