我正在使用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:***食谱在第一个目标之前开始。停止。
答案 0 :(得分:0)
你的第二个问题是第15行最后缺少 \ ,因此第16行看起来像是新逻辑行的开头。由于它以标签开头,make
认为这是一个不合时宜的食谱。
对于您的第一个问题,既不使v3.81也不将最新的v4.1理解为-=
作为赋值运算符。