2013년 1월 28일 월요일

Makefile에서 "-=" 문제

android 4.1.1에서 busybox가 컴파일이 안된다.
문제는 -fno-strict-volatile-bitfields다.
4.2.1에서는 컴파일이 되는데 4.1.1에서는 안된다.

build/core/combo/TARGET_linux-arm.mk


120 # by turning off the builtin sin function.                          
121 ifneq ($(filter 4.6.%, $(shell $(TARGET_CC) --version)),)          
122 TARGET_GLOBAL_CFLAGS += -Wno-unused-but-set-variable -fno-builtin-sin \
123             -fno-strict-volatile-bitfields                                                          
124 endif                                                                  
125        


그래서 저 옵션만 끄면 되것 같아서 아래와 같이 해 보았다.

TARGET_GLOBAL_CFLAGS -= -fno-strict-volatile-bitfields

물론 -=가 될줄 알았는데 안된다.

그래서 할 수 없이 TARGET_GLOBAL_CFLAGS에서 -fno-strict-volatile-bitfields를 없애고 다른 변수를 선언하기로 했다.

TARGET_GLOBAL_CFLAGS2 := $(shell echo $(TARGET_GLOBAL_CFLAGS) | sed 's/-fno-strict-volatile-bitfields/ /g')