184 lines
5.3 KiB
Makefile
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))
|