Android.mk revision b8e80941
1848b8605Smrg# Mesa 3-D graphics library
2848b8605Smrg#
3848b8605Smrg# Copyright (C) 2014 Tomasz Figa <tomasz.figa@gmail.com>
4848b8605Smrg#
5848b8605Smrg# Permission is hereby granted, free of charge, to any person obtaining a
6848b8605Smrg# copy of this software and associated documentation files (the "Software"),
7848b8605Smrg# to deal in the Software without restriction, including without limitation
8848b8605Smrg# the rights to use, copy, modify, merge, publish, distribute, sublicense,
9848b8605Smrg# and/or sell copies of the Software, and to permit persons to whom the
10848b8605Smrg# Software is furnished to do so, subject to the following conditions:
11848b8605Smrg#
12848b8605Smrg# The above copyright notice and this permission notice shall be included
13848b8605Smrg# in all copies or substantial portions of the Software.
14848b8605Smrg#
15848b8605Smrg# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16848b8605Smrg# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17848b8605Smrg# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18848b8605Smrg# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19848b8605Smrg# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20848b8605Smrg# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21848b8605Smrg# DEALINGS IN THE SOFTWARE.
22848b8605Smrg
23848b8605SmrgLOCAL_PATH := $(call my-dir)
24848b8605Smrg
25848b8605Smrginclude $(LOCAL_PATH)/Makefile.sources
26848b8605Smrg
27848b8605Smrg# ---------------------------------------
28848b8605Smrg# Build libmesa_util
29848b8605Smrg# ---------------------------------------
30848b8605Smrg
31848b8605Smrginclude $(CLEAR_VARS)
32848b8605Smrg
33848b8605SmrgLOCAL_SRC_FILES := \
34b8e80941Smrg	$(MESA_UTIL_FILES) \
35b8e80941Smrg	$(XMLCONFIG_FILES)
36848b8605Smrg
37848b8605SmrgLOCAL_C_INCLUDES := \
38b8e80941Smrg	external/zlib \
39848b8605Smrg	$(MESA_TOP)/src/mesa \
40848b8605Smrg	$(MESA_TOP)/src/mapi \
41b8e80941Smrg	$(MESA_TOP)/src/gallium/include \
42b8e80941Smrg	$(MESA_TOP)/src/gallium/auxiliary
43b8e80941Smrg
44b8e80941Smrg# If Android version >=8 MESA should static link libexpat else should dynamic link
45b8e80941Smrgifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27; echo $$?), 0)
46b8e80941SmrgLOCAL_STATIC_LIBRARIES := \
47b8e80941Smrg	libexpat
48b8e80941Smrgelse
49b8e80941SmrgLOCAL_SHARED_LIBRARIES := \
50b8e80941Smrg	libexpat
51848b8605Smrgendif
52848b8605Smrg
53848b8605SmrgLOCAL_MODULE := libmesa_util
54848b8605Smrg
55848b8605Smrg# Generated sources
56848b8605Smrg
57848b8605SmrgLOCAL_MODULE_CLASS := STATIC_LIBRARIES
58848b8605Smrg
59b8e80941Smrgintermediates := $(call local-generated-sources-dir)
60848b8605Smrg
61b8e80941SmrgLOCAL_EXPORT_C_INCLUDE_DIRS := $(intermediates)
62848b8605Smrg
63b8e80941SmrgUTIL_GENERATED_SOURCES := $(addprefix $(intermediates)/,$(MESA_UTIL_GENERATED_FILES))
64b8e80941SmrgLOCAL_GENERATED_SOURCES := $(UTIL_GENERATED_SOURCES)
65848b8605Smrg
66b8e80941SmrgMESA_DRI_OPTIONS_H := $(intermediates)/xmlpool/options.h
67b8e80941SmrgLOCAL_GENERATED_SOURCES += $(MESA_DRI_OPTIONS_H)
68848b8605Smrg
69b8e80941Smrg#
70b8e80941Smrg# Generate options.h from gettext translations.
71b8e80941Smrg#
72b8e80941Smrg
73b8e80941SmrgMESA_DRI_OPTIONS_LANGS := de es nl fr sv
74b8e80941SmrgPOT := $(intermediates)/xmlpool.pot
75b8e80941Smrg
76b8e80941Smrg$(POT): $(LOCAL_PATH)/xmlpool/t_options.h
77b8e80941Smrg	@mkdir -p $(dir $@)
78b8e80941Smrg	xgettext -L C --from-code utf-8 -o $@ $<
79b8e80941Smrg
80b8e80941Smrg$(MESA_DRI_OPTIONS_LANGS:%=$(intermediates)/xmlpool/%.po): $(intermediates)/xmlpool/%.po: $(LOCAL_PATH)/xmlpool/%.po $(POT)
81b8e80941Smrg	lang=$(basename $(notdir $@)); \
82b8e80941Smrg	mkdir -p $(dir $@); \
83b8e80941Smrg	if [ -f $< ]; then \
84b8e80941Smrg		msgmerge -o $@ $^; \
85b8e80941Smrg	else \
86b8e80941Smrg		msginit -i $(POT) \
87b8e80941Smrg			-o $@ \
88b8e80941Smrg			--locale=$$lang \
89b8e80941Smrg			--no-translator; \
90b8e80941Smrg		sed -i -e 's/charset=.*\\n/charset=UTF-8\\n/' $@; \
91b8e80941Smrg	fi
92b8e80941Smrg
93b8e80941SmrgPRIVATE_SCRIPT := $(LOCAL_PATH)/xmlpool/gen_xmlpool.py
94b8e80941SmrgPRIVATE_LOCALEDIR := $(intermediates)/xmlpool
95b8e80941SmrgPRIVATE_TEMPLATE_HEADER := $(LOCAL_PATH)/xmlpool/t_options.h
96b8e80941SmrgPRIVATE_MO_FILES := $(MESA_DRI_OPTIONS_LANGS:%=$(intermediates)/xmlpool/%.gmo)
97b8e80941Smrg
98b8e80941SmrgLOCAL_GENERATED_SOURCES += $(PRIVATE_MO_FILES)
99b8e80941Smrg
100b8e80941Smrg$(LOCAL_GENERATED_SOURCES): PRIVATE_PYTHON := $(MESA_PYTHON2)
101b8e80941Smrg
102b8e80941Smrg$(PRIVATE_MO_FILES): $(intermediates)/xmlpool/%.gmo: $(intermediates)/xmlpool/%.po
103b8e80941Smrg	mkdir -p $(dir $@)
104b8e80941Smrg	msgfmt -o $@ $<
105b8e80941Smrg
106b8e80941Smrg$(UTIL_GENERATED_SOURCES): PRIVATE_CUSTOM_TOOL = $(PRIVATE_PYTHON) $^ > $@
107b8e80941Smrg$(UTIL_GENERATED_SOURCES): $(intermediates)/%.c: $(LOCAL_PATH)/%.py
108b8e80941Smrg	$(transform-generated-source)
109b8e80941Smrg
110b8e80941Smrg$(MESA_DRI_OPTIONS_H): PRIVATE_CUSTOM_TOOL = $(PRIVATE_PYTHON) $< \
111b8e80941Smrg		--template $(PRIVATE_TEMPLATE_HEADER) \
112b8e80941Smrg		--output $@ \
113b8e80941Smrg		--localedir $(PRIVATE_LOCALEDIR) \
114b8e80941Smrg		--languages $(MESA_DRI_OPTIONS_LANGS)
115b8e80941Smrg$(MESA_DRI_OPTIONS_H): $(PRIVATE_SCRIPT) $(PRIVATE_TEMPLATE_HEADER) $(PRIVATE_MO_FILES)
116b8e80941Smrg	$(transform-generated-source)
117848b8605Smrg
118848b8605Smrginclude $(MESA_COMMON_MK)
119b8e80941Smrginclude $(BUILD_STATIC_LIBRARY)
120