blob: 823209d8ad17bd2a8f687b37fc484eb4473ac57c [file] [log] [blame]
Colin Crossb7325c32014-02-04 16:26:26 -08001LOCAL_MODULE_TARGET_ARCH := $(LLVM_SUPPORTED_ARCH)
2
Stephen Hines36b56882014-04-23 16:57:46 -07003LOCAL_CLANG := true
4
Shih-wei Liaoe4454322010-04-07 12:21:42 -07005LOCAL_CFLAGS := \
Shih-wei Liaoe4454322010-04-07 12:21:42 -07006 -D_GNU_SOURCE \
Shih-wei Liaoa523d502012-07-17 15:05:00 -07007 -D__STDC_LIMIT_MACROS \
8 -D__STDC_CONSTANT_MACROS \
9 -D__STDC_FORMAT_MACROS \
Shih-wei Liaoe4454322010-04-07 12:21:42 -070010 -O2 \
11 -fomit-frame-pointer \
Shih-wei Liaoe4454322010-04-07 12:21:42 -070012 -Wall \
13 -W \
14 -Wno-unused-parameter \
15 -Wwrite-strings \
Stephen Hines36b56882014-04-23 16:57:46 -070016 -Dsprintf=sprintf \
Shih-wei Liaoe4454322010-04-07 12:21:42 -070017 $(LOCAL_CFLAGS)
18
Jing Yu7fa502c2010-12-07 16:21:00 -080019# The three inline options together reduce libbcc.so almost 1MB.
20# We move them from global build/core/combo/TARGET_linux-arm.mk
21# to here.
22LOCAL_CFLAGS := -DANDROID_TARGET_BUILD \
Jing Yu7fa502c2010-12-07 16:21:00 -080023 -finline-functions \
Jing Yu7fa502c2010-12-07 16:21:00 -080024 $(LOCAL_CFLAGS)
Ying Wang5183d482010-08-20 10:59:12 -070025
Daniel Malea369c4a42012-02-19 16:04:51 -050026ifeq ($(TARGET_BUILD_VARIANT),eng)
27LOCAL_CFLAGS := -DANDROID_ENGINEERING_BUILD \
28 $(LOCAL_CFLAGS)
29endif
30
Shih-wei Liao44ce4442010-05-04 03:19:48 -070031ifeq ($(LLVM_ENABLE_ASSERTION),true)
32LOCAL_CFLAGS := \
Stephen Hinesfd6aea22012-05-03 14:47:20 -070033 $(LOCAL_CFLAGS) \
Shih-wei Liao44ce4442010-05-04 03:19:48 -070034 -D_DEBUG \
Stephen Hinesfd6aea22012-05-03 14:47:20 -070035 -UNDEBUG
Shih-wei Liao44ce4442010-05-04 03:19:48 -070036endif
37
Shih-wei Liaoe4454322010-04-07 12:21:42 -070038ifneq ($(REQUIRES_EH),1)
39LOCAL_CFLAGS += -fno-exceptions
40else
Shih-wei Liaoc156bc62010-06-07 22:05:52 -070041# No action. The device target should not have exception enabled since bionic
Shih-wei Liaoe4454322010-04-07 12:21:42 -070042# doesn't support it
43REQUIRES_EH := 0
44endif
45
46ifneq ($(REQUIRES_RTTI),1)
Patrick Scottc3648862010-05-07 08:38:22 -040047LOCAL_CPPFLAGS += -fno-rtti
Shih-wei Liaoe4454322010-04-07 12:21:42 -070048else
49REQUIRES_RTTI := 0
50endif
51
Shih-wei Liao7abe37e2010-04-28 01:47:00 -070052LOCAL_CPPFLAGS := \
53 $(LOCAL_CPPFLAGS) \
jush4671b172011-02-28 17:18:20 +080054 -Woverloaded-virtual \
Stephen Hines36b56882014-04-23 16:57:46 -070055 -Wno-sign-promo \
56 -std=c++11
Shih-wei Liaoc156bc62010-06-07 22:05:52 -070057
Shih-wei Liaoe4454322010-04-07 12:21:42 -070058# Make sure bionic is first so we can include system headers.
59LOCAL_C_INCLUDES := \
Jeff Brown8aca4112011-07-11 22:12:00 -070060 bionic \
Shih-wei Liaoe4454322010-04-07 12:21:42 -070061 $(LLVM_ROOT_PATH) \
62 $(LLVM_ROOT_PATH)/include \
63 $(LLVM_ROOT_PATH)/device/include \
64 $(LOCAL_C_INCLUDES)
65
66###########################################################
67## Commands for running tblgen to compile a td file
68###########################################################
69define transform-device-td-to-out
70@mkdir -p $(dir $@)
Logan Chien56837862011-12-16 17:38:39 +080071@echo "Device TableGen (gen-$(1)): $(TBLGEN_LOCAL_MODULE) <= $<"
Stephen Hines7b17ef62014-06-03 18:31:47 -070072$(hide) $(LLVM_TBLGEN) \
Shih-wei Liaoe4454322010-04-07 12:21:42 -070073 -I $(dir $<) \
74 -I $(LLVM_ROOT_PATH)/include \
75 -I $(LLVM_ROOT_PATH)/device/include \
76 -I $(LLVM_ROOT_PATH)/lib/Target \
77 -gen-$(strip $(1)) \
Ying Wangca65f4e2011-05-24 11:20:36 -070078 -o $@ $<
Shih-wei Liaoe4454322010-04-07 12:21:42 -070079endef