1e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang#
2e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# Copyright (C) 2010 The Android Open Source Project
3e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang#
4e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# Licensed under the Apache License, Version 2.0 (the "License");
5e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# you may not use this file except in compliance with the License.
6e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# You may obtain a copy of the License at
7e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang#
8e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang#      http://www.apache.org/licenses/LICENSE-2.0
9e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang#
10e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# Unless required by applicable law or agreed to in writing, software
11e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# distributed under the License is distributed on an "AS IS" BASIS,
12e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# See the License for the specific language governing permissions and
14e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# limitations under the License.
15e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang#
16a20a2fdbf5baedc7fac36707e1e052e1697f52a1Ying Wang
17a20a2fdbf5baedc7fac36707e1e052e1697f52a1Ying Wang# The prebuilt tools should be used when we are doing app-only build.
18a20a2fdbf5baedc7fac36707e1e052e1697f52a1Ying Wangifeq ($(TARGET_BUILD_APPS),)
19a20a2fdbf5baedc7fac36707e1e052e1697f52a1Ying Wang
20462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei LiaoLOCAL_PATH := $(call my-dir)
21462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao
229be9360d8e02b52ed669afbd69f9becb575c3f0dAlex Sakhartchouklocal_cflags_for_slang := -Wno-sign-promo -Wall -Wno-unused-parameter -Werror
239be9360d8e02b52ed669afbd69f9becb575c3f0dAlex Sakhartchoukifneq ($(TARGET_BUILD_VARIANT),eng)
249be9360d8e02b52ed669afbd69f9becb575c3f0dAlex Sakhartchouklocal_cflags_for_slang += -D__DISABLE_ASSERTS
259be9360d8e02b52ed669afbd69f9becb575c3f0dAlex Sakhartchoukendif
26ba7c6dc08e1ab8486ccaf842e8ae87dc5c99d8cfStephen Hineslocal_cflags_for_slang += -DTARGET_BUILD_VARIANT=$(TARGET_BUILD_VARIANT)
279be9360d8e02b52ed669afbd69f9becb575c3f0dAlex Sakhartchouk
286b201eb3306b9609a991728a52ce948974bd4aedStephen Hinesifeq "REL" "$(PLATFORM_VERSION_CODENAME)"
296b201eb3306b9609a991728a52ce948974bd4aedStephen Hines  RS_VERSION := $(PLATFORM_SDK_VERSION)
306b201eb3306b9609a991728a52ce948974bd4aedStephen Hineselse
316b201eb3306b9609a991728a52ce948974bd4aedStephen Hines  # Increment by 1 whenever this is not a final release build, since we want to
326b201eb3306b9609a991728a52ce948974bd4aedStephen Hines  # be able to see the RS version number change during development.
336b201eb3306b9609a991728a52ce948974bd4aedStephen Hines  # See build/core/version_defaults.mk for more information about this.
346b201eb3306b9609a991728a52ce948974bd4aedStephen Hines  RS_VERSION := "(1 + $(PLATFORM_SDK_VERSION))"
356b201eb3306b9609a991728a52ce948974bd4aedStephen Hinesendif
362e35b136cc2434080fcd682d2f95e53a87675dd4Stephen Hineslocal_cflags_for_slang += -DRS_VERSION=$(RS_VERSION)
376b201eb3306b9609a991728a52ce948974bd4aedStephen Hines
38000c307d2115160200c4efa849d3e36c0267cd7aYing Wangstatic_libraries_needed_by_slang := \
39376dc03c6bb42050ddd8a56d1a3e3c6f5d6f6e1dStephen Hines	libclangParse \
40376dc03c6bb42050ddd8a56d1a3e3c6f5d6f6e1dStephen Hines	libclangSema \
41376dc03c6bb42050ddd8a56d1a3e3c6f5d6f6e1dStephen Hines	libclangAnalysis \
42376dc03c6bb42050ddd8a56d1a3e3c6f5d6f6e1dStephen Hines	libclangCodeGen \
43376dc03c6bb42050ddd8a56d1a3e3c6f5d6f6e1dStephen Hines	libclangAST \
44376dc03c6bb42050ddd8a56d1a3e3c6f5d6f6e1dStephen Hines	libclangLex \
45376dc03c6bb42050ddd8a56d1a3e3c6f5d6f6e1dStephen Hines	libclangEdit \
46376dc03c6bb42050ddd8a56d1a3e3c6f5d6f6e1dStephen Hines	libclangFrontend \
47376dc03c6bb42050ddd8a56d1a3e3c6f5d6f6e1dStephen Hines	libclangBasic \
48376dc03c6bb42050ddd8a56d1a3e3c6f5d6f6e1dStephen Hines	libclangSerialization \
499207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMLinker \
509207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMipo \
519207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMBitWriter \
529207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMBitWriter_2_9 \
539b044ec938fd56355012851890c63974c8042c9fStephen Hines	libLLVMBitWriter_2_9_func \
549207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMBitReader \
559207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMARMCodeGen \
56376dc03c6bb42050ddd8a56d1a3e3c6f5d6f6e1dStephen Hines	libLLVMARMAsmParser \
579207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMARMAsmPrinter \
589207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMARMInfo \
599207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMARMDesc \
609207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMX86CodeGen \
619207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMX86Info \
629207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMX86Desc \
63376dc03c6bb42050ddd8a56d1a3e3c6f5d6f6e1dStephen Hines	libLLVMX86AsmParser \
649207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMX86AsmPrinter \
659207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMX86Utils \
66376dc03c6bb42050ddd8a56d1a3e3c6f5d6f6e1dStephen Hines	libLLVMMipsCodeGen \
67376dc03c6bb42050ddd8a56d1a3e3c6f5d6f6e1dStephen Hines	libLLVMMipsInfo \
68376dc03c6bb42050ddd8a56d1a3e3c6f5d6f6e1dStephen Hines	libLLVMMipsDesc \
69376dc03c6bb42050ddd8a56d1a3e3c6f5d6f6e1dStephen Hines	libLLVMMipsAsmParser \
70376dc03c6bb42050ddd8a56d1a3e3c6f5d6f6e1dStephen Hines	libLLVMMipsAsmPrinter \
719207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMAsmPrinter \
729207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMSelectionDAG \
739207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMCodeGen \
749207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMScalarOpts \
759207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMInstCombine \
769207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMInstrumentation \
7743730fe3c839af391efe6bdf56b0479860121924Shih-wei Liao	libLLVMTransformUtils \
789207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMipa \
799207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMAnalysis \
809207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMTarget \
819207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMMC \
829207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMMCParser \
839207a2e495c8363606861e4f034504ec5c153dabLogan Chien	libLLVMCore \
84376dc03c6bb42050ddd8a56d1a3e3c6f5d6f6e1dStephen Hines	libLLVMArchive \
85376dc03c6bb42050ddd8a56d1a3e3c6f5d6f6e1dStephen Hines	libLLVMAsmParser \
860444de0c0e7cfc8d8f8fed6f64cd97812bdd6a41Stephen Hines	libLLVMSupport \
870444de0c0e7cfc8d8f8fed6f64cd97812bdd6a41Stephen Hines	libLLVMVectorize
88835a7b773631261b9ea2fb448a4c8a7a8cacfaabShih-wei Liao
89000c307d2115160200c4efa849d3e36c0267cd7aYing Wang# Static library libslang for host
90000c307d2115160200c4efa849d3e36c0267cd7aYing Wang# ========================================================
91000c307d2115160200c4efa849d3e36c0267cd7aYing Wanginclude $(CLEAR_VARS)
92000c307d2115160200c4efa849d3e36c0267cd7aYing Wanginclude $(CLEAR_TBLGEN_VARS)
93000c307d2115160200c4efa849d3e36c0267cd7aYing Wang
94000c307d2115160200c4efa849d3e36c0267cd7aYing WangLLVM_ROOT_PATH := external/llvm
95000c307d2115160200c4efa849d3e36c0267cd7aYing WangCLANG_ROOT_PATH := external/clang
96000c307d2115160200c4efa849d3e36c0267cd7aYing Wang
97000c307d2115160200c4efa849d3e36c0267cd7aYing Wanginclude $(CLANG_ROOT_PATH)/clang.mk
98000c307d2115160200c4efa849d3e36c0267cd7aYing Wang
99000c307d2115160200c4efa849d3e36c0267cd7aYing WangLOCAL_MODULE := libslang
100000c307d2115160200c4efa849d3e36c0267cd7aYing WangLOCAL_MODULE_TAGS := optional
101000c307d2115160200c4efa849d3e36c0267cd7aYing Wang
1029be9360d8e02b52ed669afbd69f9becb575c3f0dAlex SakhartchoukLOCAL_CFLAGS += $(local_cflags_for_slang)
103000c307d2115160200c4efa849d3e36c0267cd7aYing Wang
104000c307d2115160200c4efa849d3e36c0267cd7aYing WangTBLGEN_TABLES :=    \
105000c307d2115160200c4efa849d3e36c0267cd7aYing Wang	AttrList.inc	\
106000c307d2115160200c4efa849d3e36c0267cd7aYing Wang	Attrs.inc	\
10743730fe3c839af391efe6bdf56b0479860121924Shih-wei Liao	CommentNodes.inc \
108000c307d2115160200c4efa849d3e36c0267cd7aYing Wang	DeclNodes.inc	\
109000c307d2115160200c4efa849d3e36c0267cd7aYing Wang	DiagnosticCommonKinds.inc	\
110000c307d2115160200c4efa849d3e36c0267cd7aYing Wang	DiagnosticFrontendKinds.inc	\
111000c307d2115160200c4efa849d3e36c0267cd7aYing Wang	DiagnosticSemaKinds.inc	\
112000c307d2115160200c4efa849d3e36c0267cd7aYing Wang	StmtNodes.inc
113000c307d2115160200c4efa849d3e36c0267cd7aYing Wang
114000c307d2115160200c4efa849d3e36c0267cd7aYing WangLOCAL_SRC_FILES :=	\
115000c307d2115160200c4efa849d3e36c0267cd7aYing Wang	slang.cpp	\
116000c307d2115160200c4efa849d3e36c0267cd7aYing Wang	slang_utils.cpp	\
117000c307d2115160200c4efa849d3e36c0267cd7aYing Wang	slang_backend.cpp	\
118000c307d2115160200c4efa849d3e36c0267cd7aYing Wang	slang_pragma_recorder.cpp	\
119000c307d2115160200c4efa849d3e36c0267cd7aYing Wang	slang_diagnostic_buffer.cpp
120000c307d2115160200c4efa849d3e36c0267cd7aYing Wang
1215e6d0d5a911fff0b7b4bce216a213a4cf8a811f5Stephen HinesLOCAL_C_INCLUDES += frameworks/compile/libbcc/include
1225e6d0d5a911fff0b7b4bce216a213a4cf8a811f5Stephen Hines
123835a7b773631261b9ea2fb448a4c8a7a8cacfaabShih-wei LiaoLOCAL_LDLIBS := -ldl -lpthread
124835a7b773631261b9ea2fb448a4c8a7a8cacfaabShih-wei Liao
12508df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Changinclude $(CLANG_HOST_BUILD_MK)
12608df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Changinclude $(CLANG_TBLGEN_RULES_MK)
12708df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Changinclude $(LLVM_GEN_INTRINSICS_MK)
128e2201c0362dd68c316cec670e1607b1d3d77c5c5Ying Wanginclude $(BUILD_HOST_STATIC_LIBRARY)
12908df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Chang
130a02010cd90184a9c1be7b451fe32e114ffb1810fZonr Chang# Host static library containing rslib.bc
131a02010cd90184a9c1be7b451fe32e114ffb1810fZonr Chang# ========================================================
132a02010cd90184a9c1be7b451fe32e114ffb1810fZonr Changinclude $(CLEAR_VARS)
133a02010cd90184a9c1be7b451fe32e114ffb1810fZonr Chang
134a02010cd90184a9c1be7b451fe32e114ffb1810fZonr Changinput_data_file := frameworks/compile/slang/rslib.bc
135a02010cd90184a9c1be7b451fe32e114ffb1810fZonr Changslangdata_output_var_name := rslib_bc
136a02010cd90184a9c1be7b451fe32e114ffb1810fZonr Chang
137a02010cd90184a9c1be7b451fe32e114ffb1810fZonr ChangLOCAL_IS_HOST_MODULE := true
138a02010cd90184a9c1be7b451fe32e114ffb1810fZonr ChangLOCAL_MODULE := librslib
139a02010cd90184a9c1be7b451fe32e114ffb1810fZonr ChangLOCAL_MODULE_TAGS := optional
140a02010cd90184a9c1be7b451fe32e114ffb1810fZonr Chang
1415dee956d928e5fdf4ab1ad4b83460d00bc885a6eShih-wei LiaoLOCAL_MODULE_CLASS := STATIC_LIBRARIES
14299230217c5ef626487610b4b387d62158c06ae7bShih-wei Liao
143a02010cd90184a9c1be7b451fe32e114ffb1810fZonr Changinclude $(LOCAL_PATH)/SlangData.mk
1445dee956d928e5fdf4ab1ad4b83460d00bc885a6eShih-wei Liaoinclude $(BUILD_HOST_STATIC_LIBRARY)
1459901f89f9dc9648c3837711d6e9234bd3a985151Shih-wei Liao
1469901f89f9dc9648c3837711d6e9234bd3a985151Shih-wei Liao# Executable slang-data for host
1479901f89f9dc9648c3837711d6e9234bd3a985151Shih-wei Liao# ========================================================
1489901f89f9dc9648c3837711d6e9234bd3a985151Shih-wei Liaoinclude $(CLEAR_VARS)
1499901f89f9dc9648c3837711d6e9234bd3a985151Shih-wei Liao
1509901f89f9dc9648c3837711d6e9234bd3a985151Shih-wei LiaoLOCAL_MODULE := slang-data
1519901f89f9dc9648c3837711d6e9234bd3a985151Shih-wei LiaoLOCAL_MODULE_TAGS := optional
1529901f89f9dc9648c3837711d6e9234bd3a985151Shih-wei Liao
1539901f89f9dc9648c3837711d6e9234bd3a985151Shih-wei LiaoLOCAL_MODULE_CLASS := EXECUTABLES
1549901f89f9dc9648c3837711d6e9234bd3a985151Shih-wei Liao
1559901f89f9dc9648c3837711d6e9234bd3a985151Shih-wei LiaoLOCAL_SRC_FILES := slang-data.c
1569901f89f9dc9648c3837711d6e9234bd3a985151Shih-wei Liao
1579901f89f9dc9648c3837711d6e9234bd3a985151Shih-wei Liaoinclude $(BUILD_HOST_EXECUTABLE)
158a02010cd90184a9c1be7b451fe32e114ffb1810fZonr Chang
15908df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Chang# Executable llvm-rs-link for host
16008df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Chang# ========================================================
16108df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Changinclude $(CLEAR_VARS)
16208df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Changinclude $(CLEAR_TBLGEN_VARS)
16308df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Chang
16408df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Changinclude $(LLVM_ROOT_PATH)/llvm.mk
16508df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Chang
16608df36e5c0a990306d958c9f6d59a5de23b748f6Zonr ChangLOCAL_MODULE := llvm-rs-link
167a02010cd90184a9c1be7b451fe32e114ffb1810fZonr ChangLOCAL_MODULE_TAGS := optional
16808df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Chang
16908df36e5c0a990306d958c9f6d59a5de23b748f6Zonr ChangLOCAL_MODULE_CLASS := EXECUTABLES
17008df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Chang
17108df36e5c0a990306d958c9f6d59a5de23b748f6Zonr ChangLOCAL_SRC_FILES :=	\
17208df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Chang	llvm-rs-link.cpp
17308df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Chang
174a02010cd90184a9c1be7b451fe32e114ffb1810fZonr ChangLOCAL_STATIC_LIBRARIES :=	\
175000c307d2115160200c4efa849d3e36c0267cd7aYing Wang	librslib libslang \
176000c307d2115160200c4efa849d3e36c0267cd7aYing Wang	$(static_libraries_needed_by_slang)
177a02010cd90184a9c1be7b451fe32e114ffb1810fZonr Chang
17808df36e5c0a990306d958c9f6d59a5de23b748f6Zonr ChangLOCAL_LDLIBS := -ldl -lpthread
17908df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Chang
180835a7b773631261b9ea2fb448a4c8a7a8cacfaabShih-wei Liaoinclude $(LLVM_HOST_BUILD_MK)
181835a7b773631261b9ea2fb448a4c8a7a8cacfaabShih-wei Liaoinclude $(LLVM_GEN_INTRINSICS_MK)
182835a7b773631261b9ea2fb448a4c8a7a8cacfaabShih-wei Liaoinclude $(BUILD_HOST_EXECUTABLE)
183835a7b773631261b9ea2fb448a4c8a7a8cacfaabShih-wei Liao
184a65ec168e41e3ee9c6e8ac04cde694bbbfc2590aZonr Chang# Executable rs-spec-gen for host
185a65ec168e41e3ee9c6e8ac04cde694bbbfc2590aZonr Chang# ========================================================
186a65ec168e41e3ee9c6e8ac04cde694bbbfc2590aZonr Changinclude $(CLEAR_VARS)
187a65ec168e41e3ee9c6e8ac04cde694bbbfc2590aZonr Chang
188a65ec168e41e3ee9c6e8ac04cde694bbbfc2590aZonr ChangLOCAL_MODULE := rs-spec-gen
189a65ec168e41e3ee9c6e8ac04cde694bbbfc2590aZonr ChangLOCAL_MODULE_TAGS := optional
190a65ec168e41e3ee9c6e8ac04cde694bbbfc2590aZonr Chang
191a65ec168e41e3ee9c6e8ac04cde694bbbfc2590aZonr ChangLOCAL_MODULE_CLASS := EXECUTABLES
192a65ec168e41e3ee9c6e8ac04cde694bbbfc2590aZonr Chang
193a65ec168e41e3ee9c6e8ac04cde694bbbfc2590aZonr ChangLOCAL_SRC_FILES :=	\
194a65ec168e41e3ee9c6e8ac04cde694bbbfc2590aZonr Chang	slang_rs_spec_table.cpp
195a65ec168e41e3ee9c6e8ac04cde694bbbfc2590aZonr Chang
196a65ec168e41e3ee9c6e8ac04cde694bbbfc2590aZonr Changinclude $(BUILD_HOST_EXECUTABLE)
197a65ec168e41e3ee9c6e8ac04cde694bbbfc2590aZonr Chang
198ffa58bb392b79944a1cc23b0d41cbef9a34f8c2eShih-wei Liao# Executable llvm-rs-cc for host
199835a7b773631261b9ea2fb448a4c8a7a8cacfaabShih-wei Liao# ========================================================
200835a7b773631261b9ea2fb448a4c8a7a8cacfaabShih-wei Liaoinclude $(CLEAR_VARS)
201835a7b773631261b9ea2fb448a4c8a7a8cacfaabShih-wei Liaoinclude $(CLEAR_TBLGEN_VARS)
202835a7b773631261b9ea2fb448a4c8a7a8cacfaabShih-wei Liao
203b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei LiaoLOCAL_IS_HOST_MODULE := true
204b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei LiaoLOCAL_MODULE := llvm-rs-cc
205b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei LiaoLOCAL_MODULE_TAGS := optional
206462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao
207bdd788877b3f18980836a3ed0d46627169483653Shih-wei LiaoLOCAL_MODULE_CLASS := EXECUTABLES
208bdd788877b3f18980836a3ed0d46627169483653Shih-wei Liao
2099be9360d8e02b52ed669afbd69f9becb575c3f0dAlex SakhartchoukLOCAL_CFLAGS += $(local_cflags_for_slang)
210cecd11d2af5d45d8ba322bed61fb48a99c305528Shih-wei Liao
211462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei LiaoTBLGEN_TABLES :=    \
212f52a620440fa62257dfdcf2583f0f9df5b855c76Shih-wei Liao	AttrList.inc    \
213f52a620440fa62257dfdcf2583f0f9df5b855c76Shih-wei Liao	Attrs.inc    \
21443730fe3c839af391efe6bdf56b0479860121924Shih-wei Liao	CommentNodes.inc \
215f52a620440fa62257dfdcf2583f0f9df5b855c76Shih-wei Liao	DeclNodes.inc    \
216f52a620440fa62257dfdcf2583f0f9df5b855c76Shih-wei Liao	DiagnosticCommonKinds.inc   \
217b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao	DiagnosticDriverKinds.inc	\
218cf6af6abc1de499920571308b14a27e19cf57097Zonr Chang	DiagnosticFrontendKinds.inc	\
219b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao	DiagnosticSemaKinds.inc	\
22092b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang	StmtNodes.inc	\
221b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao	RSCCOptions.inc
222462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao
223a65ec168e41e3ee9c6e8ac04cde694bbbfc2590aZonr ChangRS_SPEC_TABLES :=	\
224a65ec168e41e3ee9c6e8ac04cde694bbbfc2590aZonr Chang	RSClangBuiltinEnums.inc	\
225a65ec168e41e3ee9c6e8ac04cde694bbbfc2590aZonr Chang	RSDataTypeEnums.inc	\
226a65ec168e41e3ee9c6e8ac04cde694bbbfc2590aZonr Chang	RSDataElementEnums.inc	\
227b1771ef128b10c4d4575634828006bfba20b1d9cZonr Chang	RSMatrixTypeEnums.inc	\
228a65ec168e41e3ee9c6e8ac04cde694bbbfc2590aZonr Chang	RSObjectTypeEnums.inc
229a65ec168e41e3ee9c6e8ac04cde694bbbfc2590aZonr Chang
230462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei LiaoLOCAL_SRC_FILES :=	\
231b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao	llvm-rs-cc.cpp	\
2323a9ca1f0d6bd8f12c2bb2adea51f95c255996180Zonr Chang	slang_rs.cpp	\
233292e00a0259ac28cac1055cb6077cf6fc7c6743cStephen Hines	slang_rs_ast_replace.cpp	\
23411274a7324b478ec13e1d10a1b81350b34a65ab1Stephen Hines	slang_rs_check_ast.cpp	\
235462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao	slang_rs_context.cpp	\
236462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao	slang_rs_pragma_handler.cpp	\
237462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao	slang_rs_backend.cpp	\
238641558f02fe6ce0ee3ae5076eb366c25e2ad5903Zonr Chang	slang_rs_exportable.cpp	\
239462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao	slang_rs_export_type.cpp	\
240462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao	slang_rs_export_element.cpp	\
241462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao	slang_rs_export_var.cpp	\
242462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao	slang_rs_export_func.cpp	\
243593a894650e81be54173106ec266f0311cebebd3Stephen Hines	slang_rs_export_foreach.cpp \
2444b32ffdfc1ac766f8932e7effbcdf7484e804a8eStephen Hines	slang_rs_object_ref_count.cpp	\
2453f8b44dba57685b437cecc208f2a20a4ed93ed36Ying Wang	slang_rs_reflection.cpp \
2461b6a0883cd6984e11e59b0c847fb334df1f41afcJason Sams	slang_rs_reflection_base.cpp \
2471b6a0883cd6984e11e59b0c847fb334df1f41afcJason Sams	slang_rs_reflection_cpp.cpp \
2481b6a0883cd6984e11e59b0c847fb334df1f41afcJason Sams	slang_rs_reflect_utils.cpp
249462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao
250462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei LiaoLOCAL_STATIC_LIBRARIES :=	\
251000c307d2115160200c4efa849d3e36c0267cd7aYing Wang	libclangDriver libslang \
252000c307d2115160200c4efa849d3e36c0267cd7aYing Wang	$(static_libraries_needed_by_slang)
253e2201c0362dd68c316cec670e1607b1d3d77c5c5Ying Wang
25411e2b93b206dbb401077d1fa39b1bcdc6de4d986Raphaelifeq ($(HOST_OS),windows)
25511e2b93b206dbb401077d1fa39b1bcdc6de4d986Raphael  LOCAL_LDLIBS := -limagehlp -lpsapi
25611e2b93b206dbb401077d1fa39b1bcdc6de4d986Raphaelelse
25711e2b93b206dbb401077d1fa39b1bcdc6de4d986Raphael  LOCAL_LDLIBS := -ldl -lpthread
25811e2b93b206dbb401077d1fa39b1bcdc6de4d986Raphaelendif
259462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao
260b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao# For build RSCCOptions.inc from RSCCOptions.td
261b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liaointermediates := $(call local-intermediates-dir)
262b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei LiaoLOCAL_GENERATED_SOURCES += $(intermediates)/RSCCOptions.inc
263f612c7a8b96793e0161a54f449ceb0551b5c14a5Logan Chien$(intermediates)/RSCCOptions.inc: $(LOCAL_PATH)/RSCCOptions.td $(CLANG_ROOT_PATH)/include/clang/Driver/OptParser.td $(CLANG_TBLGEN)
264b7d1269f983f28d9fe625a96439fa88b39dc96f6Stephen Hines	@echo "Building Renderscript compiler (llvm-rs-cc) Option tables with tblgen"
2659207a2e495c8363606861e4f034504ec5c153dabLogan Chien	$(call transform-host-clang-td-to-out,opt-parser-defs)
266b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao
267a65ec168e41e3ee9c6e8ac04cde694bbbfc2590aZonr Changinclude frameworks/compile/slang/RSSpec.mk
268462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liaoinclude $(CLANG_HOST_BUILD_MK)
269462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liaoinclude $(CLANG_TBLGEN_RULES_MK)
270462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liaoinclude $(BUILD_HOST_EXECUTABLE)
271a20a2fdbf5baedc7fac36707e1e052e1697f52a1Ying Wang
272a20a2fdbf5baedc7fac36707e1e052e1697f52a1Ying Wangendif  # TARGET_BUILD_APPS
2734cc499d6e5ec602309501873449c938af61170b2Stephen Hines
2744cc499d6e5ec602309501873449c938af61170b2Stephen Hines#=====================================================================
2754cc499d6e5ec602309501873449c938af61170b2Stephen Hines# Include Subdirectories
2764cc499d6e5ec602309501873449c938af61170b2Stephen Hines#=====================================================================
2774cc499d6e5ec602309501873449c938af61170b2Stephen Hinesinclude $(call all-makefiles-under,$(LOCAL_PATH))
278