1d5fdf7d74b1ff47ed457ecdb0e0c4310ff7d031fJeff Brown# Copyright (C) 2010 The Android Open Source Project 2d5fdf7d74b1ff47ed457ecdb0e0c4310ff7d031fJeff Brown# 3d5fdf7d74b1ff47ed457ecdb0e0c4310ff7d031fJeff Brown# Licensed under the Apache License, Version 2.0 (the "License"); 4d5fdf7d74b1ff47ed457ecdb0e0c4310ff7d031fJeff Brown# you may not use this file except in compliance with the License. 5d5fdf7d74b1ff47ed457ecdb0e0c4310ff7d031fJeff Brown# You may obtain a copy of the License at 6d5fdf7d74b1ff47ed457ecdb0e0c4310ff7d031fJeff Brown# 7d5fdf7d74b1ff47ed457ecdb0e0c4310ff7d031fJeff Brown# http://www.apache.org/licenses/LICENSE-2.0 8d5fdf7d74b1ff47ed457ecdb0e0c4310ff7d031fJeff Brown# 9d5fdf7d74b1ff47ed457ecdb0e0c4310ff7d031fJeff Brown# Unless required by applicable law or agreed to in writing, software 10d5fdf7d74b1ff47ed457ecdb0e0c4310ff7d031fJeff Brown# distributed under the License is distributed on an "AS IS" BASIS, 11d5fdf7d74b1ff47ed457ecdb0e0c4310ff7d031fJeff Brown# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12d5fdf7d74b1ff47ed457ecdb0e0c4310ff7d031fJeff Brown# See the License for the specific language governing permissions and 13d5fdf7d74b1ff47ed457ecdb0e0c4310ff7d031fJeff Brown# limitations under the License. 14d5fdf7d74b1ff47ed457ecdb0e0c4310ff7d031fJeff Brown 1501049c8321aab30cd431e2febeddd79242ae5a4fDan StozaLOCAL_PATH := $(call my-dir) 16edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectinclude $(CLEAR_VARS) 17edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 1801049c8321aab30cd431e2febeddd79242ae5a4fDan StozaLOCAL_CLANG := true 19d31824004277f554000417cea349d69f18655e95Dan StozaLOCAL_CPPFLAGS := -std=c++1y -Weverything -Werror 20ff7ede32f576651bacc4f0c6145e54d8f3c12ef6Dan AustinLOCAL_SANITIZE := integer 21d31824004277f554000417cea349d69f18655e95Dan Stoza 22d31824004277f554000417cea349d69f18655e95Dan Stoza# The static constructors and destructors in this library have not been noted to 23d31824004277f554000417cea349d69f18655e95Dan Stoza# introduce significant overheads 24d31824004277f554000417cea349d69f18655e95Dan StozaLOCAL_CPPFLAGS += -Wno-exit-time-destructors 25d31824004277f554000417cea349d69f18655e95Dan StozaLOCAL_CPPFLAGS += -Wno-global-constructors 26d31824004277f554000417cea349d69f18655e95Dan Stoza 27d31824004277f554000417cea349d69f18655e95Dan Stoza# We only care about compiling as C++14 28d31824004277f554000417cea349d69f18655e95Dan StozaLOCAL_CPPFLAGS += -Wno-c++98-compat-pedantic 29d31824004277f554000417cea349d69f18655e95Dan Stoza 30d31824004277f554000417cea349d69f18655e95Dan Stoza# We use four-character constants for the GraphicBuffer header, and don't care 31d31824004277f554000417cea349d69f18655e95Dan Stoza# that they're non-portable as long as they're consistent within one execution 32d31824004277f554000417cea349d69f18655e95Dan StozaLOCAL_CPPFLAGS += -Wno-four-char-constants 3301049c8321aab30cd431e2febeddd79242ae5a4fDan Stoza 3442af27817360d338f83fed4b87a535bb0ac4e65bDan Stoza# Don't warn about struct padding 3542af27817360d338f83fed4b87a535bb0ac4e65bDan StozaLOCAL_CPPFLAGS += -Wno-padded 3642af27817360d338f83fed4b87a535bb0ac4e65bDan Stoza 3701049c8321aab30cd431e2febeddd79242ae5a4fDan StozaLOCAL_SRC_FILES := \ 38d8e812ce6fe9ae0388e98b08456e1d18b9498239Jamie Gennis Fence.cpp \ 39d85084b2b65828442eafaff9b811e9b6c9ca9fadSvetoslav FrameStats.cpp \ 403330b203039dea366d4981db1408a460134b2d2cMathias Agopian GraphicBuffer.cpp \ 413330b203039dea366d4981db1408a460134b2d2cMathias Agopian GraphicBufferAllocator.cpp \ 423330b203039dea366d4981db1408a460134b2d2cMathias Agopian GraphicBufferMapper.cpp \ 437d7ae7345abfb91be55c4aed6c9be9d09a144e4cDan Stoza HdrCapabilities.cpp \ 44edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project PixelFormat.cpp \ 45edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project Rect.cpp \ 464803b74e2a12a508f7bbfde6f6a962fe3299c61cAndy McFadden Region.cpp \ 474803b74e2a12a508f7bbfde6f6a962fe3299c61cAndy McFadden UiConfig.cpp 48edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 49edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source ProjectLOCAL_SHARED_LIBRARIES := \ 507d7ae7345abfb91be55c4aed6c9be9d09a144e4cDan Stoza libbinder \ 51edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project libcutils \ 52d8e812ce6fe9ae0388e98b08456e1d18b9498239Jamie Gennis libhardware \ 53d8e812ce6fe9ae0388e98b08456e1d18b9498239Jamie Gennis libsync \ 548a0cb4ee0b6c351de82987efb472fa38dfaf608aYing Wang libutils \ 558a0cb4ee0b6c351de82987efb472fa38dfaf608aYing Wang liblog 56edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 57c6cd27cbf3ddec77cca97e5bd2b257f80ea99706Dima Zavinifneq ($(BOARD_FRAMEBUFFER_FORCE_FORMAT),) 58c6cd27cbf3ddec77cca97e5bd2b257f80ea99706Dima ZavinLOCAL_CFLAGS += -DFRAMEBUFFER_FORCE_FORMAT=$(BOARD_FRAMEBUFFER_FORCE_FORMAT) 59c6cd27cbf3ddec77cca97e5bd2b257f80ea99706Dima Zavinendif 60c6cd27cbf3ddec77cca97e5bd2b257f80ea99706Dima Zavin 6101049c8321aab30cd431e2febeddd79242ae5a4fDan StozaLOCAL_MODULE := libui 62edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project 63edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectinclude $(BUILD_SHARED_LIBRARY) 648575a87b0d61d21c286321afdf193f4fac53d681Jeff Brown 658575a87b0d61d21c286321afdf193f4fac53d681Jeff Brown 668575a87b0d61d21c286321afdf193f4fac53d681Jeff Brown# Include subdirectory makefiles 678575a87b0d61d21c286321afdf193f4fac53d681Jeff Brown# ============================================================ 688575a87b0d61d21c286321afdf193f4fac53d681Jeff Brown 698575a87b0d61d21c286321afdf193f4fac53d681Jeff Brown# If we're building with ONE_SHOT_MAKEFILE (mm, mmm), then what the framework 708575a87b0d61d21c286321afdf193f4fac53d681Jeff Brown# team really wants is to build the stuff defined by this makefile. 718575a87b0d61d21c286321afdf193f4fac53d681Jeff Brownifeq (,$(ONE_SHOT_MAKEFILE)) 728575a87b0d61d21c286321afdf193f4fac53d681Jeff Browninclude $(call first-makefiles-under,$(LOCAL_PATH)) 738575a87b0d61d21c286321afdf193f4fac53d681Jeff Brownendif 74