1# Copyright (C) 2019 Icenowy Zheng <icenowy@aosc.io>
2#
3# Permission is hereby granted, free of charge, to any person obtaining a
4# copy of this software and associated documentation files (the "Software"),
5# to deal in the Software without restriction, including without limitation
6# the rights to use, copy, modify, merge, publish, distribute, sublicense,
7# and/or sell copies of the Software, and to permit persons to whom the
8# Software is furnished to do so, subject to the following conditions:
9#
10# The above copyright notice and this permission notice shall be included
11# in all copies or substantial portions of the Software.
12#
13# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
16# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
19# DEALINGS IN THE SOFTWARE.
20
21LOCAL_PATH := $(call my-dir)
22
23include $(CLEAR_VARS)
24
25LOCAL_SRC_FILES := \
26	ir/gp/codegen.c \
27	ir/gp/codegen.h \
28	ir/gp/disasm.c \
29	ir/gp/gpir.h \
30	ir/gp/instr.c \
31	ir/gp/lower.c \
32	ir/gp/nir.c \
33	ir/gp/node.c \
34	ir/gp/optimize.c \
35	ir/gp/regalloc.c \
36	ir/gp/reduce_scheduler.c \
37	ir/gp/scheduler.c \
38	ir/lima_ir.h \
39	ir/lima_nir_duplicate_consts.c \
40	ir/lima_nir_duplicate_intrinsic.c \
41	ir/lima_nir_lower_uniform_to_scalar.c \
42	ir/lima_nir_split_load_input.c \
43	ir/pp/codegen.c \
44	ir/pp/codegen.h \
45	ir/pp/disasm.c \
46	ir/pp/instr.c \
47	ir/pp/lower.c \
48	ir/pp/nir.c \
49	ir/pp/node.c \
50	ir/pp/node_to_instr.c \
51	ir/pp/ppir.h \
52	ir/pp/regalloc.c \
53	ir/pp/liveness.c \
54	ir/pp/scheduler.c \
55	lima_bo.c \
56	lima_bo.h \
57	lima_context.c \
58	lima_context.h \
59	lima_draw.c \
60	lima_fence.c \
61	lima_fence.h \
62	lima_parser.c \
63	lima_parser.h \
64	lima_program.c \
65	lima_program.h \
66	lima_query.c \
67	lima_resource.c \
68	lima_resource.h \
69	lima_screen.c \
70	lima_screen.h \
71	lima_state.c \
72	lima_job.c \
73	lima_job.h \
74	lima_texture.c \
75	lima_texture.h \
76	lima_util.c \
77	lima_util.h \
78	lima_format.c \
79	lima_format.h \
80	lima_gpu.h
81
82LOCAL_MODULE := libmesa_pipe_lima
83LOCAL_LICENSE_KINDS := SPDX-license-identifier-MIT
84LOCAL_LICENSE_CONDITIONS := notice
85LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../../../LICENSE
86
87LOCAL_SHARED_LIBRARIES := libdrm
88
89LOCAL_STATIC_LIBRARIES := \
90	libmesa_nir \
91	libpanfrost_shared \
92
93LOCAL_MODULE_CLASS := STATIC_LIBRARIES
94
95intermediates := $(call local-generated-sources-dir)
96prebuilt_intermediates := $(MESA_TOP)/prebuilt-intermediates
97
98$(intermediates)/lima_nir_algebraic.c: $(prebuilt_intermediates)/lima/lima_nir_algebraic.c
99	@echo "target Generated: $(PRIVATE_MODULE) <= $(notdir $(@))"
100	@mkdir -p $(dir $@)
101	@cp -f $< $@
102
103LOCAL_GENERATED_SOURCES := \
104	$(intermediates)/lima_nir_algebraic.c \
105
106include $(GALLIUM_COMMON_MK)
107include $(BUILD_STATIC_LIBRARY)
108
109ifneq ($(HAVE_GALLIUM_LIMA),)
110GALLIUM_TARGET_DRIVERS += lima
111$(eval GALLIUM_LIBS += $(LOCAL_MODULE) libmesa_winsys_lima)
112$(eval GALLIUM_SHARED_LIBS += $(LOCAL_SHARED_LIBRARIES))
113endif
114