blob: 23f94852129bba8ca8d83073e265ec167b0e5df2 [file] [log] [blame]
# ---------------------------------------------------------------------------------
# MM-VIDEO-OSS-8K-VENC
# ---------------------------------------------------------------------------------
# cross-compiler flags
CFLAGS += -Wall
CFLAGS += -Wundef
CFLAGS += -Wstrict-prototypes
CFLAGS += -Wno-trigraphs
#CFLAGS += -Werror
# cross-compile flags specific to shared objects
CFLAGS_SO += -fpic
# required pre-processor flags
CPPFLAGS += -D__packed__=
CPPFLAGS += -DIMAGE_APPS_PROC
CPPFLAGS += -DFEATURE_Q_SINGLE_LINK
CPPFLAGS += -DFEATURE_Q_NO_SELF_QPTR
CPPFLAGS += -DFEATURE_LINUX
CPPFLAGS += -DFEATURE_NATIVELINUX
CPPFLAGS += -DFEATURE_DSM_DUP_ITEMS
# venc specific defines
CPPFLAGS += -DPROFILE_DECODER
CPPFLAGS += -DVENC_MSG_ERROR_ENABLE
CPPFLAGS += -DVENC_MSG_FATAL_ENABLE
CPPFLAGS += -DQCOM_OMX_VENC_EXT
CPPFLAGS += -Du32="unsigned int"
CPPFLAGS += -Iinc
CPPFLAGS += -Icommon/inc
CPPFLAGS += -Idevice/inc
CPPFLAGS += -Iomx/inc
CPPFLAGS += -Itest/common/inc
# linker flags
LDFLAGS += -L$(SYSROOT)/usr/lib
# linker flags for shared objects
LDFLAGS_SO += -shared
MM_VENC_OMX_LDLIBS := -lpthread
MM_VENC_OMX_LDLIBS += -lrt
MM_VENC_OMX_LDLIBS += -lstdc++
MM_VENC_OMX_LDLIBS += -lOmxCore
LDLIBS += $(MM_VENC_OMX_LDLIBS)
SRCS := omx/src/OMX_Venc.cpp
SRCS += omx/src/OMX_VencBufferManager.cpp
SRCS += device/src/venc_device.c
# defintions
LIBMAJOR := $(basename $(basename $(LIBVER)))
LIBINSTALLDIR := $(DESTDIR)usr/lib
BININSTALLDIR := $(DESTDIR)usr/bin
# ---------------------------------------------------------------------------------
# BUILD
# ---------------------------------------------------------------------------------
all: libOmxVidEnc.so.$(LIBVER) mm-venc-omx-test
install:
echo "installing opensource video encoder libs in $(DESTDIR)"
if [ ! -d $(LIBINSTALLDIR) ]; then mkdir -p $(LIBINSTALLDIR); fi
if [ ! -d $(BININSTALLDIR) ]; then mkdir -p $(BININSTALLDIR); fi
install -m 555 libOmxVidEnc.so.$(LIBVER) $(LIBINSTALLDIR)
cd $(LIBINSTALLDIR) && ln -s libOmxVidEnc.so.$(LIBVER) libOmxVidEnc.so.$(LIBMAJOR)
cd $(LIBINSTALLDIR) && ln -s libOmxVidEnc.so.$(LIBMAJOR) libOmxVidEnc.so
install -m 555 mm-venc-omx-test $(BININSTALLDIR)
# ---------------------------------------------------------------------------------
# COMPILE LIBRARY
# ---------------------------------------------------------------------------------
LDLIBS := -lpthread
LDLIBS += -lrt
LDLIBS += -lstdc++
LDLIBS += -lOmxCore
SRCS := omx/src/OMX_Venc.cpp
SRCS += omx/src/OMX_VencBufferManager.cpp
SRCS += device/src/venc_device.c
libOmxVidEnc.so.$(LIBVER): $(SRCS)
$(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_SO) $(LDFLAGS_SO) -Wl,-soname,libOmxVidEnc.so.$(LIBMAJOR) -o $@ $^ $(LDFLAGS) $(LDLIBS)
# ---------------------------------------------------------------------------------
# COMPILE TEST APP
# ---------------------------------------------------------------------------------
TEST_LDLIBS := -lpthread
TEST_LDLIBS += -ldl
TEST_LDLIBS += -lOmxCore
TEST_SRCS := test/app/src/venctest_App.cpp
TEST_SRCS += test/common/src/venctest_Config.cpp
TEST_SRCS += test/common/src/venctest_Pmem.cpp
TEST_SRCS += test/common/src/venctest_Encoder.cpp
TEST_SRCS += test/common/src/venctest_Script.cpp
TEST_SRCS += test/common/src/venctest_File.cpp
TEST_SRCS += test/common/src/venctest_FileSink.cpp
TEST_SRCS += test/common/src/venctest_Mutex.cpp
TEST_SRCS += test/common/src/venctest_Parser.cpp
TEST_SRCS += test/common/src/venctest_FileSource.cpp
TEST_SRCS += test/common/src/venctest_Queue.cpp
TEST_SRCS += test/common/src/venctest_Signal.cpp
TEST_SRCS += test/common/src/venctest_SignalQueue.cpp
TEST_SRCS += test/common/src/venctest_Sleeper.cpp
TEST_SRCS += test/common/src/venctest_Thread.cpp
TEST_SRCS += test/common/src/venctest_Time.cpp
TEST_SRCS += test/common/src/venctest_StatsThread.cpp
TEST_SRCS += test/common/src/venctest_TestCaseFactory.cpp
TEST_SRCS += test/common/src/venctest_ITestCase.cpp
TEST_SRCS += test/common/src/venctest_TestEncode.cpp
TEST_SRCS += test/common/src/venctest_TestIFrameRequest.cpp
TEST_SRCS += test/common/src/venctest_TestGetSyntaxHdr.cpp
TEST_SRCS += test/common/src/venctest_TestEOS.cpp
TEST_SRCS += test/common/src/venctest_TestChangeQuality.cpp
TEST_SRCS += test/common/src/venctest_TestChangeIntraPeriod.cpp
TEST_SRCS += test/common/src/venctest_TestStateExecutingToIdle.cpp
TEST_SRCS += test/common/src/venctest_TestStatePause.cpp
TEST_SRCS += test/common/src/venctest_TestFlush.cpp
TEST_SRCS += common/src/venc_queue.c
TEST_SRCS += common/src/venc_semaphore.c
TEST_SRCS += common/src/venc_mutex.c
TEST_SRCS += common/src/venc_time.c
TEST_SRCS += common/src/venc_sleep.c
TEST_SRCS += common/src/venc_signal.c
TEST_SRCS += common/src/venc_file.c
TEST_SRCS += common/src/venc_thread.c
mm-venc-omx-test: libOmxVidEnc.so.$(LIBVER) $(TEST_SRCS)
$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $^ $(TEST_LDLIBS)
# ---------------------------------------------------------------------------------
# END
# ---------------------------------------------------------------------------------