#******************************************************************************* #* FILE PURPOSE: Build SMV Module for C64X #******************************************************************************* #* FILE NAME: makefile #* #* DESCRIPTION: Makes SMV Module #* PRODUCT: library + associated obj files #* #* make [all]|[clean] #* #* Requirements: #* - CPU tools should reside in T:\... #* #* (C) Copyright 1999 TELOGY Networks, Inc. #******************************************************************************* ECODIR = $(GGROOT)/SMV ifndef ENDIAN ENDIAN = LITTLE endif ifndef SPLIT SPLIT = 20MS endif ifndef BUILD BUILD = ML3 endif ifndef VAD_NS VADNS_OPT = -dNSA -dVADA endif ifndef DTMF DTMF = YES endif # Files to compile from the SMV project source/$(CPUDIR)/agc.c source/$(CPUDIR)/check.c \ source/$(CPUDIR)/common.c source/$(CPUDIR)/decoder_fx.c \ source/$(CPUDIR)/dtmf_det.c source/$(CPUDIR)/dtmf_gen.c source/$(CPUDIR)/dtmf20ms.c \ source/$(CPUDIR)/encoder_fx.c source/$(CPUDIR)/geq_fx.c \ source/$(CPUDIR)/goertzel.c source/$(CPUDIR)/gputil_fx.c source/$(CPUDIR)/init.c \ source/$(CPUDIR)/init_fx.c source/$(CPUDIR)/Initdata.c source/$(CPUDIR)/lib_bit_fx.c \ source/$(CPUDIR)/lib_cla_fx.c source/$(CPUDIR)/lib_evad_fx.c \ source/$(CPUDIR)/lib_fcs2_fx.c source/$(CPUDIR)/lib_gcb_fx.c \ source/$(CPUDIR)/lib_geq_fx.c source/$(CPUDIR)/lib_lpc_fx.c source/$(CPUDIR)/lib_ltp_fx.c \ source/$(CPUDIR)/lib_mus_fx.c source/$(CPUDIR)/lib_pit_fx.c source/$(CPUDIR)/lib_ppp_fx.c \ source/$(CPUDIR)/lib_ppr_fx.c source/$(CPUDIR)/lib_prc_fx.c \ source/$(CPUDIR)/lib_qlsf_fx.c source/$(CPUDIR)/lib_smo_fx.c source/$(CPUDIR)/lib_snr_fx.c \ source/$(CPUDIR)/lib_sns_fx.c source/$(CPUDIR)/lib_vad_fx.c \ source/$(CPUDIR)/math_adv40.c \ source/$(CPUDIR)/nelp_fx.c \ source/$(CPUDIR)/uvgq_fx.c source/$(CPUDIR)/gcb_gauss_fx.c source/$(CPUDIR)/FBCB2_8.c \ source/$(CPUDIR)/fbcb2_2.c source/$(CPUDIR)/fbcb2_5.c source/$(CPUDIR)/r_fft.c \ source/$(CPUDIR)/r_inverse_fft.c source/$(CPUDIR)/initdec.c source/$(CPUDIR)/initenc.c \ source/$(CPUDIR)/PWF_speech_to_residu_fx.c \ source/$(CPUDIR)/SMV_EncInitState.c source/$(CPUDIR)/SMV_DecInitState.c \ source/$(CPUDIR)/encoder_fx1.c source/$(CPUDIR)/encoder_fx2.c \ ../ttytdd/source/$(CPUDIR)/tty_enc.c ../ttytdd/source/$(CPUDIR)/ttystate.c ../ttytdd/source/$(CPUDIR)/tty_rate.c \ ../ttytdd/source/$(CPUDIR)/tty_hdr.c ../ttytdd/source/$(CPUDIR)/tty_dec.c \ ../ttytdd/source/$(CPUDIR)/tty_char.c ../ttytdd/source/$(CPUDIR)/tty_bit.c \ ../ttytdd/source/$(CPUDIR)/tone_gen.c ../ttytdd/source/$(CPUDIR)/tty_gen.c ../ttytdd/source/$(CPUDIR)/dit2a.c \ ../ttytdd/source/$(CPUDIR)/ttytdd_table.c \ xdais/smvdec_rxtx.c xdais/smvenc_rxtx.c xdais/smvdec_tii_ialg.c \ xdais/smvdec_tii_vtab.c xdais/smvenc_tii_ialg.c xdais/smvenc_tii_vtab.c LINASMSRC = source/$(CPUDIR)/SMV_FCS_CrossCorr.sa source/$(CPUDIR)/autocorr_fx.sa \ source/$(CPUDIR)/copyshort.sa source/$(CPUDIR)/r_fft_loop.sa source/$(CPUDIR)/r_ifft_loop.sa \ source/$(CPUDIR)/SMV_FCS_precalc1.sa source/$(CPUDIR)/SMV_FCS_precalc2.sa \ source/$(CPUDIR)/SMV_FCS_precalc3.sa source/$(CPUDIR)/SMV_FCS_getphi.sa \ source/$(CPUDIR)/gcb_comp_err.sa source/$(CPUDIR)/SMV_FCS_getphim0.sa \ source/$(CPUDIR)/SMV_FCS_getphim1.sa source/$(CPUDIR)/SMV_FCS_getphim1_2.sa \ ../ttytdd/source/$(CPUDIR)/bdo2dit.sa source/$(CPUDIR)/pppsharpfx.sa ASMSRC = source/$(CPUDIR)/EVAD_voice_detection_sub_fx.s \ source/$(CPUDIR)/FCS_exit_Enhance_fx2.s source/$(CPUDIR)/FLT_convolve_fx.s \ source/$(CPUDIR)/FLT_filterAP_fx.s source/$(CPUDIR)/LPC_durbin_fx.s \ source/$(CPUDIR)/LPC_lsf2a_fx.s source/$(CPUDIR)/LPC_pred2refl_fx.s \ source/$(CPUDIR)/LTP_FineIndex_search_fx1.s source/$(CPUDIR)/LTP_excit_const_pitch_fx.s \ source/$(CPUDIR)/NELP.s source/$(CPUDIR)/PIT_Calc_Rp_fx.s \ source/$(CPUDIR)/PIT_LT_Corr_Rmax_fx.s source/$(CPUDIR)/PIT_PitchInterpolat_fx.s \ source/$(CPUDIR)/PPP_locat_max_puls_fx.s source/$(CPUDIR)/PPP_periodicity_detect_fx.s \ source/$(CPUDIR)/PPP_search_shift_pp_Tg_m_Calc.s source/$(CPUDIR)/PPP_search_shift_ppgain_calc.s \ source/$(CPUDIR)/PPR_compute_the_harmonic_filter_coefficient.s \ source/$(CPUDIR)/PWF_residu_to_wspeech_fx.s source/$(CPUDIR)/PWF_wspeech_to_speech_fx.s \ source/$(CPUDIR)/common1.s source/$(CPUDIR)/compftmp.s \ source/$(CPUDIR)/compit.s source/$(CPUDIR)/copy.s source/$(CPUDIR)/egyRdv.s \ source/$(CPUDIR)/gcb_conv.s \ source/$(CPUDIR)/geq_vqma_2fx_srch.s source/$(CPUDIR)/geq_vqma_4fx_srch.s \ source/$(CPUDIR)/lm40_5.s source/$(CPUDIR)/nupd.s source/$(CPUDIR)/peaks1.s \ source/$(CPUDIR)/phi28eyy.s source/$(CPUDIR)/phi_5.s source/$(CPUDIR)/phi_8.s \ source/$(CPUDIR)/phi_8eyy.s source/$(CPUDIR)/pm2_0.s source/$(CPUDIR)/qlsf_fx.s \ source/$(CPUDIR)/signTab.s source/$(CPUDIR)/smv_dot_v1_v1.s \ source/$(CPUDIR)/smv_fnExp2.s source/$(CPUDIR)/smv_fnlog10.s source/$(CPUDIR)/smv_fnlog2.s \ source/$(CPUDIR)/smv_l_divide.s source/$(CPUDIR)/smv_sqroot.s source/$(CPUDIR)/srch_2p_nsv.s \ source/$(CPUDIR)/srch_2p_sv.s source/$(CPUDIR)/srch_5p.s source/$(CPUDIR)/srch_5pl_2ndpart.s \ source/$(CPUDIR)/srch_8p.s source/$(CPUDIR)/upd.s \ source/$(CPUDIR)/uvgq.s source/$(CPUDIR)/vqma_3fx.s source/$(CPUDIR)/wad_vector_fx.s \ source/$(CPUDIR)/COMPEXX.s source/$(CPUDIR)/FILTER1.s \ source/$(CPUDIR)/FLT_conv_fx.s source/$(CPUDIR)/GCB.s source/$(CPUDIR)/GCB_gauss_noise_fx.s \ source/$(CPUDIR)/LM40_0.s source/$(CPUDIR)/LPCLSP.s source/$(CPUDIR)/LPC_adptive_interp_dec_fx.s \ source/$(CPUDIR)/LPC_adptive_interp_fx.s source/$(CPUDIR)/LPC_interpolation_fx.s source/$(CPUDIR)/LSPLSF.s \ source/$(CPUDIR)/LTP_E.s source/$(CPUDIR)/PRC_Ideal_Excit_fx.s source/$(CPUDIR)/PRC_TargetSignal_fx.s \ source/$(CPUDIR)/PREPROCE.s source/$(CPUDIR)/PWF_WeightingFilters_fx.s \ source/$(CPUDIR)/SRCHRANG.s source/$(CPUDIR)/SRCH_5PL.s source/$(CPUDIR)/band_energy_fcn_fx.s \ source/$(CPUDIR)/dec_loop26.s source/$(CPUDIR)/energy_LOOP26.s source/$(CPUDIR)/mapping.s \ source/$(CPUDIR)/update_background_fx.s source/$(CPUDIR)/lm40_8.s source/$(CPUDIR)/intrhandler.s \ source/$(CPUDIR)/SMV_FCS_precalc4.s \ source/$(CPUDIR)/FCS_Determ_FB_excit_fx_2pulse.s \ source/$(CPUDIR)/add_min.s source/$(CPUDIR)/FCS_Determ_FB_excit_fx_5pulse.s \ source/$(CPUDIR)/phi_5eyy.s HDR = source/$(CPUDIR)/agc.h \ source/$(CPUDIR)/check.h \ source/$(CPUDIR)/const_fx.h source/$(CPUDIR)/datadec.h \ source/$(CPUDIR)/dataenc.h \ source/$(CPUDIR)/decloop26.h source/$(CPUDIR)/dtmf.h \ source/$(CPUDIR)/dtmf_det.h source/$(CPUDIR)/dtmf20ms.h \ source/$(CPUDIR)/FIXED16.H source/$(CPUDIR)/goertzel.h \ source/$(CPUDIR)/gputil_fx.h source/$(CPUDIR)/init.h \ source/$(CPUDIR)/initdata.h \ source/$(CPUDIR)/intrinsic.h source/$(CPUDIR)/lib_bit_fx.h \ source/$(CPUDIR)/lib_cla_fx.h source/$(CPUDIR)/lib_evad_fx.h \ source/$(CPUDIR)/lib_fcs_fx.h source/$(CPUDIR)/lib_flt_fx.h \ source/$(CPUDIR)/lib_gcb_fx.h source/$(CPUDIR)/lib_geq_fx.h \ source/$(CPUDIR)/lib_lpc_fx.h source/$(CPUDIR)/lib_ltp_fx.h \ source/$(CPUDIR)/lib_pit_fx.h source/$(CPUDIR)/lib_ppp_fx.h \ source/$(CPUDIR)/lib_ppr_fx.h source/$(CPUDIR)/lib_prc_fx.h \ source/$(CPUDIR)/lib_pwf_fx.h source/$(CPUDIR)/lib_qlsf_fx.h \ source/$(CPUDIR)/lib_smo_fx.h source/$(CPUDIR)/lib_snr_fx.h \ source/$(CPUDIR)/lib_vad_fx.h source/$(CPUDIR)/main_fx.h \ source/$(CPUDIR)/math_adv40.h \ source/$(CPUDIR)/nelp_fx.h \ source/$(CPUDIR)/PREASM.H source/$(CPUDIR)/preproce_fx.h \ source/$(CPUDIR)/REGS.H \ source/$(CPUDIR)/smv.h source/$(CPUDIR)/smv_tab.h \ source/$(CPUDIR)/str.h source/$(CPUDIR)/struct.h \ source/$(CPUDIR)/tables.h source/$(CPUDIR)/taboffset.h \ source/$(CPUDIR)/typedef_fx.h \ source/$(CPUDIR)/uvgq_fx.h source/$(CPUDIR)/decoder_fx.h \ source/$(CPUDIR)/encoder_fx.h source/$(CPUDIR)/initdec.h \ source/$(CPUDIR)/initenc.h source/$(CPUDIR)/lib_fcs2_fx.h \ source/$(CPUDIR)/smvstate.h source/$(CPUDIR)/Fbcb2_2.h \ source/$(CPUDIR)/Fbcb2_5.h source/$(CPUDIR)/fbcb2_8.h source/$(CPUDIR)/smv_instance.h \ xdais/ismvdec.h xdais/ismvenc.h xdais/ismv.h \ xdais/smvdec_tii.h xdais/smvenc_tii.h \ xdais/smv_tii_priv.h TESTCSRC = tstsrc/$(CPUDIR)/smvtest.c \ tstsrc/$(CPUDIR)/Utilities.c \ tstsrc/$(CPUDIR)/smvtestenc.c \ tstsrc/$(CPUDIR)/smvtestdec.c tstsrc/$(CPUDIR)/smvtest_contaminate.c \ tstsrc/$(CPUDIR)/smvtest_relocate.c tstsrc/$(CPUDIR)/smvtest_2ch.c tstsrc/$(CPUDIR)/smvtest_interrupt.c TESTHDR = tstsrc/$(CPUDIR)/dataenc.h tstsrc/$(CPUDIR)/datatst.h tstsrc/$(CPUDIR)/smvdec.h \ tstsrc/$(CPUDIR)/datatstc.h tstsrc/$(CPUDIR)/Utilities.h tstsrc/$(CPUDIR)/data2ch.h TESTASMSRC = tstsrc/$(CPUDIR)/interrupt.s tstsrc/$(CPUDIR)/timer.s \ tstsrc/$(CPUDIR)/timer_intr.s tstsrc/$(CPUDIR)/vectors.s CLEAN_TARGETS = smv_tii.l64 smvtst.out smvtst.map smvenc.out smvenc.map smvdec.out smvdec.map smvcontaminate.out \ smvcontaminate.map smvrelocate.out smvrelocate.map smvtest2ch.out smvtest2ch.map # Build SMV components (Default) RECURSION_TARGET = # Allow clean to nuke the intermediates from these. EXCSRC = $(CSRC) EXASMSRC = $(ASMSRC) # These files must be compiled with a special rule using recursion # .PHONY all targets which are not files to avoid strange behavior if # a file of that name exists. .PHONY: all library all: library # Set root to find make include files ifndef GGROOT export GGROOT = ../../.. endif # Include standard eco include include $(GGROOT)/mkrel/c64x/makeeco.mk # Defines CDEFS = -dXDAIS -dC64x -dENC_CMP -dDEC_CMP -dDATA ADEFS = $(CDEFS) # Compiler Options ifeq ($(BUILD),ML3) MEM_MODEL = -ml3 endif ifeq ($(BUILD),ML0) MEM_MODEL = -ml0 endif ifeq ($(VAD_NS),B_ONLY) VADNS_OPT = endif ifeq ($(DTMF),YES) DTMF_OPT = -dDTMF else DTMF_OPT = endif CFLAGS = -mv6400 $(MEM_MODEL) $(VADNS_OPT) $(DTMF_OPT) -mr1 -mi1000 -o3 -k -mt -mw -mh -mx DCFLAGS = ifeq ($(ENDIAN),BIG) RTLIBS = $(TOOLSC64XDOS)/cgtools/lib/rts6400e.lib CFLAGS +=-me -dBIG_ENDIAN AFLAGS +=-me -dBIG_ENDIAN=1 -dLITTLE_ENDIAN=0 TESTFLAG =-me -dBIG_ENDIAN else CFLAGS +=-dLITTLE_ENDIAN AFLAGS +=-dLITTLE_ENDIAN=1 -dBIG_ENDIAN=0 TESTFLAG =-dLITTLE_ENDIAN endif ifeq ($(SPLIT),10MS) CFLAGS +=-dSPLIT_10MS AFLAGS +=-dSPLIT_10MS TESTFLAG +=-dSPLIT_10MS endif # SMV uses standard include files SMV_C_DIR =$(ECODIR)/source/$(CPUDIR);$(ECODIR)/xdais;$(GGROOT)/ttytdd/source/$(CPUDIR);$(PLATINC);$(STDINC) SMV_A_DIR =$(ECODIR)/source/$(CPUDIR);$(ECODIR)/xdais;$(GGROOT)/ttytdd/source/$(CPUDIR);$(STDAINC) export C6X_C_DIR = $(subst /,\,$(SMV_C_DIR)) export C6X_A_DIR = $(subst /,\,$(SMV_A_DIR)) ifndef XDAIS XDAIS = NO endif ifeq ($(XDAIS),YES) library: smvenc_tii.l64 smvdec_tii.l64 $(FLAT_TARGET) smvenc_tii.l64: $(OBJS) $(ARIN) $@ $(XDAIS_ENCODER_OBJS) smvdec_tii.l64: $(OBJS) $(ARIN) $@ $(XDAIS_DECODER_OBJS) else ifneq ($(XDAIS),YES) library: smv_tii.l64 $(FLAT_TARGET) smv_tii.l64: $(OBJS) $(ARIN) $@ $? endif endif # special rules for .obj's which are not compiled by vpath vpath % $(TOOLSCCSC64XDOS)/xdais/src/api;$(ECODIR)/source;$(ECODIR)/source/$(CPUDIR);$(ECODIR)/xdais vpath % $(ECODIR)/tstsrc/$(CPUDIR);$(GGROOT)/ttytdd/source/$(CPUDIR) ifeq ($(XDAIS),YES) test: smvxdais_encoder.out smvxdais_decoder.out else ifeq ($(SPLIT),20MS) test: smvtst.out smvenc.out smvdec.out smvcontaminate.out smvrelocate.out smvtest2ch.out smvinterrupt.out endif ifeq ($(SPLIT),10MS) test: smvenc.out smvdec.out endif endif smvxdais_encoder.out: smvtst.cmd $(TESTOBJS) library $(LD) -c -x -heap 0x10000 -stack 0x4000 -l $(RTLIBS) -lsmvenc_tii.l64 smvtestenc.oc utilities.oc -o smvxdais_encoder.out -m smvxdais_encoder.map $(ECODIR)/tstsrc/$(CPUDIR)/smvtst.cmd $(CPFLATCMD) smvxdais_decoder.out: smvtst.cmd $(TESTOBJS) library $(LD) -c -x -heap 0x10000 -stack 0x4000 -l $(RTLIBS) -lsmvdec_tii.l64 smvtestdec.oc utilities.oc -o smvxdais_decoder.out -m smvxdais_decoder.map $(ECODIR)/tstsrc/$(CPUDIR)/smvtst.cmd $(CPFLATCMD) smvtst.out: smvtst.cmd $(TESTOBJS) library $(LD) -c -x -heap 0x10000 -stack 0x10000 -l $(RTLIBS) -lsmv_tii.l64 smvtest.oc Utilities.oc -o smvtst.out -m smvtst.map $(ECODIR)/tstsrc/$(CPUDIR)/smvtst.cmd $(CPFLATCMD) smvenc.out: smvtst.cmd $(TESTOBJS) library $(LD) -c -x -heap 0x10000 -stack 0x10000 -l $(RTLIBS) -lsmv_tii.l64 smvtestenc.oc Utilities.oc -o smvenc.out -m smvenc.map $(ECODIR)/tstsrc/$(CPUDIR)/smvtst.cmd $(CPFLATCMD) smvdec.out: smvtst.cmd $(TESTOBJS) library $(LD) -c -x -heap 0x10000 -stack 0x10000 -l $(RTLIBS) -lsmv_tii.l64 smvtestdec.oc Utilities.oc -o smvdec.out -m smvdec.map $(ECODIR)/tstsrc/$(CPUDIR)/smvtst.cmd $(CPFLATCMD) smvcontaminate.out: smvtst.cmd $(TESTOBJS) library $(LD) -c -x -heap 0x10000 -stack 0x10000 -l $(RTLIBS) -lsmv_tii.l64 smvtest_contaminate.oc Utilities.oc -o smvcontaminate.out -m smvcontaminate.map $(ECODIR)/tstsrc/$(CPUDIR)/smvtst.cmd $(CPFLATCMD) smvrelocate.out: smvtst.cmd $(TESTOBJS) library $(LD) -c -x -heap 0x10000 -stack 0x10000 -l $(RTLIBS) -lsmv_tii.l64 smvtest_relocate.oc Utilities.oc -o smvrelocate.out -m smvrelocate.map $(ECODIR)/tstsrc/$(CPUDIR)/smvtst.cmd $(CPFLATCMD) smvtest2ch.out: smvtst.cmd $(TESTOBJS) library $(LD) -c -x -heap 0x10000 -stack 0x10000 -l $(RTLIBS) -lsmv_tii.l64 smvtest_2ch.oc Utilities.oc -o smvtest2ch.out -m smvtest2ch.map $(ECODIR)/tstsrc/$(CPUDIR)/smvtst.cmd $(CPFLATCMD) smvinterrupt.out: smvtst.cmd $(TESTOBJS) library $(LD) -c -x -heap 0x10000 -stack 0x10000 -l $(RTLIBS) -lsmv_tii.l64 smvtest_interrupt.oc Utilities.oc interrupt.oa timer_intr.oa timer.oa vectors.oa -o smvinterrupt.out -m smvinterrupt.map $(ECODIR)/tstsrc/$(CPUDIR)/smvtst.cmd $(CPFLATCMD) smvtest.$(COBJEXT): smvtest.c $(CC) -mv6400 -ml3 -g $(TESTFLAG) $(ECODIR)/tstsrc/$(CPUDIR)/smvtest.c -eo.oc Utilities.$(COBJEXT): Utilities.c $(CC) -mv6400 -ml3 -g $(TESTFLAG) $(ECODIR)/tstsrc/$(CPUDIR)/Utilities.c -eo.oc smvtestenc.$(COBJEXT): smvtestenc.c $(CC) -mv6400 -ml3 -g $(TESTFLAG) $(ECODIR)/tstsrc/$(CPUDIR)/smvtestenc.c -eo.oc smvtestdec.$(COBJEXT): smvtestdec.c $(CC) -mv6400 -ml3 -g $(TESTFLAG) $(ECODIR)/tstsrc/$(CPUDIR)/smvtestdec.c -eo.oc smvtest_contaminate.$(COBJEXT): smvtest_contaminate.c $(CC) -mv6400 -ml3 -g $(TESTFLAG) $(ECODIR)/tstsrc/$(CPUDIR)/smvtest_contaminate.c -eo.oc smvtest_relocate.$(COBJEXT): smvtest_relocate.c $(CC) -mv6400 -ml3 -g $(TESTFLAG) $(ECODIR)/tstsrc/$(CPUDIR)/smvtest_relocate.c -eo.oc smvtest_2ch.$(COBJEXT): smvtest_2ch.c $(CC) -mv6400 -ml3 -g $(TESTFLAG) $(ECODIR)/tstsrc/$(CPUDIR)/smvtest_2ch.c -eo.oc smvtest_interrupt.$(COBJEXT): smvtest_interrupt.c $(CC) -mv6400 -ml3 -g $(TESTFLAG) $(ECODIR)/tstsrc/$(CPUDIR)/smvtest_interrupt.c -eo.oc XDAIS_DECODER_OBJS = common.oc decoder_fx.oc \ dtmf_gen.oc \ geq_fx.oc \ gputil_fx.oc init.oc \ init_fx.oc Initdata.oc lib_bit_fx.oc \ lib_cla_fx.oc \ lib_fcs2_fx.oc lib_gcb_fx.oc \ lib_geq_fx.oc lib_lpc_fx.oc lib_ltp_fx.oc \ lib_pit_fx.oc \ lib_ppr_fx.oc \ lib_qlsf_fx.oc lib_snr_fx.oc \ lib_sns_fx.oc \ math_adv40.oc \ nelp_fx.oc \ uvgq_fx.oc gcb_gauss_fx.oc FBCB2_8.oc \ fbcb2_2.oc fbcb2_5.oc r_fft.oc \ r_inverse_fft.oc initdec.oc initenc.oc \ SMV_DecInitState.oc \ tty_enc.oc ttystate.oc tty_rate.oc \ tty_hdr.oc tty_dec.oc \ tty_char.oc tty_bit.oc \ tone_gen.oc tty_gen.oc dit2a.oc \ ttytdd_table.oc \ smvdec_rxtx.oc smvdec_tii_ialg.oc \ smvdec_tii_vtab.oc \ SMV_FCS_CrossCorr.ol autocorr_fx.ol \ copyshort.ol r_fft_loop.ol r_ifft_loop.ol \ SMV_FCS_precalc1.ol SMV_FCS_precalc2.ol \ SMV_FCS_precalc3.ol SMV_FCS_getphi.ol \ gcb_comp_err.ol SMV_FCS_getphim0.ol \ SMV_FCS_getphim1.ol SMV_FCS_getphim1_2.ol \ bdo2dit.ol pppsharpfx.ol \ FCS_exit_Enhance_fx2.oa FLT_convolve_fx.oa \ FLT_filterAP_fx.oa LPC_durbin_fx.oa \ LPC_lsf2a_fx.oa LPC_pred2refl_fx.oa \ LTP_FineIndex_search_fx1.oa LTP_excit_const_pitch_fx.oa \ NELP.oa PIT_Calc_Rp_fx.oa \ PIT_LT_Corr_Rmax_fx.oa PIT_PitchInterpolat_fx.oa \ PPR_compute_the_harmonic_filter_coefficient.oa \ common1.oa compftmp.oa \ compit.oa egyRdv.oa \ gcb_conv.oa \ geq_vqma_2fx_srch.oa geq_vqma_4fx_srch.oa \ lm40_5.oa nupd.oa peaks1.oa \ phi28eyy.oa phi_5.oa phi_8.oa \ phi_8eyy.oa pm2_0.oa \ signTab.oa smv_dot_v1_v1.oa \ smv_fnExp2.oa smv_fnlog10.oa smv_fnlog2.oa \ smv_l_divide.oa smv_sqroot.oa srch_2p_nsv.oa \ srch_2p_sv.oa srch_5p.oa srch_5pl_2ndpart.oa \ srch_8p.oa upd.oa \ uvgq.oa vqma_3fx.oa wad_vector_fx.oa \ COMPEXX.oa FILTER1.oa \ FLT_conv_fx.oa GCB.oa GCB_gauss_noise_fx.oa \ LPCLSP.oa LPC_adptive_interp_dec_fx.oa \ LPC_interpolation_fx.oa LSPLSF.oa \ LTP_E.oa \ PREPROCE.oa \ SRCHRANG.oa SRCH_5PL.oa \ dec_loop26.oa energy_LOOP26.oa \ lm40_8.oa intrhandler.oa \ SMV_FCS_precalc4.oa \ FCS_Determ_FB_excit_fx_2pulse.oa \ add_min.oa FCS_Determ_FB_excit_fx_5pulse.oa \ phi_5eyy.oa XDAIS_ENCODER_OBJS = agc.oc check.oc \ common.oc \ dtmf_det.oc dtmf20ms.oc \ encoder_fx.oc geq_fx.oc \ goertzel.oc gputil_fx.oc init.oc \ init_fx.oc Initdata.oc lib_bit_fx.oc \ lib_cla_fx.oc lib_evad_fx.oc \ lib_fcs2_fx.oc lib_gcb_fx.oc \ lib_geq_fx.oc lib_lpc_fx.oc lib_ltp_fx.oc \ lib_mus_fx.oc lib_pit_fx.oc lib_ppp_fx.oc \ lib_ppr_fx.oc lib_prc_fx.oc \ lib_qlsf_fx.oc lib_smo_fx.oc lib_snr_fx.oc \ lib_sns_fx.oc lib_vad_fx.oc \ math_adv40.oc \ nelp_fx.oc \ uvgq_fx.oc gcb_gauss_fx.oc FBCB2_8.oc \ fbcb2_2.oc fbcb2_5.oc r_fft.oc \ r_inverse_fft.oc initdec.oc initenc.oc \ PWF_speech_to_residu_fx.oc \ encoder_fx1.oc encoder_fx2.oc \ SMV_EncInitState.oc \ tty_enc.oc ttystate.oc tty_rate.oc \ tty_hdr.oc tty_dec.oc \ tty_char.oc tty_bit.oc \ tone_gen.oc tty_gen.oc dit2a.oc \ ttytdd_table.oc \ smvenc_rxtx.oc \ smvenc_tii_ialg.oc smvenc_tii_vtab.oc \ SMV_FCS_CrossCorr.ol autocorr_fx.ol \ copyshort.ol r_fft_loop.ol r_ifft_loop.ol \ SMV_FCS_precalc1.ol SMV_FCS_precalc2.ol \ SMV_FCS_precalc3.ol SMV_FCS_getphi.ol \ gcb_comp_err.ol SMV_FCS_getphim0.ol \ SMV_FCS_getphim1.ol SMV_FCS_getphim1_2.ol \ bdo2dit.ol pppsharpfx.ol \ EVAD_voice_detection_sub_fx.oa \ FCS_exit_Enhance_fx2.oa FLT_convolve_fx.oa \ FLT_filterAP_fx.oa LPC_durbin_fx.oa \ LPC_lsf2a_fx.oa LPC_pred2refl_fx.oa \ LTP_FineIndex_search_fx1.oa LTP_excit_const_pitch_fx.oa \ NELP.oa PIT_Calc_Rp_fx.oa \ PIT_LT_Corr_Rmax_fx.oa PIT_PitchInterpolat_fx.oa \ PPP_locat_max_puls_fx.oa PPP_periodicity_detect_fx.oa \ PPP_search_shift_pp_Tg_m_Calc.oa PPP_search_shift_ppgain_calc.oa \ PPR_compute_the_harmonic_filter_coefficient.oa \ PWF_residu_to_wspeech_fx.oa PWF_wspeech_to_speech_fx.oa \ common1.oa compftmp.oa \ compit.oa egyRdv.oa \ gcb_conv.oa \ geq_vqma_2fx_srch.oa geq_vqma_4fx_srch.oa \ lm40_5.oa nupd.oa peaks1.oa \ phi28eyy.oa phi_5.oa phi_8.oa \ phi_8eyy.oa pm2_0.oa \ signTab.oa smv_dot_v1_v1.oa \ smv_fnExp2.oa smv_fnlog10.oa smv_fnlog2.oa \ smv_l_divide.oa smv_sqroot.oa srch_2p_nsv.oa \ srch_2p_sv.oa srch_5p.oa srch_5pl_2ndpart.oa \ srch_8p.oa upd.oa \ uvgq.oa vqma_3fx.oa wad_vector_fx.oa \ COMPEXX.oa FILTER1.oa \ FLT_conv_fx.oa GCB.oa GCB_gauss_noise_fx.oa \ LPCLSP.oa LPC_adptive_interp_dec_fx.oa \ LPC_adptive_interp_fx.oa LPC_interpolation_fx.oa LSPLSF.oa \ LTP_E.oa PRC_Ideal_Excit_fx.oa PRC_TargetSignal_fx.oa \ PREPROCE.oa PWF_WeightingFilters_fx.oa \ SRCHRANG.oa SRCH_5PL.oa band_energy_fcn_fx.oa \ energy_LOOP26.oa mapping.oa \ update_background_fx.oa lm40_8.oa intrhandler.oa \ SMV_FCS_precalc4.oa \ FCS_Determ_FB_excit_fx_2pulse.oa \ add_min.oa FCS_Determ_FB_excit_fx_5pulse.oa \ phi_5eyy.oa ## END OF MAKEFILE ##
@echo off rem (C) Copyright 2001 TELOGY Networks, Inc. rem We can use either the clearcase version of perl "ccperl", or the rem cygwin version of perl, "perl". Under windows, "ccperl" is MUCH faster. rem Make sure path defined in next sextion contains your selected version. rem If no perl is available, then set to blank. This will disable tools rem validation and command line validation. rem rem Use this if you want to use clearcase perl set PERL=//c/perl/bin/perl rem PERLDOS= rem Use this if you want to use active perl rem set PERL=//c/perl/bin/perl rem PERLDOS=c:\perl\bin\perl rem ************************** Environment Configuration ********************* rem Configure the environment variables for DSP builds rem ************************************************************************** rem MAKE_MODE=WINDOWS|UNIX tells GNU make to use CMD.EXE or SH.EXE set MAKE_MODE=WINDOWS rem CYGWIN sets default options for all cygnus gnu ports set CYGWIN= rem Set a defined path which has no other compilers or unix tools rem the makefiles will specify tools with their whole path, but the tools rem require themselves to be in the path to work right. rem rem This is done because windows does not hash the path, so path search rem performance is very poor. Lets avoid path searches. rem set PATH=C:\ti\c6000\cgtools\bin; set PATH=%PATH%;c:\tools\c5xx\ccs220\c5500\cgtools\bin; set PATH=%PATH%;c:\tools\c6xx\cgen436\c6000\cgtools\bin; set PATH=%PATH%;c:\;C:\cygwin\bin; set PATH=%PATH%;c:\winnt\system32;c:\winnt;c:\windows;C:\windows\system32 set PATH=%PATH%;c:\apln\atria\bin;c:\progra~1\Rational\clearcase\bin rem r9.0 requires tools from ccs1-20. set TOOLC54XSRC=t:\c54x\ti-c\ccs1-20 set TOOLC54XDST=c:\tools\c54x\ti-c\ccs1-20 rem r9.1 requires C55X tools codegen 230. set TOOLC55XSRC=t:\c5xx\ccs220 set TOOLC55XDST=c:\tools\c5xx\ccs220 rem r9.0 requires linker from v3.65 set SRC365=t:\c54x\ti-c\3-65a set DST365=c:\tools\c54x\ti-c\3-65a rem currently tools ver 4.36 are being used for c64x set TOOLC64XSRC=T:\c6xx\cgen436\c6000 set TOOLC64XDST=c:\tools\c6xx\cgen436\c6000 rem following two lines is added to copy xdais&bios tools from ccs set TOOLCCSC64XSRC=T:\c6xx\ccs220\c6000 set TOOLCCSC64XDST=c:\tools\c6xx\ccs220\c6000 rem ************************* Tools Copy/Validation ************************** rem If the "bypass" option is not provided, validate/copy the tools rem ********************************************************************* if "%PERLDOS%" == "" goto environment rem ************************* Tools Copy/Validation ************************** rem If the "bypass" option is not provided, validate/copy the tools rem ********************************************************************* if "%1" == "bypass" goto environment rem check, but don't copy tools if "%1" == "" goto toolcheck rem copy tools if check fails if "%1" == "enable_write" goto toolcopy rem error: invalid argument echo =========================== INVALID ARGUMENT ============================ echo Option "%1" is invalid. Valid options are: echo "bypass": configure environment without checking tools echo "enable_write": *****ERASE***** all files in %TOOLDST%, echo and replace with correct tools echo =========================== INVALID ARGUMENT ============================ goto end :toolcheck echo Verifying local tools goto toolperl :toolcopy echo UPDATING local tools :toolperl %PERLDOS% cpytools.pl %TOOLC54XSRC% %TOOLC54XDST% %1 rem note: windows is stupid; "errorlevel 1" means "retval >= 1" if errorlevel 1 goto error %PERLDOS% cpytools.pl %TOOLC55XSRC% %TOOLC55XDST% %1 rem note: windows is stupid; "errorlevel 1" means "retval >= 1" if errorlevel 1 goto error %PERLDOS% cpytools.pl %SRC365% %DST365% %1 rem note: windows is stupid; "errorlevel 1" means "retval >= 1" if errorlevel 1 goto error %PERLDOS% cpytools.pl %TOOLC64XSRC% %TOOLC64XDST% %1 rem note: windows is stupid; "errorlevel 1" means "retval >= 1" if errorlevel 1 goto error %PERLDOS% cpytools.pl %TOOLCCSC64XSRC% %TOOLCCSC64XDST% %1 rem note: windows is stupid; "errorlevel 1" means "retval >= 1" if errorlevel 1 goto error echo Local tools are good. :environment rem Clean up variables which affect the tools to avoid side effects set C54X_A_DIR= set C54X_C_DIR= set C55X_A_DIR= set C55X_C_DIR= set C6X_C_DIR= set C6X_A_DIR= set A_DIR= set C_DIR= rem Path to tools, in unix format set TOOLSC54X=//c/tools/c54x/ti-c/ccs1-20 set TOOLSC55X=//c/tools/c5xx/ccs220/c5500 set TOOLSC64X=//c/tools/c6xx/cgen436/c6000 rem Path to tools, in DOS format set TOOLSC54XDOS=c:\tools\c54x\ti-c\ccs1-20 set TOOLSC55XDOS=c:\tools\c5xx\ccs220\c5500 set TOOLSC64XDOS=c:\tools\c6xx\cgen436\c6000 rem following line is added to use xdais&bios tools from ccs set TOOLSCCSC64XDOS=c:\tools\c6xx\ccs220\c6000 rem Path to 'makedep.exe', in UNIX format set TOOLSC54X365=//c/tools/c54x/ti-c/3-65a set TOOLSC54X365DOS=c:\tools\c54x\ti-c\3-65a set CYGWINPATH=//t/gen/gnu/99-11-01/cygwin-b20/H-i586-cygwin32/bin rem Generate path to makedep, then set it rm -f mkdeppath.bat sh -c "makedepdir=`pwd`;echo set MAKEDEPPATH=`dirname $makedepdir`/mkrel/makedep.exe" >mkdeppath.bat call mkdeppath.bat echo ================== ENVIRONMENT SUCESSFULLY CONFIGURED ================== goto end rem ************************** Bad Tools ************************************* rem Tools are bad; deconfigure environment and print error rem ************************************************************************** :error set TOOLS= set TOOLSDOS= set MAKEDEPPATH= echo ============================== BAD TOOLS ================================= echo * Build environment is NOT configured. You may rerun script with: echo * echo * %0 bypass echo * configure environment without checking tools. This option is echo * is used when the user will manually configure the tools. echo * echo * %0 enable_write echo * [*** DANGEROUS OPTION ***] echo * This option echo * 1) *** DANGER *** Recursively deletes all files in subdirectories echo * a. %DST365%, echo * b. %TOOLC54XDST%, echo * c. %TOOLC55XDST% and echo * d. %TOOLC64XDST% echo * 2) Copies correct tools from the subdirectories echo * a. %SRC365%, echo * b. %TOOLC54XSRC%, echo * c. %TOOLC55XSRC% and echo * d. %TOOLC64XSRC% echo * echo ============================== BAD TOOLS ================================= goto end :end rem remove unused environent variables set TOOLC54XDST= set TOOLC54XSRC= set TOOLC55XDST= set TOOLC55XSRC= set TOOLC64XSRC= set TOOLC64XDST= set TOOLCCSC64XSRC= set TOOLCCSC64XDST= set SRC365= set DST365= set TOOLS= set TOOLSDOS= set PERLDOS=
#******************************************************************************* #* FILE PURPOSE: Build SMV Module for C64X #******************************************************************************* #* FILE NAME: makefile #* #* DESCRIPTION: Makes SMV Module #* PRODUCT: library + associated obj files #* #* make [all]|[clean] #* #* Requirements: #* - CPU tools should reside in T:\... #* #* (C) Copyright 1999 TELOGY Networks, Inc. #******************************************************************************* ECODIR = $(GGROOT)/SMV ifndef ENDIAN ENDIAN = LITTLE endif ifndef SPLIT SPLIT = 20MS endif ifndef BUILD BUILD = ML3 endif ifndef VAD_NS VADNS_OPT = -dNSA -dVADA endif ifndef DTMF DTMF = YES endif # Files to compile from the SMV project source/$(CPUDIR)/agc.c source/$(CPUDIR)/check.c \ source/$(CPUDIR)/common.c source/$(CPUDIR)/decoder_fx.c \ source/$(CPUDIR)/dtmf_det.c source/$(CPUDIR)/dtmf_gen.c source/$(CPUDIR)/dtmf20ms.c \ source/$(CPUDIR)/encoder_fx.c source/$(CPUDIR)/geq_fx.c \ source/$(CPUDIR)/goertzel.c source/$(CPUDIR)/gputil_fx.c source/$(CPUDIR)/init.c \ source/$(CPUDIR)/init_fx.c source/$(CPUDIR)/Initdata.c source/$(CPUDIR)/lib_bit_fx.c \ source/$(CPUDIR)/lib_cla_fx.c source/$(CPUDIR)/lib_evad_fx.c \ source/$(CPUDIR)/lib_fcs2_fx.c source/$(CPUDIR)/lib_gcb_fx.c \ source/$(CPUDIR)/lib_geq_fx.c source/$(CPUDIR)/lib_lpc_fx.c source/$(CPUDIR)/lib_ltp_fx.c \ source/$(CPUDIR)/lib_mus_fx.c source/$(CPUDIR)/lib_pit_fx.c source/$(CPUDIR)/lib_ppp_fx.c \ source/$(CPUDIR)/lib_ppr_fx.c source/$(CPUDIR)/lib_prc_fx.c \ source/$(CPUDIR)/lib_qlsf_fx.c source/$(CPUDIR)/lib_smo_fx.c source/$(CPUDIR)/lib_snr_fx.c \ source/$(CPUDIR)/lib_sns_fx.c source/$(CPUDIR)/lib_vad_fx.c \ source/$(CPUDIR)/math_adv40.c \ source/$(CPUDIR)/nelp_fx.c \ source/$(CPUDIR)/uvgq_fx.c source/$(CPUDIR)/gcb_gauss_fx.c source/$(CPUDIR)/FBCB2_8.c \ source/$(CPUDIR)/fbcb2_2.c source/$(CPUDIR)/fbcb2_5.c source/$(CPUDIR)/r_fft.c \ source/$(CPUDIR)/r_inverse_fft.c source/$(CPUDIR)/initdec.c source/$(CPUDIR)/initenc.c \ source/$(CPUDIR)/PWF_speech_to_residu_fx.c \ source/$(CPUDIR)/SMV_EncInitState.c source/$(CPUDIR)/SMV_DecInitState.c \ source/$(CPUDIR)/encoder_fx1.c source/$(CPUDIR)/encoder_fx2.c \ ../ttytdd/source/$(CPUDIR)/tty_enc.c ../ttytdd/source/$(CPUDIR)/ttystate.c ../ttytdd/source/$(CPUDIR)/tty_rate.c \ ../ttytdd/source/$(CPUDIR)/tty_hdr.c ../ttytdd/source/$(CPUDIR)/tty_dec.c \ ../ttytdd/source/$(CPUDIR)/tty_char.c ../ttytdd/source/$(CPUDIR)/tty_bit.c \ ../ttytdd/source/$(CPUDIR)/tone_gen.c ../ttytdd/source/$(CPUDIR)/tty_gen.c ../ttytdd/source/$(CPUDIR)/dit2a.c \ ../ttytdd/source/$(CPUDIR)/ttytdd_table.c \ xdais/smvdec_rxtx.c xdais/smvenc_rxtx.c xdais/smvdec_tii_ialg.c \ xdais/smvdec_tii_vtab.c xdais/smvenc_tii_ialg.c xdais/smvenc_tii_vtab.c LINASMSRC = source/$(CPUDIR)/SMV_FCS_CrossCorr.sa source/$(CPUDIR)/autocorr_fx.sa \ source/$(CPUDIR)/copyshort.sa source/$(CPUDIR)/r_fft_loop.sa source/$(CPUDIR)/r_ifft_loop.sa \ source/$(CPUDIR)/SMV_FCS_precalc1.sa source/$(CPUDIR)/SMV_FCS_precalc2.sa \ source/$(CPUDIR)/SMV_FCS_precalc3.sa source/$(CPUDIR)/SMV_FCS_getphi.sa \ source/$(CPUDIR)/gcb_comp_err.sa source/$(CPUDIR)/SMV_FCS_getphim0.sa \ source/$(CPUDIR)/SMV_FCS_getphim1.sa source/$(CPUDIR)/SMV_FCS_getphim1_2.sa \ ../ttytdd/source/$(CPUDIR)/bdo2dit.sa source/$(CPUDIR)/pppsharpfx.sa ASMSRC = source/$(CPUDIR)/EVAD_voice_detection_sub_fx.s \ source/$(CPUDIR)/FCS_exit_Enhance_fx2.s source/$(CPUDIR)/FLT_convolve_fx.s \ source/$(CPUDIR)/FLT_filterAP_fx.s source/$(CPUDIR)/LPC_durbin_fx.s \ source/$(CPUDIR)/LPC_lsf2a_fx.s source/$(CPUDIR)/LPC_pred2refl_fx.s \ source/$(CPUDIR)/LTP_FineIndex_search_fx1.s source/$(CPUDIR)/LTP_excit_const_pitch_fx.s \ source/$(CPUDIR)/NELP.s source/$(CPUDIR)/PIT_Calc_Rp_fx.s \ source/$(CPUDIR)/PIT_LT_Corr_Rmax_fx.s source/$(CPUDIR)/PIT_PitchInterpolat_fx.s \ source/$(CPUDIR)/PPP_locat_max_puls_fx.s source/$(CPUDIR)/PPP_periodicity_detect_fx.s \ source/$(CPUDIR)/PPP_search_shift_pp_Tg_m_Calc.s source/$(CPUDIR)/PPP_search_shift_ppgain_calc.s \ source/$(CPUDIR)/PPR_compute_the_harmonic_filter_coefficient.s \ source/$(CPUDIR)/PWF_residu_to_wspeech_fx.s source/$(CPUDIR)/PWF_wspeech_to_speech_fx.s \ source/$(CPUDIR)/common1.s source/$(CPUDIR)/compftmp.s \ source/$(CPUDIR)/compit.s source/$(CPUDIR)/copy.s source/$(CPUDIR)/egyRdv.s \ source/$(CPUDIR)/gcb_conv.s \ source/$(CPUDIR)/geq_vqma_2fx_srch.s source/$(CPUDIR)/geq_vqma_4fx_srch.s \ source/$(CPUDIR)/lm40_5.s source/$(CPUDIR)/nupd.s source/$(CPUDIR)/peaks1.s \ source/$(CPUDIR)/phi28eyy.s source/$(CPUDIR)/phi_5.s source/$(CPUDIR)/phi_8.s \ source/$(CPUDIR)/phi_8eyy.s source/$(CPUDIR)/pm2_0.s source/$(CPUDIR)/qlsf_fx.s \ source/$(CPUDIR)/signTab.s source/$(CPUDIR)/smv_dot_v1_v1.s \ source/$(CPUDIR)/smv_fnExp2.s source/$(CPUDIR)/smv_fnlog10.s source/$(CPUDIR)/smv_fnlog2.s \ source/$(CPUDIR)/smv_l_divide.s source/$(CPUDIR)/smv_sqroot.s source/$(CPUDIR)/srch_2p_nsv.s \ source/$(CPUDIR)/srch_2p_sv.s source/$(CPUDIR)/srch_5p.s source/$(CPUDIR)/srch_5pl_2ndpart.s \ source/$(CPUDIR)/srch_8p.s source/$(CPUDIR)/upd.s \ source/$(CPUDIR)/uvgq.s source/$(CPUDIR)/vqma_3fx.s source/$(CPUDIR)/wad_vector_fx.s \ source/$(CPUDIR)/COMPEXX.s source/$(CPUDIR)/FILTER1.s \ source/$(CPUDIR)/FLT_conv_fx.s source/$(CPUDIR)/GCB.s source/$(CPUDIR)/GCB_gauss_noise_fx.s \ source/$(CPUDIR)/LM40_0.s source/$(CPUDIR)/LPCLSP.s source/$(CPUDIR)/LPC_adptive_interp_dec_fx.s \ source/$(CPUDIR)/LPC_adptive_interp_fx.s source/$(CPUDIR)/LPC_interpolation_fx.s source/$(CPUDIR)/LSPLSF.s \ source/$(CPUDIR)/LTP_E.s source/$(CPUDIR)/PRC_Ideal_Excit_fx.s source/$(CPUDIR)/PRC_TargetSignal_fx.s \ source/$(CPUDIR)/PREPROCE.s source/$(CPUDIR)/PWF_WeightingFilters_fx.s \ source/$(CPUDIR)/SRCHRANG.s source/$(CPUDIR)/SRCH_5PL.s source/$(CPUDIR)/band_energy_fcn_fx.s \ source/$(CPUDIR)/dec_loop26.s source/$(CPUDIR)/energy_LOOP26.s source/$(CPUDIR)/mapping.s \ source/$(CPUDIR)/update_background_fx.s source/$(CPUDIR)/lm40_8.s source/$(CPUDIR)/intrhandler.s \ source/$(CPUDIR)/SMV_FCS_precalc4.s \ source/$(CPUDIR)/FCS_Determ_FB_excit_fx_2pulse.s \ source/$(CPUDIR)/add_min.s source/$(CPUDIR)/FCS_Determ_FB_excit_fx_5pulse.s \ source/$(CPUDIR)/phi_5eyy.s HDR = source/$(CPUDIR)/agc.h \ source/$(CPUDIR)/check.h \ source/$(CPUDIR)/const_fx.h source/$(CPUDIR)/datadec.h \ source/$(CPUDIR)/dataenc.h \ source/$(CPUDIR)/decloop26.h source/$(CPUDIR)/dtmf.h \ source/$(CPUDIR)/dtmf_det.h source/$(CPUDIR)/dtmf20ms.h \ source/$(CPUDIR)/FIXED16.H source/$(CPUDIR)/goertzel.h \ source/$(CPUDIR)/gputil_fx.h source/$(CPUDIR)/init.h \ source/$(CPUDIR)/initdata.h \ source/$(CPUDIR)/intrinsic.h source/$(CPUDIR)/lib_bit_fx.h \ source/$(CPUDIR)/lib_cla_fx.h source/$(CPUDIR)/lib_evad_fx.h \ source/$(CPUDIR)/lib_fcs_fx.h source/$(CPUDIR)/lib_flt_fx.h \ source/$(CPUDIR)/lib_gcb_fx.h source/$(CPUDIR)/lib_geq_fx.h \ source/$(CPUDIR)/lib_lpc_fx.h source/$(CPUDIR)/lib_ltp_fx.h \ source/$(CPUDIR)/lib_pit_fx.h source/$(CPUDIR)/lib_ppp_fx.h \ source/$(CPUDIR)/lib_ppr_fx.h source/$(CPUDIR)/lib_prc_fx.h \ source/$(CPUDIR)/lib_pwf_fx.h source/$(CPUDIR)/lib_qlsf_fx.h \ source/$(CPUDIR)/lib_smo_fx.h source/$(CPUDIR)/lib_snr_fx.h \ source/$(CPUDIR)/lib_vad_fx.h source/$(CPUDIR)/main_fx.h \ source/$(CPUDIR)/math_adv40.h \ source/$(CPUDIR)/nelp_fx.h \ source/$(CPUDIR)/PREASM.H source/$(CPUDIR)/preproce_fx.h \ source/$(CPUDIR)/REGS.H \ source/$(CPUDIR)/smv.h source/$(CPUDIR)/smv_tab.h \ source/$(CPUDIR)/str.h source/$(CPUDIR)/struct.h \ source/$(CPUDIR)/tables.h source/$(CPUDIR)/taboffset.h \ source/$(CPUDIR)/typedef_fx.h \ source/$(CPUDIR)/uvgq_fx.h source/$(CPUDIR)/decoder_fx.h \ source/$(CPUDIR)/encoder_fx.h source/$(CPUDIR)/initdec.h \ source/$(CPUDIR)/initenc.h source/$(CPUDIR)/lib_fcs2_fx.h \ source/$(CPUDIR)/smvstate.h source/$(CPUDIR)/Fbcb2_2.h \ source/$(CPUDIR)/Fbcb2_5.h source/$(CPUDIR)/fbcb2_8.h source/$(CPUDIR)/smv_instance.h \ xdais/ismvdec.h xdais/ismvenc.h xdais/ismv.h \ xdais/smvdec_tii.h xdais/smvenc_tii.h \ xdais/smv_tii_priv.h TESTCSRC = tstsrc/$(CPUDIR)/smvtest.c \ tstsrc/$(CPUDIR)/Utilities.c \ tstsrc/$(CPUDIR)/smvtestenc.c \ tstsrc/$(CPUDIR)/smvtestdec.c tstsrc/$(CPUDIR)/smvtest_contaminate.c \ tstsrc/$(CPUDIR)/smvtest_relocate.c tstsrc/$(CPUDIR)/smvtest_2ch.c tstsrc/$(CPUDIR)/smvtest_interrupt.c TESTHDR = tstsrc/$(CPUDIR)/dataenc.h tstsrc/$(CPUDIR)/datatst.h tstsrc/$(CPUDIR)/smvdec.h \ tstsrc/$(CPUDIR)/datatstc.h tstsrc/$(CPUDIR)/Utilities.h tstsrc/$(CPUDIR)/data2ch.h TESTASMSRC = tstsrc/$(CPUDIR)/interrupt.s tstsrc/$(CPUDIR)/timer.s \ tstsrc/$(CPUDIR)/timer_intr.s tstsrc/$(CPUDIR)/vectors.s CLEAN_TARGETS = smv_tii.l64 smvtst.out smvtst.map smvenc.out smvenc.map smvdec.out smvdec.map smvcontaminate.out \ smvcontaminate.map smvrelocate.out smvrelocate.map smvtest2ch.out smvtest2ch.map # Build SMV components (Default) RECURSION_TARGET = # Allow clean to nuke the intermediates from these. EXCSRC = $(CSRC) EXASMSRC = $(ASMSRC) # These files must be compiled with a special rule using recursion # .PHONY all targets which are not files to avoid strange behavior if # a file of that name exists. .PHONY: all library all: library # Set root to find make include files ifndef GGROOT export GGROOT = ../../.. endif # Include standard eco include include $(GGROOT)/mkrel/c64x/makeeco.mk # Defines CDEFS = -dXDAIS -dC64x -dENC_CMP -dDEC_CMP -dDATA ADEFS = $(CDEFS) # Compiler Options ifeq ($(BUILD),ML3) MEM_MODEL = -ml3 endif ifeq ($(BUILD),ML0) MEM_MODEL = -ml0 endif ifeq ($(VAD_NS),B_ONLY) VADNS_OPT = endif ifeq ($(DTMF),YES) DTMF_OPT = -dDTMF else DTMF_OPT = endif CFLAGS = -mv6400 $(MEM_MODEL) $(VADNS_OPT) $(DTMF_OPT) -mr1 -mi1000 -o3 -k -mt -mw -mh -mx DCFLAGS = ifeq ($(ENDIAN),BIG) RTLIBS = $(TOOLSC64XDOS)/cgtools/lib/rts6400e.lib CFLAGS +=-me -dBIG_ENDIAN AFLAGS +=-me -dBIG_ENDIAN=1 -dLITTLE_ENDIAN=0 TESTFLAG =-me -dBIG_ENDIAN else CFLAGS +=-dLITTLE_ENDIAN AFLAGS +=-dLITTLE_ENDIAN=1 -dBIG_ENDIAN=0 TESTFLAG =-dLITTLE_ENDIAN endif ifeq ($(SPLIT),10MS) CFLAGS +=-dSPLIT_10MS AFLAGS +=-dSPLIT_10MS TESTFLAG +=-dSPLIT_10MS endif # SMV uses standard include files SMV_C_DIR =$(ECODIR)/source/$(CPUDIR);$(ECODIR)/xdais;$(GGROOT)/ttytdd/source/$(CPUDIR);$(PLATINC);$(STDINC) SMV_A_DIR =$(ECODIR)/source/$(CPUDIR);$(ECODIR)/xdais;$(GGROOT)/ttytdd/source/$(CPUDIR);$(STDAINC) export C6X_C_DIR = $(subst /,\,$(SMV_C_DIR)) export C6X_A_DIR = $(subst /,\,$(SMV_A_DIR)) ifndef XDAIS XDAIS = NO endif ifeq ($(XDAIS),YES) library: smvenc_tii.l64 smvdec_tii.l64 $(FLAT_TARGET) smvenc_tii.l64: $(OBJS) $(ARIN) $@ $(XDAIS_ENCODER_OBJS) smvdec_tii.l64: $(OBJS) $(ARIN) $@ $(XDAIS_DECODER_OBJS) else ifneq ($(XDAIS),YES) library: smv_tii.l64 $(FLAT_TARGET) smv_tii.l64: $(OBJS) $(ARIN) $@ $? endif endif # special rules for .obj's which are not compiled by vpath vpath % $(TOOLSCCSC64XDOS)/xdais/src/api;$(ECODIR)/source;$(ECODIR)/source/$(CPUDIR);$(ECODIR)/xdais vpath % $(ECODIR)/tstsrc/$(CPUDIR);$(GGROOT)/ttytdd/source/$(CPUDIR) ifeq ($(XDAIS),YES) test: smvxdais_encoder.out smvxdais_decoder.out else ifeq ($(SPLIT),20MS) test: smvtst.out smvenc.out smvdec.out smvcontaminate.out smvrelocate.out smvtest2ch.out smvinterrupt.out endif ifeq ($(SPLIT),10MS) test: smvenc.out smvdec.out endif endif smvxdais_encoder.out: smvtst.cmd $(TESTOBJS) library $(LD) -c -x -heap 0x10000 -stack 0x4000 -l $(RTLIBS) -lsmvenc_tii.l64 smvtestenc.oc utilities.oc -o smvxdais_encoder.out -m smvxdais_encoder.map $(ECODIR)/tstsrc/$(CPUDIR)/smvtst.cmd $(CPFLATCMD) smvxdais_decoder.out: smvtst.cmd $(TESTOBJS) library $(LD) -c -x -heap 0x10000 -stack 0x4000 -l $(RTLIBS) -lsmvdec_tii.l64 smvtestdec.oc utilities.oc -o smvxdais_decoder.out -m smvxdais_decoder.map $(ECODIR)/tstsrc/$(CPUDIR)/smvtst.cmd $(CPFLATCMD) smvtst.out: smvtst.cmd $(TESTOBJS) library $(LD) -c -x -heap 0x10000 -stack 0x10000 -l $(RTLIBS) -lsmv_tii.l64 smvtest.oc Utilities.oc -o smvtst.out -m smvtst.map $(ECODIR)/tstsrc/$(CPUDIR)/smvtst.cmd $(CPFLATCMD) smvenc.out: smvtst.cmd $(TESTOBJS) library $(LD) -c -x -heap 0x10000 -stack 0x10000 -l $(RTLIBS) -lsmv_tii.l64 smvtestenc.oc Utilities.oc -o smvenc.out -m smvenc.map $(ECODIR)/tstsrc/$(CPUDIR)/smvtst.cmd $(CPFLATCMD) smvdec.out: smvtst.cmd $(TESTOBJS) library $(LD) -c -x -heap 0x10000 -stack 0x10000 -l $(RTLIBS) -lsmv_tii.l64 smvtestdec.oc Utilities.oc -o smvdec.out -m smvdec.map $(ECODIR)/tstsrc/$(CPUDIR)/smvtst.cmd $(CPFLATCMD) smvcontaminate.out: smvtst.cmd $(TESTOBJS) library $(LD) -c -x -heap 0x10000 -stack 0x10000 -l $(RTLIBS) -lsmv_tii.l64 smvtest_contaminate.oc Utilities.oc -o smvcontaminate.out -m smvcontaminate.map $(ECODIR)/tstsrc/$(CPUDIR)/smvtst.cmd $(CPFLATCMD) smvrelocate.out: smvtst.cmd $(TESTOBJS) library $(LD) -c -x -heap 0x10000 -stack 0x10000 -l $(RTLIBS) -lsmv_tii.l64 smvtest_relocate.oc Utilities.oc -o smvrelocate.out -m smvrelocate.map $(ECODIR)/tstsrc/$(CPUDIR)/smvtst.cmd $(CPFLATCMD) smvtest2ch.out: smvtst.cmd $(TESTOBJS) library $(LD) -c -x -heap 0x10000 -stack 0x10000 -l $(RTLIBS) -lsmv_tii.l64 smvtest_2ch.oc Utilities.oc -o smvtest2ch.out -m smvtest2ch.map $(ECODIR)/tstsrc/$(CPUDIR)/smvtst.cmd $(CPFLATCMD) smvinterrupt.out: smvtst.cmd $(TESTOBJS) library $(LD) -c -x -heap 0x10000 -stack 0x10000 -l $(RTLIBS) -lsmv_tii.l64 smvtest_interrupt.oc Utilities.oc interrupt.oa timer_intr.oa timer.oa vectors.oa -o smvinterrupt.out -m smvinterrupt.map $(ECODIR)/tstsrc/$(CPUDIR)/smvtst.cmd $(CPFLATCMD) smvtest.$(COBJEXT): smvtest.c $(CC) -mv6400 -ml3 -g $(TESTFLAG) $(ECODIR)/tstsrc/$(CPUDIR)/smvtest.c -eo.oc Utilities.$(COBJEXT): Utilities.c $(CC) -mv6400 -ml3 -g $(TESTFLAG) $(ECODIR)/tstsrc/$(CPUDIR)/Utilities.c -eo.oc smvtestenc.$(COBJEXT): smvtestenc.c $(CC) -mv6400 -ml3 -g $(TESTFLAG) $(ECODIR)/tstsrc/$(CPUDIR)/smvtestenc.c -eo.oc smvtestdec.$(COBJEXT): smvtestdec.c $(CC) -mv6400 -ml3 -g $(TESTFLAG) $(ECODIR)/tstsrc/$(CPUDIR)/smvtestdec.c -eo.oc smvtest_contaminate.$(COBJEXT): smvtest_contaminate.c $(CC) -mv6400 -ml3 -g $(TESTFLAG) $(ECODIR)/tstsrc/$(CPUDIR)/smvtest_contaminate.c -eo.oc smvtest_relocate.$(COBJEXT): smvtest_relocate.c $(CC) -mv6400 -ml3 -g $(TESTFLAG) $(ECODIR)/tstsrc/$(CPUDIR)/smvtest_relocate.c -eo.oc smvtest_2ch.$(COBJEXT): smvtest_2ch.c $(CC) -mv6400 -ml3 -g $(TESTFLAG) $(ECODIR)/tstsrc/$(CPUDIR)/smvtest_2ch.c -eo.oc smvtest_interrupt.$(COBJEXT): smvtest_interrupt.c $(CC) -mv6400 -ml3 -g $(TESTFLAG) $(ECODIR)/tstsrc/$(CPUDIR)/smvtest_interrupt.c -eo.oc XDAIS_DECODER_OBJS = common.oc decoder_fx.oc \ dtmf_gen.oc \ geq_fx.oc \ gputil_fx.oc init.oc \ init_fx.oc Initdata.oc lib_bit_fx.oc \ lib_cla_fx.oc \ lib_fcs2_fx.oc lib_gcb_fx.oc \ lib_geq_fx.oc lib_lpc_fx.oc lib_ltp_fx.oc \ lib_pit_fx.oc \ lib_ppr_fx.oc \ lib_qlsf_fx.oc lib_snr_fx.oc \ lib_sns_fx.oc \ math_adv40.oc \ nelp_fx.oc \ uvgq_fx.oc gcb_gauss_fx.oc FBCB2_8.oc \ fbcb2_2.oc fbcb2_5.oc r_fft.oc \ r_inverse_fft.oc initdec.oc initenc.oc \ SMV_DecInitState.oc \ tty_enc.oc ttystate.oc tty_rate.oc \ tty_hdr.oc tty_dec.oc \ tty_char.oc tty_bit.oc \ tone_gen.oc tty_gen.oc dit2a.oc \ ttytdd_table.oc \ smvdec_rxtx.oc smvdec_tii_ialg.oc \ smvdec_tii_vtab.oc \ SMV_FCS_CrossCorr.ol autocorr_fx.ol \ copyshort.ol r_fft_loop.ol r_ifft_loop.ol \ SMV_FCS_precalc1.ol SMV_FCS_precalc2.ol \ SMV_FCS_precalc3.ol SMV_FCS_getphi.ol \ gcb_comp_err.ol SMV_FCS_getphim0.ol \ SMV_FCS_getphim1.ol SMV_FCS_getphim1_2.ol \ bdo2dit.ol pppsharpfx.ol \ FCS_exit_Enhance_fx2.oa FLT_convolve_fx.oa \ FLT_filterAP_fx.oa LPC_durbin_fx.oa \ LPC_lsf2a_fx.oa LPC_pred2refl_fx.oa \ LTP_FineIndex_search_fx1.oa LTP_excit_const_pitch_fx.oa \ NELP.oa PIT_Calc_Rp_fx.oa \ PIT_LT_Corr_Rmax_fx.oa PIT_PitchInterpolat_fx.oa \ PPR_compute_the_harmonic_filter_coefficient.oa \ common1.oa compftmp.oa \ compit.oa egyRdv.oa \ gcb_conv.oa \ geq_vqma_2fx_srch.oa geq_vqma_4fx_srch.oa \ lm40_5.oa nupd.oa peaks1.oa \ phi28eyy.oa phi_5.oa phi_8.oa \ phi_8eyy.oa pm2_0.oa \ signTab.oa smv_dot_v1_v1.oa \ smv_fnExp2.oa smv_fnlog10.oa smv_fnlog2.oa \ smv_l_divide.oa smv_sqroot.oa srch_2p_nsv.oa \ srch_2p_sv.oa srch_5p.oa srch_5pl_2ndpart.oa \ srch_8p.oa upd.oa \ uvgq.oa vqma_3fx.oa wad_vector_fx.oa \ COMPEXX.oa FILTER1.oa \ FLT_conv_fx.oa GCB.oa GCB_gauss_noise_fx.oa \ LPCLSP.oa LPC_adptive_interp_dec_fx.oa \ LPC_interpolation_fx.oa LSPLSF.oa \ LTP_E.oa \ PREPROCE.oa \ SRCHRANG.oa SRCH_5PL.oa \ dec_loop26.oa energy_LOOP26.oa \ lm40_8.oa intrhandler.oa \ SMV_FCS_precalc4.oa \ FCS_Determ_FB_excit_fx_2pulse.oa \ add_min.oa FCS_Determ_FB_excit_fx_5pulse.oa \ phi_5eyy.oa XDAIS_ENCODER_OBJS = agc.oc check.oc \ common.oc \ dtmf_det.oc dtmf20ms.oc \ encoder_fx.oc geq_fx.oc \ goertzel.oc gputil_fx.oc init.oc \ init_fx.oc Initdata.oc lib_bit_fx.oc \ lib_cla_fx.oc lib_evad_fx.oc \ lib_fcs2_fx.oc lib_gcb_fx.oc \ lib_geq_fx.oc lib_lpc_fx.oc lib_ltp_fx.oc \ lib_mus_fx.oc lib_pit_fx.oc lib_ppp_fx.oc \ lib_ppr_fx.oc lib_prc_fx.oc \ lib_qlsf_fx.oc lib_smo_fx.oc lib_snr_fx.oc \ lib_sns_fx.oc lib_vad_fx.oc \ math_adv40.oc \ nelp_fx.oc \ uvgq_fx.oc gcb_gauss_fx.oc FBCB2_8.oc \ fbcb2_2.oc fbcb2_5.oc r_fft.oc \ r_inverse_fft.oc initdec.oc initenc.oc \ PWF_speech_to_residu_fx.oc \ encoder_fx1.oc encoder_fx2.oc \ SMV_EncInitState.oc \ tty_enc.oc ttystate.oc tty_rate.oc \ tty_hdr.oc tty_dec.oc \ tty_char.oc tty_bit.oc \ tone_gen.oc tty_gen.oc dit2a.oc \ ttytdd_table.oc \ smvenc_rxtx.oc \ smvenc_tii_ialg.oc smvenc_tii_vtab.oc \ SMV_FCS_CrossCorr.ol autocorr_fx.ol \ copyshort.ol r_fft_loop.ol r_ifft_loop.ol \ SMV_FCS_precalc1.ol SMV_FCS_precalc2.ol \ SMV_FCS_precalc3.ol SMV_FCS_getphi.ol \ gcb_comp_err.ol SMV_FCS_getphim0.ol \ SMV_FCS_getphim1.ol SMV_FCS_getphim1_2.ol \ bdo2dit.ol pppsharpfx.ol \ EVAD_voice_detection_sub_fx.oa \ FCS_exit_Enhance_fx2.oa FLT_convolve_fx.oa \ FLT_filterAP_fx.oa LPC_durbin_fx.oa \ LPC_lsf2a_fx.oa LPC_pred2refl_fx.oa \ LTP_FineIndex_search_fx1.oa LTP_excit_const_pitch_fx.oa \ NELP.oa PIT_Calc_Rp_fx.oa \ PIT_LT_Corr_Rmax_fx.oa PIT_PitchInterpolat_fx.oa \ PPP_locat_max_puls_fx.oa PPP_periodicity_detect_fx.oa \ PPP_search_shift_pp_Tg_m_Calc.oa PPP_search_shift_ppgain_calc.oa \ PPR_compute_the_harmonic_filter_coefficient.oa \ PWF_residu_to_wspeech_fx.oa PWF_wspeech_to_speech_fx.oa \ common1.oa compftmp.oa \ compit.oa egyRdv.oa \ gcb_conv.oa \ geq_vqma_2fx_srch.oa geq_vqma_4fx_srch.oa \ lm40_5.oa nupd.oa peaks1.oa \ phi28eyy.oa phi_5.oa phi_8.oa \ phi_8eyy.oa pm2_0.oa \ signTab.oa smv_dot_v1_v1.oa \ smv_fnExp2.oa smv_fnlog10.oa smv_fnlog2.oa \ smv_l_divide.oa smv_sqroot.oa srch_2p_nsv.oa \ srch_2p_sv.oa srch_5p.oa srch_5pl_2ndpart.oa \ srch_8p.oa upd.oa \ uvgq.oa vqma_3fx.oa wad_vector_fx.oa \ COMPEXX.oa FILTER1.oa \ FLT_conv_fx.oa GCB.oa GCB_gauss_noise_fx.oa \ LPCLSP.oa LPC_adptive_interp_dec_fx.oa \ LPC_adptive_interp_fx.oa LPC_interpolation_fx.oa LSPLSF.oa \ LTP_E.oa PRC_Ideal_Excit_fx.oa PRC_TargetSignal_fx.oa \ PREPROCE.oa PWF_WeightingFilters_fx.oa \ SRCHRANG.oa SRCH_5PL.oa band_energy_fcn_fx.oa \ energy_LOOP26.oa mapping.oa \ update_background_fx.oa lm40_8.oa intrhandler.oa \ SMV_FCS_precalc4.oa \ FCS_Determ_FB_excit_fx_2pulse.oa \ add_min.oa FCS_Determ_FB_excit_fx_5pulse.oa \ phi_5eyy.oa ## END OF MAKEFILE ##
Hi..
We are using CCS v2.1.
When I'm trying to build SMV code (TELOGY Networks Inc. 1999) with some compiler options, i'm facing problem with cygwin make utility.
This way of building code with cygwin (without using CCS IDE) is new to me.
Following are my questions:
1. I tried to change this project to CCS project, but getting following errors:
_SMV_TII_wadvectorfx1 d:\smv_rel210c_cdma_sed\smv_try\Debug\lib_smo_fx.obj
_SMV_TII_pprcomputetheharmonicfiltercoefficient
d:\smv_rel210c_cdma_sed\smv_try\Debug\lib_sns_fx.obj
_SMV_TII_fltconvfx d:\smv_rel210c_cdma_sed\smv_try\Debug\lib_sns_fx.obj
_SMV_TII_fltfilterpz1fx d:\smv_rel210c_cdma_sed\smv_try\Debug\nelp_fx.obj
_SMV_TII_quantizeuvg d:\smv_rel210c_cdma_sed\smv_try\Debug\uvgq_fx.obj
>> error: symbol referencing errors - './Debug/smv_try.out' not built
Build Complete,
1 Errors, 0 Warnings, 0 Remarks.
2. Is there any standard reference or tutorial available?
Kindly Help me on this!!!
[Attched make file & cygwin32.bat files]