1# Copyright (C) 2010 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15LOCAL_PATH := $(call my-dir) 16include $(CLEAR_VARS) 17 18LOCAL_CLANG := true 19LOCAL_CPPFLAGS := -std=c++1y -Weverything -Werror 20LOCAL_SANITIZE := integer 21 22# The static constructors and destructors in this library have not been noted to 23# introduce significant overheads 24LOCAL_CPPFLAGS += -Wno-exit-time-destructors 25LOCAL_CPPFLAGS += -Wno-global-constructors 26 27# We only care about compiling as C++14 28LOCAL_CPPFLAGS += -Wno-c++98-compat-pedantic 29 30# We use four-character constants for the GraphicBuffer header, and don't care 31# that they're non-portable as long as they're consistent within one execution 32LOCAL_CPPFLAGS += -Wno-four-char-constants 33 34# Don't warn about struct padding 35LOCAL_CPPFLAGS += -Wno-padded 36 37LOCAL_SRC_FILES := \ 38 Fence.cpp \ 39 FrameStats.cpp \ 40 GraphicBuffer.cpp \ 41 GraphicBufferAllocator.cpp \ 42 GraphicBufferMapper.cpp \ 43 HdrCapabilities.cpp \ 44 PixelFormat.cpp \ 45 Rect.cpp \ 46 Region.cpp \ 47 UiConfig.cpp 48 49LOCAL_SHARED_LIBRARIES := \ 50 libbinder \ 51 libcutils \ 52 libhardware \ 53 libsync \ 54 libutils \ 55 liblog 56 57ifneq ($(BOARD_FRAMEBUFFER_FORCE_FORMAT),) 58LOCAL_CFLAGS += -DFRAMEBUFFER_FORCE_FORMAT=$(BOARD_FRAMEBUFFER_FORCE_FORMAT) 59endif 60 61LOCAL_MODULE := libui 62 63include $(BUILD_SHARED_LIBRARY) 64 65 66# Include subdirectory makefiles 67# ============================================================ 68 69# If we're building with ONE_SHOT_MAKEFILE (mm, mmm), then what the framework 70# team really wants is to build the stuff defined by this makefile. 71ifeq (,$(ONE_SHOT_MAKEFILE)) 72include $(call first-makefiles-under,$(LOCAL_PATH)) 73endif 74