This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM368 h264 encoder makefile error

Hi there, I'm trying to build and run the sample test application h264venc-r, as per the h264_encoder_dm365_userguide section 2.3, however, I'm having an issue with the makefile for the h264 encoder.  Here is a printout of what I'm getting after typing make within the directory /home/drichardson/ti-dvsdk_dm368-evm_4_02_00_06/codecs-dm365_4_02_00_00/packages/ti/sdo/codecs/h264enc/apps/client/build/arm926:


cat: h264venc_ti_dm365testapp_linux/compiler.opt: No such file or directory
/home/drichardson/CodeSourcery/Sourcery_G++_Lite//bin/arm-none-linux-gnueabi-gcc -I../../test/inc -I../../../inc -I../../../../H264_dma/inc -I../../../../csl/arm/include -I../../../../csl/kld/include -I /home/drichardson/ti-dvsdk_dm368-evm_4_02_00_06/psp/linux-2.6.32.17-psp03.01.01.39/include -I /home/drichardson/ti-dvsdk_dm368-evm_4_02_00_06/xdais_6_26_01_03/packages/ti/xdais/include -g -D"LOW_LATENCY_FEATURE" -D"_ARM926" -D"ON_LINUX" -D"H264ENC_EDMA" -D"_DEBUG" -D"DM365_IPC_INTC_ENABLE" -U"ENABLE_CACHE" -D"SEI_USERDATA_INSERTION" -U"BASE_PARAMS" -D"DEVICE_ID_CHECK" -U"PASS_SAD_MV_APPL" -U"ENABLE_ARM926_TCM" -D"ENABLE_ROI" -D"SIMPLE_TWO_PASS" -U"PROFILE_ONLINUX" -D"MEGA_PIX"  -c -g -D"LOW_LATENCY_FEATURE" -D"_ARM926" -D"ON_LINUX" -D"H264ENC_EDMA" -D"_DEBUG" -D"DM365_IPC_INTC_ENABLE" -U"ENABLE_CACHE" -D"SEI_USERDATA_INSERTION" -U"BASE_PARAMS" -D"DEVICE_ID_CHECK" -U"PASS_SAD_MV_APPL" -U"ENABLE_ARM926_TCM" -D"ENABLE_ROI" -D"SIMPLE_TWO_PASS" -U"PROFILE_ONLINUX" -D"MEGA_PIX"   -o release/alg_control.o  ../../test/src/alg_control.c
../../test/src/alg_control.c:19:21: error: xdc/std.h: No such file or directory
../../test/src/alg_control.c:20:37: error: ti/sdo/fc/utils/api/alg.h: No such file or directory
../../test/src/alg_control.c:21:28: error: ti/xdais/ialg.h: No such file or directory
../../test/src/alg_control.c:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'ALG_control'
make: *** [alg_control.o] Error 1

 

It seems to be having trouble linking the header files specified in alg_control.c

Any ideas what needs to be added to makefile to get it to compile and link? 

Thanks

Derek

 

ps.  Here is a printout of the makefile

ROOTDIR = ./
TARGET = h264venc
REL_LIB = $(TARGET)-r.a
REL_BIN = $(TARGET)-r
 
ALG_LIB1 = ../../../../lib/h264venc_ti_arm926.a
ALG_LIB2 = ../../../../lib/h264v_ti_dma_dm365.a 
 
include $(ROOTDIR)/rules.make
 
CGTOOLS = $(MVTOOL_DIR)
CEPATH = $(CE_INSTALL_DIR)
 
XDC_PATH = $(XDAIS_INSTALL_DIR)/packages;$(LINUXUTILS_INSTALL_DIR)/packages;$(FC_INSTALL_DIR)/packages;$(FC_INSTALL_DIR)/examples;$(CEPATH)/packages;$(CEPATH)/cetools/packages;$(LINUXUTILS_INSTALL_DIR)/packages;
 
#Configuro Changes
#Base name of app's config script - This needs to externally specified while
#building DVTB
ifeq ($(COMPILER),mvl)
XDCTARGET = gnu.targets.MVArm9
else
ifeq ($(COMPILER),cst)
XDCTARGET = gnu.targets.arm.GCArmv5T
else
$(error COMPILER option not set correctly: $(COMPILER))
endif
endif
XDCPLATFORM = ti.platforms.evmDM365
 
#Configuro generated files
XDC_COMPILER_FILE = $(CONFIGPKG)/compiler.opt
XDC_LINKER_FILE = $(CONFIGPKG)/linker.cmd
CONFIGPKG = h264venc_ti_dm365testapp_linux
 
#Path to Configuro utility
CONFIGURO = XDCPATH="$(XDC_PATH)" $(XDC_INSTALL_DIR)/xs xdc.tools.configuro
 
C_FLAGS += -g -D"LOW_LATENCY_FEATURE" -D"_ARM926" -D"ON_LINUX" -D"H264ENC_EDMA" -D"_DEBUG" -D"DM365_IPC_INTC_ENABLE" -U"ENABLE_CACHE" -D"SEI_USERDATA_INSERTION" -U"BASE_PARAMS" -D"DEVICE_ID_CHECK" -U"PASS_SAD_MV_APPL" -U"ENABLE_ARM926_TCM" -D"ENABLE_ROI" -D"SIMPLE_TWO_PASS" -U"PROFILE_ONLINUX" -D"MEGA_PIX"
 
 
INCLUDES += -I../../test/inc -I../../../inc -I../../../../H264_dma/inc -I../../../../csl/arm/include -I../../../../csl/kld/include \
         -I $(LINUXKERNEL_INSTALL_DIR)/include -I $(XDAIS_INSTALL_DIR)/packages/ti/xdais/include
 
LD_LIBS += -lpthread $(EDITLINE_LIB)  -lstdc++ $(ALG_LIB1) $(ALG_LIB2) 
 
AR_FLAGS += -r 
 
CC = $(MVTOOL_PREFIX)gcc $(INCLUDES) $(C_FLAGS) $(shell cat $(XDC_COMPILER_FILE)) -c
AR = $(MVTOOL_PREFIX)ar
LN = $(MVTOOL_PREFIX)gcc
 
REL_FLAGS =
 
SOURCES = $(wildcard *.c)
 
REL_OBJ = $(SOURCES:%.c=release/%.o)
 
OBJECTS = alg_control.o alg_create.o alg_malloc.o h264encoderapp.o h264venc.o #hdvicp_framework.o 
OBJECTS1 = ./release/alg_control.o ./release/alg_create.o ./release/alg_malloc.o ./release/h264encoderapp.o ./release/h264venc.o #./release/hdvicp_framework.o
 
all:    $(REL_BIN)
 
#Dependency on Config package
$(XDC_COMPILER_FILE) $(XDC_LINKER_FILE) : $(CONFIGPKG)
 
#Config package dependency
ifeq ($(COMPILER),mvl)
$(CONFIGPKG) : $(CONFIGPKG).cfg
    @mkdir -p release
    $(CONFIGURO) -c $(MVTOOL_DIR) -o $(CONFIGPKG) -t $(XDCTARGET) -p $(XDCPLATFORM) $(CONFIGPKG).cfg
else
ifeq ($(COMPILER),cst)
$(CONFIGPKG) : $(CONFIGPKG).cfg
    @mkdir -p release
    @$(CONFIGURO) -c $(MVTOOL_DIR) -o $(CONFIGPKG) -t $(XDCTARGET) -p $(XDCPLATFORM) -b ./config.bld $(CONFIGPKG).cfg
else
$(error COMPILER option not set correctly: $(COMPILER))
endif
endif     
$(REL_OBJ):    release/%.o: %.c $(XDC_COMPILER_FILE)
    @mkdir -p release
    $(CC) $(C_FLAGS) $(XDC_INCLUDES) $(REL_FLAGS) -o $@ $<
 
alg_control.o:
    $(CC) $(C_FLAGS) $(XDC_INCLUDES) $(REL_FLAGS) -o release/alg_control.o  ../../test/src/alg_control.c
alg_create.o:
    $(CC) $(C_FLAGS) $(XDC_INCLUDES) $(REL_FLAGS) -o release/alg_create.o  ../../test/src/alg_create.c 
alg_malloc.o:
    $(CC) $(C_FLAGS) $(XDC_INCLUDES) $(REL_FLAGS) -o release/alg_malloc.o  ../../test/src/alg_malloc.c 
h264encoderapp.o:
    $(CC) $(C_FLAGS) $(XDC_INCLUDES) $(REL_FLAGS) -o release/h264encoderapp.o  ../../test/src/h264encoderapp.c 
#h264encoderapp.o:
#    $(CC) $(C_FLAGS) $(XDC_INCLUDES) $(REL_FLAGS) -o release/h264encoderapp.o  ../../test/src/h264encoderapp_base.c 
hdvicp_framework.o:
    $(CC) $(C_FLAGS) $(XDC_INCLUDES) $(REL_FLAGS) -o release/hdvicp_framework.o  ../../test/src/hdvicp_framework.c 
h264venc.o:
    $(CC) $(C_FLAGS) $(XDC_INCLUDES) $(REL_FLAGS) -o release/h264venc.o  ../../test/src/h264venc.c 
testapp_arm926intc.o:
    $(CC) $(C_FLAGS) $(XDC_INCLUDES) $(REL_FLAGS) -o release/testapp_arm926intc.o  ../../test/src/testapp_arm926intc.c 
 
$(REL_BIN): $(XDC_LINKER_FILE) $(OBJECTS) 
    $(LN) -o $@ $(OBJECTS1) $(LD_LIBS) $(XDC_LINKER_FILE)
 
clean::
    -rm -rf release
    -rm -rf $(REL_LIB)
    -rm -rf $(REL_BIN)
    -rm -rf $(CONFIGPKG)
 
copy:
    cp h264venc-r /opt/yashwant/target/root/h264linux/h264_encoder/client/build/arm926/

 

 

Also, here is the associated rules.make:

#Set the compiler option to be used for building testapp. mvl = Montvista Cross Compiler, cst = CodeSourcery_Toolchain
COMPILER = cst
 
# The installation directory of the DVSDK.
DVSDK_INSTALL_DIR=/home/drichardson/ti-dvsdk_dm368-evm_4_02_00_06
 
# Set location of various tools
XDC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdctools_3_16_03_36
LINUXKERNEL_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/psp/linux-2.6.32.17-psp03.01.01.39
CSTOOL_DIR=/home/drichardson/CodeSourcery/Sourcery_G++_Lite/
CSTOOL_PREFIX=$(CSTOOL_DIR)/bin/arm-none-linux-gnueabi-
MVTOOL_DIR=$(CSTOOL_DIR)
MVTOOL_PREFIX=$(CSTOOL_PREFIX)
CGTOOLS=$(MVTOOL_DIR)
FC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/framework-components_2_26_00_01
LINUXUTILS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/linuxutils_2_26_01_02
XDAIS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdais_6_26_01_03
CE_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/codec-engine_2_26_02_11