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_ir3.a 24 25# --------------------------------------- 26# Build libfreedreno_ir3 27# --------------------------------------- 28 29include $(CLEAR_VARS) 30 31LOCAL_SRC_FILES := \ 32 $(ir3_SOURCES) 33 34LOCAL_MODULE := libfreedreno_ir3 35LOCAL_LICENSE_KINDS := SPDX-license-identifier-ISC SPDX-license-identifier-MIT 36LOCAL_LICENSE_CONDITIONS := notice 37LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../../LICENSE 38 39LOCAL_MODULE_CLASS := STATIC_LIBRARIES 40 41intermediates := $(call local-generated-sources-dir) 42prebuilt_intermediates := $(MESA_TOP)/prebuilt-intermediates 43 44LOCAL_C_INCLUDES := \ 45 $(MESA_TOP)/src/compiler/nir \ 46 $(MESA_TOP)/src/gallium/include \ 47 $(MESA_TOP)/src/gallium/auxiliary \ 48 $(MESA_TOP)/prebuilt-intermediates/nir \ 49 $(MESA_TOP)/src/freedreno/common \ 50 $(MESA_TOP)/src/freedreno/ir3 \ 51 $(intermediates)/ir3 52 53# We need libmesa_nir to get NIR's generated include directories. 54LOCAL_STATIC_LIBRARIES := \ 55 libmesa_nir 56 57LOCAL_GENERATED_SOURCES := \ 58 $(MESA_GEN_GLSL_H) \ 59 $(MESA_GEN_NIR_H) 60 61LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/, \ 62 $(ir3_GENERATED_FILES)) 63 64ir3_lexer_deps := \ 65 $(MESA_TOP)/src/freedreno/ir3/ir3_lexer.l 66 67ir3_nir_imul_deps := \ 68 $(MESA_TOP)/src/freedreno/ir3/ir3_nir_imul.py \ 69 $(MESA_TOP)/src/compiler/nir/nir_algebraic.py 70 71ir3_nir_trig_deps := \ 72 $(LOCAL_PATH)/src/freedreno/ir3/ir3_nir_trig.py \ 73 $(MESA_TOP)/src/compiler/nir/nir_algebraic.py 74 75ir3_parser_deps := \ 76 $(MESA_TOP)/src/freedreno/ir3/ir3_parser.y 77 78$(intermediates)/ir3/ir3_lexer.c: $(ir3_lexer_deps) $(LEX) $(M4) 79 @mkdir -p $(dir $@) 80 @echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))" 81 $(hide) $(MESA_LEX) -o $@ $< 82 $(hide) M4=$(M4) $(LEX) --nounistd -o$@ $< 83 84$(intermediates)/ir3/ir3_nir_imul.c: $(prebuilt_intermediates)/ir3/ir3_nir_imul.c 85 cp -a $< $@ 86 87$(intermediates)/ir3/ir3_nir_trig.c: $(prebuilt_intermediates)/ir3/ir3_nir_trig.c 88 cp -a $< $@ 89 90$(intermediates)/ir3/ir3_parser.c: $(ir3_parser_deps) $(BISON) $(BISON_DATA) $(M4) 91 @mkdir -p $(dir $@) 92 @echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))" 93 $(hide) $(BISON) $< --name-prefix=ir3_yy --output=$@ 94 $(hide) M4=$(M4) $(BISON) $< --name-prefix=ir3_yy --output=$@ 95 96$(intermediates)/ir3/ir3_parser.h: $(ir3_parser_deps) $(BISON) $(BISON_DATA) $(M4) 97 @mkdir -p $(dir $@) 98 @echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))" 99 $(hide) $(BISON) $< --name-prefix=ir3_yy --defines=$@ 100 $(hide) M4=$(M4) $(BISON) $< --name-prefix=ir3_yy --defines=$@ 101 102include $(MESA_COMMON_MK) 103include $(BUILD_STATIC_LIBRARY) 104