Files
BPI-CM9-Linux/aml-comp/hardware/amlogic/libencoder/multiEnc/test_sample/Makefile
T
2026-08-24 10:03:24 +08:00

184 lines
5.3 KiB
Makefile

#
# Copyright (c) 2019 Amlogic, Inc. All rights reserved.
#
#This source code is subject to the terms and conditions defined in below
# which is part of this source code package.
#
# Description:
# copyright (c) 2019 amlogic, inc. all rights reserved.
#
# all information contained herein is amlogic confidential.
#
# this software is provided to you pursuant to software license
# agreement (sla) with amlogic inc ("amlogic"). this software may be
# used only in accordance with the terms of this agreement.
#
# redistribution and use in source and binary forms, with or without
# modification is strictly prohibited without prior written permission
# from amlogic.
#
# this software is provided by the copyright holders and contrIBUTORS
# "as is" and any express or implied warranties, including, buT NOT
# limited to, the implied warranties of merchantability and fiTNESS FOR
# a particular purpose are disclaimed. in no event shall the cOPYRIGHT
# owner or contributors be liable for any direct, indirect, inCIDENTAL,
# special, exemplary, or consequential damages (including, but NOT
# limited to, procurement of substitute goods or services; losS OF USE,
# data, or profits; or business interruption) however caused aND ON ANY
# theory of liability, whether in contract, strict liability, OR TORT
# (including negligence or otherwise) arising in any way out oF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.PHONY: CREATE_DIR clean all
OUT_DIR ?= .
$(info "OUT_DIR : $(OUT_DIR)")
PRODUCT := VP521C
$(shell cp component_list_encoder.h component/component_list.h)
USE_FFMPEG = no
USE_PTHREAD = yes
USE_RTL_SIM = no
LINT_HOME = etc/lint
BUILD_CONFIGURATION = EmbeddedLinux
UNAME = $(shell uname -a)
ifneq (,$(findstring i386, $(UNAME)))
USE_32BIT = yes
endif
ifeq ($(RTL_SIM), 1)
USE_RTL_SIM = yes
endif
ifeq ($(USE_32BIT), yes)
PLATFORM = nativelinux
else
PLATFORM = nativelinux_64bit
endif
#VDI_C = vdi/linux/vdi.c
#VDI_OSAL_C = vdi/linux/vdi_osal.c
MM_C =
PLATFORM_FLAGS =
VDI_VPATH =
INCLUDES = -I../vpuapi -I../vpuapi/include -I./helper -I./helper/misc -I./component
INCLUDES += -I./component_encoder -I./ffmpeg/include
DEFINES += -D$(PRODUCT)
ifeq ($(USE_RTL_SIM), yes)
DEFINES += -DCNM_SIM_PLATFORM -DCNM_SIM_DPI_INTERFACE -DSUPPORT_ENCODER
MM_C = ../vdi/mm.c
else
endif #USE_RTL_SIM
DEFINES += $(USER_DEFINES)
CFLAGS += -g -I. -Wno-implicit-function-declaration -Wno-format -Wl,--fatal-warning $(INCLUDES) $(DEFINES) $(PLATFORM_FLAGS)
ifeq ($(USE_RTL_SIM), yes)
ifeq ($(IUS), 1)
CFLAGS += -fPIC # ncverilog is 64bit version
endif
endif
ARFLAGS += cru
LDFLAGS += $(PLATFORM_FLAGS)
ifeq ($(USE_FFMPEG), yes)
LDLIBS += -lavformat -lavcodec -lavutil
LDFLAGS += -L./ffmpeg/lib/$(PLATFORM)
ifneq ($(USE_32BIT), yes)
LDLIBS += -lz
endif #USE_32BIT
endif #USE_FFMPEG
ifeq ($(USE_PTHREAD), yes)
LDLIBS += -lpthread
endif
LDLIBS += -lm
TARGET=vp5_enc_test
OBJDIR=obj
ALLOBJS=*.o
ALLDEPS=*.dep
ALLLIBS=*.a
RM=rm -f
MKDIR=mkdir -p
SOURCES = main_enc_test.c \
component_enc_encoder.c \
component_enc_feeder.c \
component_enc_reader.c \
encoder_listener.c \
cnm_app.c \
cnm_task.c \
component.c \
main_helper.c \
vpuhelper.c \
bitstreamreader.c \
bin_comparator_impl.c \
comparator.c \
md5_comparator_impl.c \
yuv_comparator_impl.c \
cfgParser.c \
cnm_video_helper.c \
container.c \
datastructure.c \
yuvfeeder.c \
yuvLoaderfeeder.c \
yuvCfbcfeeder.c \
bw_monitor.c \
pf_monitor.c
#SOURCES += bitstreamfeeder.c
ifeq ($(USE_RTL_SIM), yes)
SOURCES += sample/main_sim.c
endif
VPATH = component_encoder:
#VPATH += component_decoder:
VPATH += helper:
VPATH += helper/bitstream:
VPATH += helper/comparator:
VPATH += helper/display:helper/misc:helper/yuv:component:
LDLIBS += -L$(OUT_DIR)/../vpuapi/ -lamvenc_api
OBJECTNAMES=$(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCES)))
OBJECTPATHS=$(addprefix $(OUT_DIR)/$(OBJDIR)/,$(notdir $(OBJECTNAMES)))
LINT_SRC_INCLUDES = -I. -I./component -I./component_decoder -I./component_encoder
LINT_SRC_INCLUDES += -I./helper -I./helper/bitstream -I./helper/comparator -I./helper/display
LINT_SRC_INCLUDES += -I./helper/misc -I./helper/yuv -I./helper/comparator -I./helper/display
ifeq ($(USE_RTL_SIM), yes)
all: $(OBJECTPATHS)
else
all: $(OBJECTPATHS)
$(CC) -o $(OUT_DIR)/$(TARGET) $(LDFLAGS) -Wl,-gc-section -Wl,--start-group $(OBJECTPATHS) $(LDLIBS) -Wl,--end-group
endif
-include $(OBJECTPATHS:.o=.dep)
clean:
$(RM) $(OUT_DIR)/$(TARGET)
$(RM) $(OUT_DIR)/$(OBJDIR)/$(ALLOBJS)
$(RM) $(OUT_DIR)/$(OBJDIR)/$(ALLDEPS)
%.o: %.c $(MAKEFILE)
$(CC) $(CFLAGS) -Wall -Werror -c $< -o $(OUT_DIR)/$@ -MD -MF $(OUT_DIR)/$(@:.o=.dep)
lint:
"$(LINT_HOME)/flint" -i"$(LINT_HOME)" $(DEFINES) $(INCLUDES) $(LINT_SRC_INCLUDES) linux_std.lnt $(HAPS_RULE) $(NONOS_RULE) $(SOURCES)
$(shell mkdir -p $(OUT_DIR))
$(shell mkdir -p $(OUT_DIR)/$(OBJDIR))