This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TELOGY SMV Code Build Problem Using CYGWIN Make

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