• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Mesa 3-D graphics library
2#
3# Copyright (C) 2010-2011 Chia-I Wu <olvaffe@gmail.com>
4# Copyright (C) 2010-2011 LunarG Inc.
5#
6# Permission is hereby granted, free of charge, to any person obtaining a
7# copy of this software and associated documentation files (the "Software"),
8# to deal in the Software without restriction, including without limitation
9# the rights to use, copy, modify, merge, publish, distribute, sublicense,
10# and/or sell copies of the Software, and to permit persons to whom the
11# Software is furnished to do so, subject to the following conditions:
12#
13# The above copyright notice and this permission notice shall be included
14# in all copies or substantial portions of the Software.
15#
16# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
19# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22# DEALINGS IN THE SOFTWARE.
23
24ifeq ($(MESA_ENABLE_LLVM),true)
25
26LOCAL_PATH := $(call my-dir)
27
28# get C_SOURCES and GENERATED_SOURCES
29include $(LOCAL_PATH)/Makefile.sources
30
31include $(CLEAR_VARS)
32
33LOCAL_SRC_FILES := $(C_SOURCES)
34
35LOCAL_CFLAGS += -DFORCE_BUILD_AMDGPU   # instructs LLVM to declare LLVMInitializeAMDGPU* functions
36
37LOCAL_MODULE_CLASS := STATIC_LIBRARIES
38
39LOCAL_C_INCLUDES := \
40	$(MESA_TOP)/src/amd/common \
41	$(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_amd_common,,)/common \
42	$(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_nir,,)/nir
43
44LOCAL_STATIC_LIBRARIES := libmesa_amd_common
45
46LOCAL_SHARED_LIBRARIES := libdrm_radeon
47LOCAL_MODULE := libmesa_pipe_radeonsi
48
49intermediates := $(call local-generated-sources-dir)
50
51LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/radeonsi/,$(GENERATED_SOURCES))
52
53GEN_DRIINFO_INPUTS := \
54	$(MESA_TOP)/src/gallium/auxiliary/pipe-loader/driinfo_gallium.h \
55	$(LOCAL_PATH)/driinfo_radeonsi.h
56
57MERGE_DRIINFO := $(MESA_TOP)/src/util/merge_driinfo.py
58
59$(intermediates)/radeonsi/si_driinfo.h: $(MERGE_DRIINFO) $(GEN_DRIINFO_INPUTS)
60	@mkdir -p $(dir $@)
61	@echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
62	$(hide) $(MESA_PYTHON2) $(MERGE_DRIINFO) $(GEN_DRIINFO_INPUTS) > $@ || ($(RM) $@; false)
63
64LOCAL_EXPORT_C_INCLUDE_DIRS := $(intermediates)
65
66$(call mesa-build-with-llvm)
67
68include $(GALLIUM_COMMON_MK)
69include $(BUILD_STATIC_LIBRARY)
70
71ifneq ($(HAVE_GALLIUM_RADEONSI),)
72GALLIUM_TARGET_DRIVERS += radeonsi
73$(eval GALLIUM_LIBS += \
74	$(LOCAL_MODULE) \
75	$(LOCAL_STATIC_LIBRARIES) \
76	libmesa_winsys_radeon \
77	libmesa_winsys_amdgpu)
78$(eval GALLIUM_SHARED_LIBS += $(LOCAL_SHARED_LIBRARIES))
79endif
80
81endif # MESA_ENABLE_LLVM==true
82