| # 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 |