#***********************************************************************
# Ȩ (C)2001,ͨѶɷ޹˾
# 
# ļƣ makefile
# ļʶ usbģ
# ժҪ 
#
# ޸     汾     ޸ı     ޸	     ޸      
# ---------------------------------------------------------------------
# 2014/03/18	V1.0	                xuxinqiang       create&edit
include $(PRJ_PATH)/config/project.mk
include $(DRV_PATH)/ws/drv_cfg.mk
#include $(PRJ_PATH)/config/platform/plat_cfg.mk


#===============================================
#config
#===============================================
_SUBSYS_NAME = audio_base
_SUBSYS_LIB_PATH = $(DRV_LIB_PATH)

#===============================================
#
#===============================================


.PHONY :default lib clean  voice voiceclean i2s i2sclean tdm tdmclean audiolib audiolibclean \
ifneq ($(PS_PRJ_TYPE),lte) \
voiceprocess voiceprocessclean teakaud teakaudclean nxp nxpclean \
else\
voiceprocess voiceprocessclean nxp nxpclean \
endif \
codec codecclean audiointf audiointfclean volte volteclean audiomanager audiomanagerclean \
webtrc webrtcclean


#===============================================
# voice config and link to dd
#===============================================:
ifeq ($(USE_VOICE),yes)
voice:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/voice 
voiceclean:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/voice clean
_ALL_MDLS += voice
_ALL_OBJECTS += $(wildcard $(CHIP_OBJ_PATH)/audio_base/voice/*.o)
endif
# i2s config and link to dd
#===============================================:
ifeq ($(USE_I2S),yes)
i2s:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/i2s
i2sclean:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/i2s clean
_ALL_MDLS += i2s
_ALL_OBJECTS += $(wildcard $(CHIP_OBJ_PATH)/audio_base/i2s/*.o)
endif

#===============================================
# tdm config and link to dd
#===============================================:
ifeq ($(USE_TDM),yes)
tdm:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/tdm
tdmclean:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/tdm clean
_ALL_MDLS += tdm
_ALL_OBJECTS += $(wildcard $(CHIP_OBJ_PATH)/audio_base/tdm/*.o)
endif
#===============================================
# voiceprocess config and link to dd
#===============================================:
ifeq ($(USE_VOICEPROCESS),yes)
voiceprocess:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/voiceprocess
voiceprocessclean:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/voiceprocess clean
_ALL_MDLS += voiceprocess
_ALL_OBJECTS += $(wildcard $(CHIP_OBJ_PATH)/audio_base/voiceprocess/*.o)
endif

#===============================================
# teakaud config and link to dd
#===============================================:
ifeq ($(USE_TEAKAUD),yes)
teakaud:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/teakaud
teakaudclean:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/teakaud clean
_ALL_MDLS += teakaud
_ALL_OBJECTS += $(wildcard $(CHIP_OBJ_PATH)/audio_base/teakaud/*.o)
endif


#===============================================
# nxp
#===============================================:
ifeq ($(USE_NXP),yes)
ifeq ($(OSTYPE),tos)	
	_NXP_LIB_PATH = $(CHIP_SRC_PATH)/audio_base/nxp/tos
endif	
ifeq ($(OSTYPE),linux)	
	_NXP_LIB_PATH = $(CHIP_SRC_PATH)/audio_base/nxp/uclinux
else
	_NXP_LIB_PATH = $(CHIP_SRC_PATH)/audio_base/nxp/tos
endif

nxp:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/nxp
	@-$(MKDIR) $(_SUBSYS_LIB_PATH)
	@$(COPY) -u $(_NXP_LIB_PATH)/audio_process.a $(_SUBSYS_LIB_PATH)
nxpclean:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/nxp clean
	@-$(RM) $(_SUBSYS_LIB_PATH)/audio_process.a	
_ALL_MDLS += nxp
_ALL_OBJECTS += $(wildcard $(CHIP_OBJ_PATH)/audio_base/nxp/*.o )
endif
#===============================================
#volte
#===============================================:
ifeq ($(USE_DRV_VOLTE),yes)

volte: 
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/volte
volteclean:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/volte clean 
	
_ALL_MDLS += volte
_ALL_OBJECTS += $(wildcard $(CHIP_OBJ_PATH)/audio_base/volte/*.o)
endif

#===============================================
#audiointf
#===============================================:
ifeq ($(USE_AUDIOINTF),yes)

audiointf: 
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/audiointf
audiointfclean:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/audiointf clean 
	
_ALL_MDLS += audiointf
_ALL_OBJECTS += $(wildcard $(CHIP_OBJ_PATH)/audio_base/audiointf/*.o)
endif

#===============================================
#audiomanager
#===============================================:
ifeq ($(USE_AUDIOMANAGER),yes)

audiomanager: 
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/audio_manager
audiomanagerclean:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/audio_manager clean 
	
_ALL_MDLS += audiomanager
_ALL_OBJECTS += $(wildcard $(CHIP_OBJ_PATH)/audio_base/audio_manager/*.o)
endif
#===============================================
# audio_config
#===============================================:
ifeq ($(USE_AUDIO_CONFIG),yes)
audio_config:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/audio_config 
audio_configclean:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/audio_config clean
_ALL_MDLS += audio_config
_ALL_OBJECTS += $(wildcard $(CHIP_OBJ_PATH)/audio_base/audio_config/*.o)
endif

#===============================================
# audio
#===============================================:
ifeq ($(USE_AUDIO),yes)
audio:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/audio 
audioclean:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/audio clean
_ALL_MDLS += audio
_ALL_OBJECTS += $(wildcard $(CHIP_OBJ_PATH)/audio_base/audio/*.o)
endif

#===============================================
# codec
#===============================================:
ifeq ($(USE_CODEC),yes)
codec:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/codec/$(CHIP_CODEC) 
codecclean:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/codec/$(CHIP_CODEC) clean
_ALL_MDLS += codec
_ALL_OBJECTS += $(wildcard $(CHIP_OBJ_PATH)/audio_base/codec/*.o)
endif
#===============================================
# earpiece
#===============================================:
ifeq ($(USE_EARPIECE),yes)
earpiece:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/earpiece 
earpiececlean:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/earpiece clean
_ALL_MDLS += earpiece
_ALL_OBJECTS += $(wildcard $(CHIP_OBJ_PATH)/audio_base/earpiece/*.o)
endif
#===============================================
#webrtc
#===============================================
ifeq ($(USE_WEBRTC),yes)
webrtc:
	@$(GNUMAKE) --no-print-directory $(MAKEOPTS) -C $(CHIP_SRC_PATH)/audio_base/webrtc/ws lib
webrtcclean:
	@$(GNUMAKE) --no-print-directory $(MAKEOPTS) -C $(CHIP_SRC_PATH)/audio_base/webrtc/ws clean 
ifeq ($(USE_WEBRTC_SDK),yes)
ifeq ($(USE_SDK_COMPILE),yes)	
_ALL_MDLS_SDK += webrtc
endif
else
_ALL_MDLS += webrtc
endif

endif
#===============================================
# audiolib
#===============================================:

#ifeq ($(USE_AUDIO_LIB),yes)
audiolib: 
#	$(error error USE_AUDIO_LIB  is $(USE_AUDIO_LIB))
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/audio_lib/ws  lib
audiolibclean:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/audio_lib/ws  clean 
_ALL_MDLS += audiolib
#endif
#===============================================
# dtmf config and link to dd
#===============================================:
ifeq ($(USE_DTMF),yes)
dtmf:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/dtmf
dtmfclean:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/dtmf clean
_ALL_MDLS += dtmf
_ALL_OBJECTS += $(wildcard $(CHIP_OBJ_PATH)/audio_base/dtmf/*.o)
endif
#===============================================
# audio_data config and link to dd
#===============================================:
ifeq ($(USE_AUDIO_DATA),yes)
audio_data:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/audio_data
audio_dataclean:
	@$(GNUMAKE) --no-print-directory -C $(CHIP_SRC_PATH)/audio_base/audio_data clean
_ALL_MDLS += audio_data
_ALL_OBJECTS += $(wildcard $(CHIP_OBJ_PATH)/audio_base/audio_data/*.o)
endif
#============================================
# 
#============================================
include $(FRAME_PATH)/rules/lib_rules.mk

#============================================
# sdk 
#============================================
_SUBSYS_SDK_NAME = audio_base_sdk
_SUBSYS_SDK_LIB_PATH = $(DRV_LIB_PATH)
include $(DRV_PATH)/ws/drv_sdk_lib_rules.mk
