1 # Mesa 3-D graphics library
3 # Copyright (C) 2010-2011 Chia-I Wu <olvaffe@gmail.com>
4 # Copyright (C) 2010-2011 LunarG Inc.
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:
13 # The above copyright notice and this permission notice shall be included
14 # in all copies or substantial portions of the Software.
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.
24 ifeq ($(MESA_ENABLE_LLVM
),true
)
26 LOCAL_PATH
:= $(call my-dir
)
28 # get C_SOURCES and GENERATED_SOURCES
29 include $(LOCAL_PATH
)/Makefile.sources
33 LOCAL_SRC_FILES
:= $(C_SOURCES
)
35 LOCAL_CFLAGS
+= -DFORCE_BUILD_AMDGPU
# instructs LLVM to declare LLVMInitializeAMDGPU* functions
37 LOCAL_MODULE_CLASS
:= STATIC_LIBRARIES
40 $(MESA_TOP
)/src
/amd
/common \
41 $(MESA_TOP
)/src
/amd
/llvm \
42 $(call generated-sources-dir-for
,STATIC_LIBRARIES
,libmesa_amd_common
,,)/common \
43 $(call generated-sources-dir-for
,STATIC_LIBRARIES
,libmesa_nir
,,)/nir
45 LOCAL_STATIC_LIBRARIES
:= \
49 LOCAL_SHARED_LIBRARIES
:= libdrm_radeon
50 LOCAL_MODULE
:= libmesa_pipe_radeonsi
52 intermediates
:= $(call local-generated-sources-dir
)
54 # We need to get NIR's generated headers.
55 LOCAL_GENERATED_SOURCES
:= $(MESA_GEN_NIR_H
)
56 LOCAL_GENERATED_SOURCES
+= $(addprefix $(intermediates
)/radeonsi
/,$(GENERATED_SOURCES
))
58 GEN_DRIINFO_INPUTS
:= \
59 $(MESA_TOP
)/src
/gallium
/auxiliary
/pipe-loader
/driinfo_gallium.h \
60 $(LOCAL_PATH
)/driinfo_radeonsi.h
62 MERGE_DRIINFO
:= $(MESA_TOP
)/src
/util
/merge_driinfo.py
64 $(intermediates
)/radeonsi
/si_driinfo.h
: $(MERGE_DRIINFO
) $(GEN_DRIINFO_INPUTS
)
66 @echo
"Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
67 $(hide
) $(MESA_PYTHON2
) $(MERGE_DRIINFO
) $(GEN_DRIINFO_INPUTS
) > $@ ||
($(RM
) $@
; false
)
69 LOCAL_C_INCLUDES
+= $(intermediates
)/radeonsi
71 LOCAL_EXPORT_C_INCLUDE_DIRS
:= $(intermediates
)
73 $(call mesa-build-with-llvm
)
75 include $(GALLIUM_COMMON_MK
)
76 include $(BUILD_STATIC_LIBRARY
)
78 ifneq ($(HAVE_GALLIUM_RADEONSI
),)
79 GALLIUM_TARGET_DRIVERS
+= radeonsi
80 $(eval GALLIUM_LIBS
+= \
82 $(LOCAL_STATIC_LIBRARIES
) \
83 libmesa_winsys_radeon \
84 libmesa_winsys_amdgpu
)
85 $(eval GALLIUM_SHARED_LIBS
+= $(LOCAL_SHARED_LIBRARIES
))
88 endif # MESA_ENABLE_LLVM==true