81 lines
3.3 KiB
Makefile
81 lines
3.3 KiB
Makefile
################################################################################
|
|
#
|
|
# libcomposition
|
|
#
|
|
################################################################################
|
|
LOCAL_PATH = $(shell pwd)
|
|
LDFLAGS += -Wl,--no-as-needed -lstdc++ -lpthread -ldl -lrt -llog -L$(STAGING_DIR)/usr/lib
|
|
CFLAGS += -Wall -Werror -Wno-unknown-pragmas -Wno-format -Wno-format-security -Wno-error=unused-result -Wno-error=sign-compare -Wno-unused-variable -Wno-error=attributes -g \
|
|
-O3 -fexceptions -fnon-call-exceptions -D_GNU_SOURCE -I$(STAGING_DIR)/usr/include -Wno-unused-but-set-variable
|
|
|
|
MIN_GCC_VERSION = "10"
|
|
GCC_VERSION := "`$(CC) -dumpversion | cut -f1 -d'.'`"
|
|
IS_GCC_ABOVE_MIN_VERSION := $(shell expr "$(GCC_VERSION)" ">=" "$(MIN_GCC_VERSION)")
|
|
ifeq "$(IS_GCC_ABOVE_MIN_VERSION)" "1"
|
|
CFLAGS += -std=gnu++20 -DROKU_LOG -I$(STAGING_DIR)/usr/include/libdrm -DHWC_RELEASE -DKEEP_VIDEO_BOTTOM -DLINUX_COMPILE
|
|
LDFLAGS += -L$(PLATFORM_COMMON_SYSRDIR)/lib
|
|
|
|
ROKU_LOG_HEADER = -I$(PLATFORM_COMMON_SYSRDIR)/include
|
|
endif
|
|
|
|
composition_SRCS = \
|
|
$(LOCAL_PATH)/composition/Composition.cpp \
|
|
$(LOCAL_PATH)/composition/CompositionStrategyBase.cpp \
|
|
$(LOCAL_PATH)/common/base/DrmFramebufferBase.cpp \
|
|
$(LOCAL_PATH)/common/base/DrmTypes.cpp \
|
|
$(LOCAL_PATH)/common/base/DrmSync.cpp \
|
|
$(LOCAL_PATH)/common/hwc/HwcVsyncBase.cpp \
|
|
$(LOCAL_PATH)/common/display/HwDisplayPlaneBase.cpp \
|
|
$(LOCAL_PATH)/common/utils/DebugHelper.cpp \
|
|
$(LOCAL_PATH)/common/utils/MesonLog.cpp \
|
|
$(LOCAL_PATH)/common/videotunnel/VideoTunnelDev.cpp \
|
|
$(LOCAL_PATH)/common/videotunnel/VtAllocSolidColorBuffer.cpp \
|
|
$(LOCAL_PATH)/common/videotunnel/VtConsumer.cpp \
|
|
$(LOCAL_PATH)/common/videotunnel/VtHandleEventsThread.cpp \
|
|
$(LOCAL_PATH)/common/videotunnel/VtInstance.cpp \
|
|
$(LOCAL_PATH)/common/videotunnel/VtInstanceMgr.cpp \
|
|
$(LOCAL_PATH)/libs/libuvm/UvmDetach.cpp \
|
|
$(LOCAL_PATH)/libs/libuvm/UvmDev.cpp \
|
|
$(NULL)
|
|
|
|
composition_HEADERS = \
|
|
-I$(LOCAL_PATH)/composition/include \
|
|
-I$(LOCAL_PATH)/common/base/include \
|
|
-I$(LOCAL_PATH)/common/display/include \
|
|
-I$(LOCAL_PATH)/common/hwc/include \
|
|
-I$(LOCAL_PATH)/common/utils/include \
|
|
-I$(LOCAL_PATH)/common/videotunnel/include \
|
|
-I$(LOCAL_PATH)/libs/libuvm/include \
|
|
$(ROKU_LOG_HEADER) \
|
|
$(NULL)
|
|
|
|
OUT_DIR ?= .
|
|
# ---------------------------------------------------------------------
|
|
# Build rules
|
|
BUILD_TARGETS = libcomposition.so
|
|
|
|
.PHONY: all install uninstall clean
|
|
|
|
libcomposition.so: $(composition_SRCS)
|
|
$(CC) $(CFLAGS) $(LDFLAGS) -shared -fPIC $(composition_HEADERS) \
|
|
-o $(OUT_DIR)/$@ $^
|
|
|
|
all: $(BUILD_TARGETS)
|
|
|
|
clean:
|
|
rm -f *.o $(OUT_DIR)/$(BUILD_TARGETS)
|
|
|
|
install:
|
|
install -m 0644 libcomposition.so $(TARGET_DIR)/usr/lib/
|
|
install -m 644 composition/include/* $(TARGET_DIR)/usr/include/
|
|
install -m 644 common/base/include/* $(TARGET_DIR)/usr/include/
|
|
install -m 644 common/display/include/HwDisplayCrtcBase.h $(TARGET_DIR)/usr/include/
|
|
install -m 644 common/display/include/HwDisplayPlaneBase.h $(TARGET_DIR)/usr/include/
|
|
install -m 644 common/hwc/include/HwcVsyncBase.h $(TARGET_DIR)/usr/include/
|
|
install -m 644 common/utils/include/* $(TARGET_DIR)/usr/include/
|
|
install -m 644 common/videotunnel/include/* $(TARGET_DIR)/usr/include/
|
|
install -m 644 libs/libuvm/include/* $(TARGET_DIR)/usr/include/
|
|
|
|
uninstall:
|
|
rm -f $(TARGET_DIR)/usr/lib/libcomposition.so
|