123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- # SPDX-License-Identifier: GPL-2.0
- #
- # Copyright (C) 2021 StarFive Technology Co., Ltd.
- #
- # Project: Starfive Openmax IL Shimlayer
- #
- .PHONY: CREATE_DIR
- BUILD_CONFIGURATION := EmbeddedRiscvLinux
- PRODUCT := OMX_IL
- ifeq ("$(BUILD_CONFIGURATION)", "EmbeddedRiscvLinux")
- CROSS_CC_PREFIX = riscv64-buildroot-linux-gnu-
- PLATFORM = riscvlinux
- endif
- CC = $(CROSS_CC_PREFIX)gcc
- CXX = $(CROSS_CC_PREFIX)g++
- LINKER=$(CC)
- AR = $(CROSS_CC_PREFIX)ar
- DEFINES = -DUSE_FEEDING_METHOD_BUFFER
- INCLUDES = -I./include/khronos -I./core -I./component/video/wave5/common -I./component/video/wave4 -I./component/helper
- $(warning "the value of LOCAL_PATH is$(STAGING_DIR)")
- INCLUDES += -I$(STAGING_DIR)/usr/include/
- INCLUDES += -I$(STAGING_DIR)/usr/include/wave420l/
- INCLUDES += -I$(STAGING_DIR)/usr/include/wave420l/vpuapi/
- INCLUDES += -I$(STAGING_DIR)/usr/include/wave420l/sample/helper/
- #INCLUDES += -I$(STAGING_DIR)/usr/include/wave420l/sample/helper/misc/
- #mjpeg
- INCLUDES += -I./component/image/common
- CFLAGS += -g -I. $(INCLUDES) $(DEFINES) $(PLATFORM_FLAGS)
- CFLAGS += -fpic
- ARFLAGS += cru
- LDFLAGS = -ldl -lpthread -Wl,--fatal-warning
- LDFLAGS_FFMPEG = -lavformat -lavcodec -lavutil -lswresample
- OBJDIR=obj
- ALLOBJS=*.o
- ALLDEPS=*.dep
- ALLLIBS=*.a
- RM=rm -f
- MKDIR=mkdir -p
- #vpu
- SOURCES_COMMON = SF_OMX_Core.c SF_OMX_video_common.c
- SOURCES_COMMON += SF_OMX_Vdec_decoder.c
- SOURCES_COMMON += SF_OMX_Wave420L_encoder.c
- SOURCES_COMMON += sf_queue.c
- SOURCES_COMMON += sf_thread.c
- SOURCES_COMMON += sf_semaphore.c
- #mjpeg
- SOURCES_COMMON += SF_OMX_mjpeg_common.c SF_OMX_Mjpeg_decoder.c
- #test
- SOURCES_DEC_TEST = dec_test.c
- SOURCES_ENC_TEST = enc_test.c
- MJPET_SOURCES_DEC_TEST = mjpeg_dec_test.c
- VPATH = component/video/wave5/common:
- #VPATH += component/video/enc:
- VPATH += component/video/wave5/dec:
- VPATH += component/video/wave4:
- VPATH += component/helper:
- VPATH += core:
- VPATH += tests:
- #mjpeg
- VPATH += component/image/common:
- VPATH += component/image/dec:
- OBJECTNAMES_COMMON=$(patsubst %.c,%.o,$(SOURCES_COMMON))
- OBJECTPATHS_COMMON=$(addprefix $(OBJDIR)/,$(notdir $(OBJECTNAMES_COMMON)))
- OBJECTNAMES_DEC_TEST=$(patsubst %.c,%.o,$(SOURCES_DEC_TEST))
- OBJECTPATHS_DEC_TEST=$(addprefix $(OBJDIR)/,$(notdir $(OBJECTNAMES_DEC_TEST)))
- OBJECTNAMES_ENC_TEST=$(patsubst %.c,%.o,$(SOURCES_ENC_TEST))
- OBJECTPATHS_ENC_TEST=$(addprefix $(OBJDIR)/,$(notdir $(OBJECTNAMES_ENC_TEST)))
- OBJECTNAMES_MJPEG_DEC_TEST=$(patsubst %.c,%.o,$(MJPET_SOURCES_DEC_TEST))
- OBJECTPATHS_MJPEG_DEC_TEST=$(addprefix $(OBJDIR)/,$(notdir $(OBJECTNAMES_MJPEG_DEC_TEST)))
- all: omx-il
- omx-il: CREATE_DIR $(OBJECTPATHS_COMMON)
- $(CC) -g -fPIC -shared -o libsf-omx-il.so $(OBJECTPATHS_COMMON)
- test: video-dec-test video-enc-test mjpeg-dec-test
- video-dec-test: CREATE_DIR $(OBJECTPATHS_DEC_TEST)
- $(CC) -o video_dec_test $(LDFLAGS) $(LDFLAGS_FFMPEG) -lsf-omx-il $(OBJECTPATHS_DEC_TEST) -L./
- video-enc-test: CREATE_DIR $(OBJECTPATHS_ENC_TEST)
- $(CC) -o video_enc_test $(LDFLAGS) $(LDFLAGS_FFMPEG) -lsf-omx-il $(OBJECTPATHS_ENC_TEST) -L./
- mjpeg-dec-test: CREATE_DIR $(OBJECTPATHS_MJPEG_DEC_TEST)
- $(CC) -g -o mjpeg_dec_test $(LDFLAGS) $(LDFLAGS_FFMPEG) -lsf-omx-il $(OBJECTPATHS_MJPEG_DEC_TEST) -L./
- clean:
- CREATE_DIR:
- -mkdir -p $(OBJDIR)
- obj/%.o: %.c $(MAKEFILE)
- $(CC) $(CFLAGS) -Wall -Werror -c $< -o $@ -MD -MF $(@:.o=.dep)
|