blob: 5f78b7287b707cfd9d06e584366b96ae915d6137 [file] [log] [blame]
# SPDX-License-Identifier: MediaTekProprietary
# @see http://mtkswits01/~wimac
# @see libbase/Makefile
# @see libbase/Makefile.config
PREFIX = ../install
NAME = speech_dmn
COMPILER = GNU
CROSS = arm-linux-
CROSS_SUP= arm-linux- arm-none-eabi- aarch64-linux-
GCC = $(CROSS)gcc
CC = $(GCC)
CXX = $(CROSS)g++
OBJDUMP = $(CROSS)objdump
OBJCOPY = $(CROSS)objcopy
AR = $(CROSS)ar
ifeq ($(strip $(TARGET_PLATFORM)), mt2735)
OFLAGS = -g -O0 -fPIC -Wno-missing-braces
else
OFLAGS = -g -O0 -fPIC -Wno-missing-braces -march=armv7ve -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7
endif
ifeq ($(strip $(CROSS)), arm-linux-)
CFLAGS = -mthumb-interwork
endif
INIT = syss_init
LDFLAGS = $(BB_LDFLAGS_ADD) -Wl,--hash-style=gnu -L. -L $(ROOT)/lib
LOCAL_PATH = .
all: libspeech_drv.so speech_daemon libspeechparser_vendor.so
CFLAGS += -DMTK_YOCTO_AUDIO
INCLUDE = -Ios/include \
-Ios
INTF_LIB_INCLUDE = -llog \
-lpthread
libspeech_drv.so: speech_drv.o
$(CC) $(OFLAGS) $(INCLUDE) -llog -shared -o $@ speech_drv.o
speech_drv.o: os/include/speech_drv.h
$(CC) $(OFLAGS) $(INCLUDE) $(INTF_LIB_INCLUDE) ${CFLAGS} -c os/drv/speech_drv.c -o $@
#----------------------------------------------------------------------------------------
INCLUDE= -I$(ROOT)/include \
-I$(ROOT)/usr/include \
-Ihardware/include \
-Ios \
-Ios/system \
-Ios/include \
-Isp_hal/utility \
-Isp_hal/utility/uthash \
-Isp_hal/include \
-Isp_hal/V3/include
INCLUDE += -IAudioSpeechEnhancement
INCLUDE += -IAudioSpeechEnhancement/ENH_Parser
INCLUDE += -IAudioSpeechEnhancement/media
CXXSRC= \
os/drv/SpeechModemController.cpp \
os/drv/MtkAudioSrc.cpp \
sp_hal/speech_driver/SpeechDriverNormal.cpp \
sp_hal/speech_driver/SpeechMessengerNormal.cpp \
sp_hal/speech_driver/SpeechDriverFactory.cpp \
sp_hal/speech_driver/SpeechDriverDummy.cpp \
sp_hal/speech_driver/SpeechMessageID.cpp \
sp_hal/speech_driver/SpeechMessageQueue.cpp \
sp_hal/speech_driver/SpeechParserBase.cpp \
sp_hal/speech_driver/SpeechShareMemBase.cpp \
sp_hal/speech_driver/SpeechExtMemCCCI.cpp \
sp_hal/speech_driver/SpeechUtility.cpp \
sp_hal/speech_driver/SpeechConfig.cpp \
sp_hal/speech_driver/SpeechEnhancementController.cpp \
sp_hal/speech_driver/SpeechBGSPlayer.cpp \
sp_hal/speech_driver/SpeechEcallController.cpp \
sp_hal/speech_driver/SpeechPcm2way.cpp \
sp_hal/aud_drv/AudioEventThreadManager.cpp \
sp_hal/aud_drv/AudioUtility.cpp \
sp_hal/V3/speech_driver/SpeechVMRecorder.cpp \
sp_hal/V3/aud_drv/AudioVolumeFactory.cpp \
hardware/src/AudioGainTableParamParser.cpp \
hardware/src/AudioALSAGainController.cpp \
hardware/src/AudioALSAHardwareResourceManager.cpp \
hardware/src/WCNChipController.cpp \
hardware/src/AudioALSADriverUtility.cpp
ifeq ($(strip $(TARGET_PLATFORM)), mt2735)
CXXSRC += sp_hal/speech_driver/SpeechShareMemGen95.cpp
CXXSRC += sp_hal/speech_driver/SpeechExtMemUSIP.cpp
CXXSRC += hardware/src/SpeechParserGen95.cpp
else
CXXSRC += sp_hal/speech_driver/SpeechShareMemGen93.cpp
CXXSRC += hardware/src/SpeechParserGen93.cpp
endif
CSRC= \
sp_hal/utility/audio_lock.c \
sp_hal/utility/audio_time.c
LIB_INCLUDE = -llog \
-lpthread \
-lxml2 \
-laudioparamparser \
-lutils
CFLAGS += -DMTK_COMBO_MODEM_SUPPORT
CFLAGS += -DMTK_AUDIO_HIERARCHICAL_PARAM_SUPPORT
CFLAGS += -DMTK_CCCI_SHARE_BUFFER_SUPPORT
CFLAGS += -DCONFIG_MT_ENG_BUILD
CFLAGS += -DMTK_SPEECH_BGS_SUPPORT
CFLAGS += -DSPH_SR32K
CFLAGS += -DMTK_AUDIO_GAIN_TABLE
CFLAGS += -DMTK_NEW_VOL_CONTROL
CFLAGS += -DMTK_INCALL_DE_REVERB
CFLAGS += -DMTK_SPEECH_ECALL_SUPPORT
CFLAGS += -DMTK_AUDIO_TRYLOCK_NOT_SUPPORT
#CFLAGS += -DMTK_SPEECH_MD_LPBK_TX2RX
ifeq ($(strip $(TARGET_PLATFORM)), mt2735)
CFLAGS += -DMTK_SPEECH_USIP_EMI_SUPPORT
CFLAGS += -DMTK_DTMF_REMOVAL_SUPPORT
endif
CXXOBJS=$(CXXSRC:.cpp=.o)
COBJS=$(CSRC:.c=.o)
%.o : %.cpp
$(CXX) $(OFLAGS) $(INCLUDE) ${CFLAGS} -c -o $@ $<
%.o : %.c
$(CC) $(OFLAGS) $(INCLUDE) ${CFLAGS} -c -o $@ $<
libspeechparser_vendor.so:
$(CXX) $(OFLAGS) $(INCLUDE) $(LIB_INCLUDE) ${CFLAGS} -c AudioSpeechEnhancement/ENH_Parser/SpeechParser.cpp -o SpeechParser.o
$(CXX) $(OFLAGS) $(INCLUDE) $(LIB_INCLUDE) ${CFLAGS} -c AudioSpeechEnhancement/media/AudioParameter.cpp -o AudioParameter.o
$(CXX) ${CFLAGS} SpeechParser.o AudioParameter.o $(LDFLAGS) $(LIBS_PATH) ${LIB_INCLUDE} -shared -o libspeechparser_vendor.so
libspeech_dmn.so: $(COBJS) $(CXXOBJS)
@echo "DEBUG:COBJS="$(COBJS)
@echo "DEBUG:CXXOBJS="$(CXXOBJS)
$(CXX) $(SYSPATH) $(COBJS) $(CXXOBJS) ${LDFLAGS} ${LIB_INCLUDE} -shared -o libspeech_dmn.so
#----------------------------------------------------------------------------------------
SRC_DAEMON= \
os/drv/SpeechDaemon.cpp
LIB_INCLUDE_DAEMON = -llog \
-lpthread \
-lspeech_dmn
CXXOBJS_DAEMON=$(SRC_DAEMON:.cpp=.o)
%.o : %.cpp
$(CXX) $(OFLAGS) $(INCLUDE) ${CFLAGS} -c -o $@ $<
speech_daemon: $(CXXOBJS_DAEMON) libspeech_dmn.so
@echo "DEBUG:CXXOBJS_DAEMON="$(CXXOBJS_DAEMON)
$(CXX) $(SYSPATH) $(LDFLAGS) ${LIB_INCLUDE_DAEMON} $(CXXOBJS_DAEMON) -o speech_daemon
#----------------------------------------------------------------------------------------
install:
mkdir -p $(ROOT)/${base_libdir}/
cp -af lib$(NAME).so $(ROOT)/${base_libdir}/
cp -af libspeech_drv.so $(ROOT)/${base_libdir}/
cp -af libspeechparser_vendor.so $(ROOT)/${base_libdir}/
chmod a+x speech_daemon
mkdir -p $(ROOT)/${base_bindir}/
cp -af speech_daemon $(ROOT)/$(base_bindir)/
mkdir -p ../export_include
mkdir -p ../export_include/system
mkdir -p ../export_include/hardware
mkdir -p ../export_include/utils
cp -af sp_hal/include/SpeechFeatureDef.h ../export_include/
cp -af sp_hal/include/SpeechType.h ../export_include/
cp -af os/include/* ../export_include/
cp -af os/system/* ../export_include/system
cp -af os/hardware/* ../export_include/hardware
cp -af os/utils/* ../export_include/utils
clean:
rm -f speech_daemon libspeech_dmn.so libspeech_drv.so libspeechparser_vendor.so
rm -f *.o *.d
rm -f export_include/*.h