-e90961, fix aac+vqe "reamain data not process AEC" bug. -3c08de, split module vpu into vi vo vpss rgn gdc. -b5d998, (ive): add comment to api. -166849, mw support arm32. Change-Id: Ied488d392da9eed2e3a94e1244eeee540c389372
240 lines
5.8 KiB
Makefile
240 lines
5.8 KiB
Makefile
SHELL = /bin/bash
|
|
STATIC = 0
|
|
ifeq ($(PARAM_FILE), )
|
|
ifeq ($(MW_VER), )
|
|
PARAM_FILE:=../../Makefile.param
|
|
include $(PARAM_FILE)
|
|
else
|
|
PARAM_FILE:=../../../$(shell echo $(MW_VER))/Makefile.param
|
|
include $(PARAM_FILE)
|
|
endif
|
|
endif
|
|
|
|
include ../sample.mk
|
|
|
|
SDIR = $(PWD)
|
|
3PARTY_INCLUDE = include/include
|
|
SRCS = $(wildcard $(SDIR)/*.c)
|
|
INCS = -I$(MW_INC) -I$(ISP_INC) -I$(COMM_INC) -I$(3PARTY_INCLUDE) -Iaac_sample
|
|
INCS += -I$(MW_INC)/../3rdparty/libmad/include
|
|
INCS += -I$(MW_INC)/../3rdparty/lame/include
|
|
ifeq ($(CVIARCH), $(filter $(CVIARCH), CV181X CV180X))
|
|
INCS += -I$(PWD)/include -I$(KERNEL_INC)
|
|
ifneq ($(CONFIG_ENABLE_SDK_ASAN), y)
|
|
USE_CVIAUDIO_STATIC = no
|
|
endif
|
|
else
|
|
INCS += -I$(PWD)/include
|
|
USE_CVIAUDIO_STATIC = no
|
|
endif
|
|
|
|
ifeq ($(USE_CVIAUDIO_STATIC), yes)
|
|
SRCS = $(filter-out $(SDIR)/cvi_audio_dl_adp.c, $(wildcard $(SDIR)/*.c))
|
|
endif
|
|
OBJS = $(SRCS:.c=.o)
|
|
DEPS = $(SRCS:.c=.d)
|
|
|
|
USE_ION_MEM = no
|
|
USE_ALSA = no
|
|
USE_TINYALSA = yes
|
|
USE_NE10 = no
|
|
USE_SYSTRACE = no
|
|
USE_ALGO = yes
|
|
USE_CVI_AEC = yes
|
|
SUPPORT_EXTERNAL_AAC = yes
|
|
USE_SYS_GLOBAL_LOG = no
|
|
MULTI_PROCESS_SUPPORT_AUDIO = no
|
|
USE_NEXT_SSP_DUAL = yes
|
|
USE_SONIC_LIB = no
|
|
|
|
DEFINES = -DCHIP_CV1835
|
|
DEFINES += -DCVI_MODIFIED
|
|
DEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
|
|
DEFINES += -DUSE_ALSA
|
|
DEFINES += -DUSE_ALGO_SOURCE
|
|
ifeq ($(USE_NE10), yes)
|
|
DEFINES += -DUSE_NE10_FFT
|
|
endif
|
|
ifeq ($(USE_ION_MEM), yes)
|
|
DEFINES += -DION_MEM
|
|
endif
|
|
ifeq ($(USE_SYS_GLOBAL_LOG), yes)
|
|
DEFINES += -DAUDIO_PRINT_WITH_GLOBAL_COMM_LOG
|
|
endif
|
|
ifeq ($(USE_CVI_AEC), no)
|
|
DEFINES += -DEXTERNAL_AEC
|
|
else
|
|
#DEFINES += -DUSE_CVI_AEC
|
|
endif
|
|
ifeq ($(SUPPORT_EXTERNAL_AAC), yes)
|
|
DEFINES += -DSUPPORT_EXTERNAL_AAC
|
|
endif
|
|
|
|
ifeq ($(USE_NEXT_SSP_DUAL), yes)
|
|
DEFINES += -DNEXT_SSP_ALGO
|
|
endif
|
|
|
|
ifeq ($(USE_CVIAUDIO_STATIC), yes)
|
|
DEFINES += -DCVIAUDIO_STATIC
|
|
STATIC_FLAG = -static
|
|
else
|
|
STATIC_FALG =
|
|
endif
|
|
|
|
ifeq ($(USE_SONIC_LIB), yes)
|
|
DEFINES += -DUSE_SONIC_LIB
|
|
endif
|
|
|
|
ifeq ($(CVIARCH), $(filter $(CVIARCH), CV181X CV180X))
|
|
DEFINES += -DAUD_SUPPORT_KERNEL_MODE
|
|
endif
|
|
|
|
|
|
TEST_INCLUDES =
|
|
TEST_INCLUDES += $(INCS)
|
|
ifeq ($(USE_ALSA), yes)
|
|
INCS += -Iinclude/alsa
|
|
endif
|
|
ifeq ($(USE_TINYALSA), yes)
|
|
INCS += -Iinclude/tinyalsa
|
|
endif
|
|
ifeq ($(SUPPORT_EXTERNAL_AAC), yes)
|
|
TEST_INCLUDES += -I ./aac_sample
|
|
endif
|
|
|
|
INCS += -I ./include/
|
|
|
|
AEC_TEST_LDLIBS += -lcvi_vqe
|
|
ifeq ($(CVIARCH), $(filter $(CVIARCH), CV181X CV180X))
|
|
AEC_TEST_LDLIBS += -lsys
|
|
endif
|
|
|
|
MP3_PLAYER_OBJ = ./cvi_mp3_player/cvi_mp3_player.o
|
|
TEST_OBJ = cvi_sample_audio.o cvi_audio_parse_param.o
|
|
ifeq ($(USE_CVIAUDIO_STATIC), no)
|
|
TEST_OBJ += cvi_audio_dl_adp.o
|
|
endif
|
|
TEST_OBJ_KER_MODE = cvi_sample_audio_rtos.o
|
|
|
|
LDLIBS =
|
|
LDLIBS += -lcvi_audio
|
|
LDLIBS += -lcvi_vqe
|
|
LDLIBS += -lcvi_dnvqe
|
|
LDLIBS += -lcvi_VoiceEngine
|
|
LDLIBS += -lcvi_RES1
|
|
LDLIBS += -lcvi_ssp
|
|
LDLIBS += -lcvi_ssp2
|
|
|
|
ifeq ($(USE_CVIAUDIO_STATIC), yes)
|
|
LDLIBS += -lcvi_ssp
|
|
LDLIBS += -lcvi_ssp2
|
|
endif
|
|
|
|
ifeq ($(USE_ALSA), yes)
|
|
LDLIBS += -lasound
|
|
endif
|
|
ifeq ($(USE_TINYALSA), yes)
|
|
LDLIBS += -ltinyalsa
|
|
endif
|
|
ifeq ($(USE_SYS_GLOBAL_LOG), yes)
|
|
LDLIBS += -lvi -lvo -lvpss -lrgn -lgdc -lsys
|
|
endif
|
|
|
|
ifeq ($(SUPPORT_EXTERNAL_AAC), yes)
|
|
TEST_OBJ += ./aac_sample/cvi_audio_aac_adp.o
|
|
LDLIBS += -laacdec2
|
|
LDLIBS += -laacsbrdec2
|
|
LDLIBS += -laacenc2
|
|
LDLIBS += -laaccomm2
|
|
LDLIBS += -laacsbrenc2
|
|
endif
|
|
LDLIBS += -pthread
|
|
ifeq ($(CVIARCH), $(filter $(CVIARCH), CV181X CV180X))
|
|
LDLIBS += -lsys
|
|
endif
|
|
|
|
LDLIBS_WO_AAC = -lsys -latomic -lcvi_audio -lcvi_vqe -lcvi_VoiceEngine -lcvi_RES1 -ltinyalsa -lm -lpthread -ldl
|
|
|
|
EXTRA_CFLAGS = -fPIC $(OPT_LEVEL) -Wno-implicit-function-declaration -I. $(INCS) $(DEFINES)
|
|
EXTRA_LDFLAGS = $(LDLIBS) -lm -lpthread -ldl
|
|
|
|
MP3_EXTRA_LDFLAGS = -lcvi_mp3 -lmad -lcvi_audio -lm -lpthread -ldl -lcvi_VoiceEngine -lcvi_vqe -ltinyalsa -lcvi_RES1
|
|
|
|
ifeq ($(MULTI_PROCESS_SUPPORT_AUDIO), yes)
|
|
DEFINES += -DRPC_MULTI_PROCESS
|
|
DEFINES += -DRPC_MULTI_PROCESS_AUDIO
|
|
DEFINES += -DCVIAUDIO_STATIC
|
|
EXTRA_LDFLAGS += -lnanomsg
|
|
endif
|
|
|
|
ifeq ($(SAMPLE_STATIC),1)
|
|
#softlink so lib will not be enough
|
|
#need to link all the audio related .a file
|
|
AEC_TEST_LDLIBS = $(LDLIBS)
|
|
else ifeq ($(USE_CVIAUDIO_STATIC), yes)
|
|
AEC_TEST_LDLIBS = $(LDLIBS)
|
|
endif
|
|
|
|
AUDIO_ELFFLAGS := $(ELFFLAGS)
|
|
ELFFLAGS = $(filter-out -static, $(AUDIO_ELFFLAGS))
|
|
|
|
.PHONY : clean all
|
|
|
|
|
|
ifeq ($(MULTI_PROCESS_SUPPORT_AUDIO), yes)
|
|
ifeq ($(CONFIG_ENABLE_SDK_ASAN), y)
|
|
all : sample_audio check_and_leave sample_audio_asan
|
|
else
|
|
all : sample_audio check_and_leave sample_multi_process
|
|
endif
|
|
else
|
|
all : sample_audio check_and_leave
|
|
endif
|
|
|
|
|
|
%.o : %.c
|
|
@$(CC) $(DEPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) -o $@ -c $<
|
|
@echo [$(notdir $(CC))] $(notdir $@)
|
|
|
|
sample_audio: $(TEST_OBJ)
|
|
@$(CXX) -o $@ $(TEST_OBJ) $(ELFFLAGS) $(STATIC_FLAG) $(EXTRA_LDFLAGS)
|
|
@echo -e $(BLUE)[LINK]$(END)[$(notdir $(CXX))] $(notdir $@)
|
|
|
|
sample_audio_asan: $(TEST_OBJ)
|
|
@$(CXX) -o $@ $(TEST_OBJ) $(ELFFLAGS) $(EXTRA_LDFLAGS_WITH_ASAN) $(EXTRA_LDFLAGS)
|
|
@echo -e $(BLUE)[LINK]$(END)[$(notdir $(CXX))] $(notdir $@)
|
|
|
|
cvi_mp3player: $(MP3_PLAYER_OBJ)
|
|
@$(CXX) -o $@ $(MP3_PLAYER_OBJ) $(ELFFLAGS) $(EXTRA_LDFLAGS) $(MP3_EXTRA_LDFLAGS)
|
|
@echo -e $(BLUE)[LINK]$(END)[$(notdir $(CXX))] $(notdir $@)
|
|
@cp cvi_mp3player sample_mp3player
|
|
|
|
sample_audio_rtos: $(TEST_OBJ_KER_MODE)
|
|
$(CXX) -o $@ $(TEST_OBJ_KER_MODE) $(ELFFLAGS) -static $(LDLIBS_WO_AAC)
|
|
@echo -e $(BLUE)[LINK]$(END)[$(notdir $(CXX))] $(notdir $@)
|
|
|
|
check_and_leave:
|
|
@echo "audio check and leave..remove unnecessary libs"
|
|
@rm -rf $(MW_PATH)/lib/3rd/libmad*
|
|
@rm -rf $(MW_PATH)/lib/3rd/libmp3lame*
|
|
|
|
sample_multi_process:
|
|
cd ./multiprocess_case/down_example; make clean;make
|
|
cd ./multiprocess_case/up_example; make clean;make
|
|
|
|
clean:
|
|
@echo "sample/audio/clean in" $(MW_PATH)
|
|
@rm -f $(OBJS) $(DEPS) $(TEST_OBJ) $(MP3_PLAYER_OBJ)
|
|
@rm -rf sample_audio*
|
|
@rm -rf *.o
|
|
@rm -rf cvi_mp3player
|
|
@rm -rf sample_mp3*
|
|
@rm -rf ./cvi_mp3_player/*.d
|
|
@rm -rf cvi_mp3recorder
|
|
@rm -rf ssp_NotchTest*
|
|
@rm -rf $(MW_PATH)/lib/3rd/libmad*
|
|
@rm -rf $(MW_PATH)/lib/3rd/libmp3lame*
|
|
@rm -rf $(MW_PATH)/lib/3rd/libcvi_mp3*
|
|
|
|
-include $(DEPS)
|