1# Mesa 3-D graphics library 2# 3# Copyright (C) 2014 Tomasz Figa <tomasz.figa@gmail.com> 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 23LOCAL_PATH := $(call my-dir) 24 25include $(LOCAL_PATH)/Makefile.sources 26 27# --------------------------------------- 28# Build libmesa_util 29# --------------------------------------- 30 31include $(CLEAR_VARS) 32 33LOCAL_SRC_FILES := \ 34 $(MESA_UTIL_FILES) \ 35 $(XMLCONFIG_FILES) 36 37LOCAL_C_INCLUDES := \ 38 external/zlib \ 39 $(MESA_TOP)/src/mesa \ 40 $(MESA_TOP)/src/mapi \ 41 $(MESA_TOP)/src/gallium/include \ 42 $(MESA_TOP)/src/gallium/auxiliary 43 44# If Android version >=8 MESA should static link libexpat else should dynamic link 45ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27; echo $$?), 0) 46LOCAL_STATIC_LIBRARIES := \ 47 libexpat 48else 49LOCAL_SHARED_LIBRARIES := \ 50 libexpat 51endif 52 53LOCAL_MODULE := libmesa_util 54 55# Generated sources 56 57LOCAL_MODULE_CLASS := STATIC_LIBRARIES 58 59intermediates := $(call local-generated-sources-dir) 60 61LOCAL_EXPORT_C_INCLUDE_DIRS := $(intermediates) 62 63UTIL_GENERATED_SOURCES := $(addprefix $(intermediates)/,$(MESA_UTIL_GENERATED_FILES)) 64LOCAL_GENERATED_SOURCES := $(UTIL_GENERATED_SOURCES) 65 66MESA_DRI_OPTIONS_H := $(intermediates)/xmlpool/options.h 67LOCAL_GENERATED_SOURCES += $(MESA_DRI_OPTIONS_H) 68 69# 70# Generate options.h from gettext translations. 71# 72 73MESA_DRI_OPTIONS_LANGS := de es nl fr sv 74POT := $(intermediates)/xmlpool.pot 75 76$(POT): $(LOCAL_PATH)/xmlpool/t_options.h 77 @mkdir -p $(dir $@) 78 xgettext -L C --from-code utf-8 -o $@ $< 79 80$(MESA_DRI_OPTIONS_LANGS:%=$(intermediates)/xmlpool/%.po): $(intermediates)/xmlpool/%.po: $(LOCAL_PATH)/xmlpool/%.po $(POT) 81 lang=$(basename $(notdir $@)); \ 82 mkdir -p $(dir $@); \ 83 if [ -f $< ]; then \ 84 msgmerge -o $@ $^; \ 85 else \ 86 msginit -i $(POT) \ 87 -o $@ \ 88 --locale=$$lang \ 89 --no-translator; \ 90 sed -i -e 's/charset=.*\\n/charset=UTF-8\\n/' $@; \ 91 fi 92 93PRIVATE_SCRIPT := $(LOCAL_PATH)/xmlpool/gen_xmlpool.py 94PRIVATE_LOCALEDIR := $(intermediates)/xmlpool 95PRIVATE_TEMPLATE_HEADER := $(LOCAL_PATH)/xmlpool/t_options.h 96PRIVATE_MO_FILES := $(MESA_DRI_OPTIONS_LANGS:%=$(intermediates)/xmlpool/%.gmo) 97 98LOCAL_GENERATED_SOURCES += $(PRIVATE_MO_FILES) 99 100$(LOCAL_GENERATED_SOURCES): PRIVATE_PYTHON := $(MESA_PYTHON2) 101 102$(PRIVATE_MO_FILES): $(intermediates)/xmlpool/%.gmo: $(intermediates)/xmlpool/%.po 103 mkdir -p $(dir $@) 104 msgfmt -o $@ $< 105 106$(UTIL_GENERATED_SOURCES): PRIVATE_CUSTOM_TOOL = $(PRIVATE_PYTHON) $^ > $@ 107$(UTIL_GENERATED_SOURCES): $(intermediates)/%.c: $(LOCAL_PATH)/%.py 108 $(transform-generated-source) 109 110$(MESA_DRI_OPTIONS_H): PRIVATE_CUSTOM_TOOL = $(PRIVATE_PYTHON) $< \ 111 --template $(PRIVATE_TEMPLATE_HEADER) \ 112 --output $@ \ 113 --localedir $(PRIVATE_LOCALEDIR) \ 114 --languages $(MESA_DRI_OPTIONS_LANGS) 115$(MESA_DRI_OPTIONS_H): $(PRIVATE_SCRIPT) $(PRIVATE_TEMPLATE_HEADER) $(PRIVATE_MO_FILES) 116 $(transform-generated-source) 117 118include $(MESA_COMMON_MK) 119include $(BUILD_STATIC_LIBRARY) 120