# Makefile for dm816xbm app

APP_NAME = dm816xbm

SRCDIR = src ../graphics ../common
INCDIR = . src ../common

# List all the external components/interfaces, whose interface header files 
#  need to be included for this component
INCLUDE_EXERNAL_INTERFACES = bios xdc omx timmosal hdvpss ipc fc xdais osal syslink \
                             ce h264enc h264dec mpeg2dec mpeg4dec mpeg4enc vc1dec mjpegenc mjpegdec uia edma slog

# List of all external libraries that need to be linked
#EXTLIBS_m3video = $(omap_PATH)/packages/ti/omap/mem/lib/debug/ti.omap.mem.aem3
EXTLIBS_m3video =
EXTLIBS_m3vpss = $(edma_PATH)/packages/ti/sdo/edma3/drv/lib/m3/release/edma3_lld_drv.aem3 \
                 $(edma_PATH)/packages/ti/sdo/edma3/drv/sample/lib/ti816x-evm/m3/release/edma3_lld_drv_sample.aem3 \
                 $(edma_PATH)/packages/ti/sdo/edma3/rm/lib/ti816x-evm/m3/release/edma3_lld_rm.aem3 

EXTLIBS_a8host = $(osal_PATH)/packages/linuxdist/build/lib/osal.a \
                 $(osal_PATH)/packages/linuxdist/cstubs/lib/cstubs.a \
                 $(fc_PATH)/packages/ti/sdo/rcm/lib/debug/rcm_syslink.av5T \
                 $(fc_PATH)/packages/ti/sdo/fc/memutils/lib/release/memutils.av5T \
                 $(osal_PATH)/packages/ti/sdo/xdcruntime/linux/lib/debug/osal_linux_470.av5T \
                 $(fc_PATH)/packages/ti/sdo/fc/global/lib/debug/fcsettings.av5T \
                 $(syslink_PATH)/packages/ti/syslink/lib/syslink.a_debug \
                 $(linuxutils_PATH)/packages/ti/sdo/linuxutils/cmem/lib/cmem.a470MV \
                 $(uia_PATH)/packages/ti/uia/linux/lib/servicemgr.a 
#                 $(slog_PATH)/lib/slog.a \
#                 $(slog_PATH)/lib/slog_modtbl.a

# List all the components required by the application
COMP_LIST_m3video = omxbase venc vdec server scheduler domx omxcore memcfg ldrmemcfg
COMP_LIST_m3vpss = omxbase vfdc vfcc vfpc domx omxcore ctrl hdvpss memcfg vswmosaic ldrmemcfg
COMP_LIST_a8host = omxcore memcfg domx timmosal ldrmemcfg
COMP_LIST_c6xdsp = memcfg omxbase domx omxcore vlpb adec

# XDC CFG File
XDC_CFG_FILE_m3vpss = VpsAppMain.cfg
XDC_CFG_FILE_m3video = VpsAppMain.cfg
XDC_CFG_FILE_c6xdsp = DspAppMain.cfg

# Common source files and CFLAGS across all platforms and cores
SRCS_COMMON =
CFLAGS_LOCAL_COMMON = -DGlobal_appTerminate=0 -D_VIDEO_M3_DYNAMIC_CONFIG

SRCS_m3vpss = ducati_mmsw_main_vpsm3.c mmsw_platform_vpsm3.c load_update.c \
               configureUiaLogger.c sys_top_slave.c
#               src_snk_utils_ca8.c h264enc_params.c 
#               omx_codec_tunnel_test.c omx_prop_tunnel_test.c 

CFLAGS_LOCAL_m3vpss = -DGlobal_EnableRemoteGraphics=1 -DGlobal_GrpxDssMsgHeapId=0x6

SRCS_m3video = ducati_mmsw_main_vidm3.c mmsw_platform_vidm3.c load_update.c \
               configureUiaLogger.c sys_top_slave.c
#               src_snk_utils_ca8.c h264enc_params.c
#               omx_codec_tunnel_test.c omx_prop_tunnel_test.c 
CFLAGS_LOCAL_m3video = -DGlobal_GrpxDssMsgHeapId=0x6

SRCS_a8host = ducati_mmsw_main_ca8.c mmsw_platform_ca8.c omx_src_sink_ilc.c \
              omx_prop_tunnel_test.c omx_codec_tunnel_test.c basket.c src_snk_utils_ca8.c \
              h264enc_params.c h264enc_ti_config.c

CFLAGS_LOCAL_a8host = -DGlobal_GrpxDssMsgHeapId=0x6 -DGlobal_TilerHeapId=7

SRCS_c6xdsp = main_c674.c platform_c674.c
CFLAGS_LOCAL_c6xdsp = -DGlobal_GrpxDssMsgHeapId=6

# Core/SoC/platform specific source files and CFLAGS
# Example: 
#   SRCS_<core/SoC/platform-name> = 
#   CFLAGS_LOCAL_<core/SoC/platform-name> =
ifeq ($(CORE),c6xdsp)
  CFLAGS_LOCAL_c6xdsp += -D_LOCAL_CORE_c6xdsp_
endif
ifeq ($(CORE),m3vpss)
  CFLAGS_LOCAL_m3vpss += -D_LOCAL_CORE_m3vpss_
endif
ifeq ($(CORE),m3video)
  CFLAGS_LOCAL_m3video += -D_LOCAL_CORE_m3video_
endif
ifeq ($(CORE),a8host)
  CFLAGS_LOCAL_a8host += -D_LOCAL_CORE_a8host_ -DUSE_SLOG_PRINT=1
endif

# Include common make files
include $(ROOTDIR)/makerules/common.mk

# OBJs and libraries are built by using rule defined in rules_<target>.mk 
#     and need not be explicitly specified here

# Nothing beyond this point
