1# Mesa 3-D graphics library
2#
3# Copyright (C)
4#
5# Permission is hereby granted, free of charge, to any person obtaining a
6# copy of this software and associated documentation files (the "Software"),
7# to deal in the Software without restriction, including without limitation
8# the rights to use, copy, modify, merge, publish, distribute, sublicense,
9# and/or sell copies of the Software, and to permit persons to whom the
10# Software is furnished to do so, subject to the following conditions:
11#
12# The above copyright notice and this permission notice shall be included
13# in all copies or substantial portions of the Software.
14#
15# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21# DEALINGS IN THE SOFTWARE.
22
23# Android.mk for libfreedreno_registers.a
24
25# ---------------------------------------
26# Build libfreedreno_registers
27# ---------------------------------------
28
29include $(CLEAR_VARS)
30
31LOCAL_MODULE := libfreedreno_registers
32
33LOCAL_MODULE_CLASS := STATIC_LIBRARIES
34
35intermediates := $(call local-generated-sources-dir)
36
37# dummy.c source file is generated to meet the build system's rules.
38LOCAL_GENERATED_SOURCES += $(intermediates)/dummy.c
39
40$(intermediates)/dummy.c:
41	@mkdir -p $(dir $@)
42	@echo "Gen Dummy: $(PRIVATE_MODULE) <= $(notdir $(@))"
43	$(hide) touch $@
44
45RNN_SRC_PATH := $(MESA_TOP)/src/freedreno/registers/
46
47# This is the list of auto-generated files headers
48LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/registers/adreno/, \
49	a2xx.xml.h a3xx.xml.h a4xx.xml.h a5xx.xml.h a6xx.xml.h a6xx-pack.xml.h adreno_common.xml.h adreno_pm4.xml.h adreno-pm4-pack.xml.h)
50
51$(intermediates)/registers/adreno/a2xx.xml.h: $(LOCAL_PATH)/registers/adreno/a2xx.xml $(MESA_TOP)/src/freedreno/registers/gen_header.py
52	@mkdir -p $(dir $@)
53	@echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
54	$(hide) $(MESA_PYTHON3) $(MESA_TOP)/src/freedreno/registers/gen_header.py $(RNN_SRC_PATH) $< > $@
55
56$(intermediates)/registers/adreno/a3xx.xml.h: $(LOCAL_PATH)/registers/adreno/a3xx.xml $(MESA_TOP)/src/freedreno/registers/gen_header.py
57	@mkdir -p $(dir $@)
58	@echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
59	$(hide) $(MESA_PYTHON3) $(MESA_TOP)/src/freedreno/registers/gen_header.py $(RNN_SRC_PATH) $< > $@
60
61$(intermediates)/registers/adreno/a4xx.xml.h: $(LOCAL_PATH)/registers/adreno/a4xx.xml $(MESA_TOP)/src/freedreno/registers/gen_header.py
62	@mkdir -p $(dir $@)
63	@echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
64	$(hide) $(MESA_PYTHON3) $(MESA_TOP)/src/freedreno/registers/gen_header.py $(RNN_SRC_PATH) $< > $@
65
66$(intermediates)/registers/adreno/a5xx.xml.h: $(LOCAL_PATH)/registers/adreno/a5xx.xml $(MESA_TOP)/src/freedreno/registers/gen_header.py
67	@mkdir -p $(dir $@)
68	@echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
69	$(hide) $(MESA_PYTHON3) $(MESA_TOP)/src/freedreno/registers/gen_header.py $(RNN_SRC_PATH) $< > $@
70
71$(intermediates)/registers/adreno/a6xx.xml.h: $(LOCAL_PATH)/registers/adreno/a6xx.xml $(MESA_TOP)/src/freedreno/registers/gen_header.py
72	@mkdir -p $(dir $@)
73	@echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
74	$(hide) $(MESA_PYTHON3) $(MESA_TOP)/src/freedreno/registers/gen_header.py $(RNN_SRC_PATH) $< > $@
75
76$(intermediates)/registers/adreno/a6xx-pack.xml.h: $(LOCAL_PATH)/registers/adreno/a6xx.xml $(MESA_TOP)/src/freedreno/registers/gen_header.py
77	@mkdir -p $(dir $@)
78	@echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
79	$(hide) $(MESA_PYTHON3) $(MESA_TOP)/src/freedreno/registers/gen_header.py $(RNN_SRC_PATH) $< --pack-structs > $@
80
81$(intermediates)/registers/adreno/adreno_common.xml.h: $(LOCAL_PATH)/registers/adreno/adreno_common.xml $(MESA_TOP)/src/freedreno/registers/gen_header.py
82	@mkdir -p $(dir $@)
83	@echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
84	$(hide) $(MESA_PYTHON3) $(MESA_TOP)/src/freedreno/registers/gen_header.py $(RNN_SRC_PATH) $< > $@
85
86$(intermediates)/registers/adreno/adreno_pm4.xml.h: $(LOCAL_PATH)/registers/adreno/adreno_pm4.xml $(MESA_TOP)/src/freedreno/registers/gen_header.py
87	@mkdir -p $(dir $@)
88	@echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
89	$(hide) $(MESA_PYTHON3) $(MESA_TOP)/src/freedreno/registers/gen_header.py $(RNN_SRC_PATH) $< > $@
90
91$(intermediates)/registers/adreno/adreno-pm4-pack.xml.h: $(LOCAL_PATH)/registers/adreno/adreno_pm4.xml $(MESA_TOP)/src/freedreno/registers/gen_header.py
92	@mkdir -p $(dir $@)
93	@echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
94	$(hide) $(MESA_PYTHON3) $(MESA_TOP)/src/freedreno/registers/gen_header.py $(RNN_SRC_PATH) $< --pack-structs > $@
95
96LOCAL_EXPORT_C_INCLUDE_DIRS := \
97	$(intermediates)/registers/adreno/
98
99include $(MESA_COMMON_MK)
100include $(BUILD_STATIC_LIBRARY)
101