OBJECTS=  drmtst.o filter.o demodulate.o initaudio.o monorec.o  psdmean.o\
          psdcmean.o newfft.o filter1.o filter1c.o getmode.o getofdm.o\
          getfoffsint.o resample.o getsymbolidx.o mkfacmap.o ludcmp.o lubksb.o\
          nrutil.o getofdmsync.o tstdraw.o drawblock.o dispfac.o\
          channeldecode.o deinterleaver.o msdhardfac.o viterbi_decode.o crc8_c.o\
	  mkmscmap.o  crc16_c.o  iseqmplexdesc.o\
          copymplexdesc.o  msdhardmsc.o sourcedecode.o bits2bytes.o\
          crc16_bytewise.o motobjparse.o deflate_uncompress.o initwfall.o\
	  calcfft.o creategc.o removespaces.o

CFLAGS=   -Wall -pedantic -O3  -I/usr/local/include -DFTTW_ENABLE_FLOAT -L/usr/local/lib -L/usr/X11/lib

CC= cc

all:	drmtst rs2decode rs1decode rs3decode rs4decode rs2decoderas rs3decoderas rs1decoderas rs4decoderas



drmtst:	$(OBJECTS) 
	$(CC) -o drmtst $(OBJECTS) $(CFLAGS)  -lX11  -lasound  -ldfftw  -lz -lm 

rs4decode:	rs4.o rs4decode.o
	$(CC) -o rs4decode rs4decode.o rs4.o

rs4decoderas:	rs4.o rs4decoderas.o
	$(CC) -o rs4decoderas rs4decoderas.o rs4.o

rs3decode:	rs3.o rs3decode.o
	$(CC) -o rs3decode rs3decode.o rs3.o

rs3decoderas:   rs3.o rs3decoderas.o
	$(CC) -o rs3decoderas rs3decoderas.o rs3.o

rs2decode:	rs2.o rsbepdecode.o
	$(CC) -o rs2decode rsbepdecode.o rs2.o 

rs2decoderas:   rs2.o rs2decoderas.o
	$(CC) -o rs2decoderas rs2decoderas.o rs2.o

removespace.o:	removespaces.c
	$(CC) -c $(CFLAGS) removespaces.c

rs1decode:	rs1.o rs1decode.o
	$(CC) -o rs1decode rs1decode.o rs1.o

rs1decoderas:	rs1.o rs1decoderas.o
	$(CC) -o rs1decoderas rs1decoderas.o rs1.o

tstfilt:	tstfilt.c filter.o
	$(CC) -o tstfilt tstfilt.c filter.o -lm

tstfilt2:	tstfilt2.c filter.o
	$(CC) -o tstfilt2 tstfilt2.c filter.o -lm

lubksb.o:	lubksb.c
	$(CC) -c $(CFLAGS) lubksb.c

ludcmp.o:	ludcmp.c
	$(CC) -c $(CFLAGS) ludcmp.c

nrutil.o:	nrutil.h nrutil.c
	$(CC) -c $(CFLAGS) nrutil.c

drmtst.o:	drm.h drmproto.h drmdefs.h drmtst.c
	$(CC) -c $(CFLAGS) drmtst.c

filter.o:	filter.c
	$(CC) -c $(CFLAGS) filter.c

demodulate.o:	 demodulate.c drm.h drmdefs.h drmproto.h
	$(CC) -c $(CFLAGS) demodulate.c

initaudio.o:	drm.h drmdefs.h initaudio.c
	$(CC) -c $(CFLAGS) initaudio.c

monorec.o:	drm.h drmdefs.h monorec.c
	$(CC) -c $(CFLAGS) monorec.c

psdmean.o:	psdmean.c
	$(CC) -c $(CFLAGS) psdmean.c

psdcmean.o:	psdcmean.c
	$(CC) -c $(CFLAGS) psdcmean.c

newfft.o:	newfft.c
	$(CC) -c $(CFLAGS) newfft.c

calcfft.o:	calcfft.c
	$(CC) -c $(CFLAGS) calcfft.c

creategc.o:	creategc.c
	$(CC) -c $(CFLAGS) creategc.c

filter1.o:	filter1.c
	$(CC) -c $(CFLAGS) filter1.c

filter1c.o:	filter1c.c
	$(CC) -c $(CFLAGS) filter1c.c

getmode.o:	getmode.c drmdefs.h
	$(CC) -c $(CFLAGS) getmode.c

getofdm.o:	getofdm.c drmdefs.h
	$(CC) -c $(CFLAGS) getofdm.c
 
getofdmsync.o:	getofdmsync.c drmdefs.h
	$(CC) -c $(CFLAGS) getofdmsync.c

getfoffsint.o:	getfoffsint.c drmdefs.h
	$(CC) -c $(CFLAGS) getfoffsint.c

resample.o:	ResampleFilter.h  resample.c
	$(CC) -c $(CFLAGS) resample.c

getsymbolidx.o:	getsymbolidx.c drmdefs.h
	$(CC) -c $(CFLAGS) getsymbolidx.c

mkfacmap.o:	mkfacmap.c drmdefs.h
	$(CC) -c $(CFLAGS) mkfacmap.c

tstdraw.o:	tstdraw.c drmdefs.h
	$(CC) -c $(CFLAGS) tstdraw.c

drawblock.o:	drawblock.c drmdefs.h
	$(CC) -c $(CFLAGS) drawblock.c

dispfac.o:	dispfac.c
	$(CC) -c $(CFLAGS) dispfac.c

channeldecode.o:	channeldecode.c   drmdefs.h drm.h
	$(CC) -c $(CFLAGS) channeldecode.c

deinterleaver.o:	deinterleaver.c
	$(CC) -c $(CFLAGS) deinterleaver.c

msdhardfac.o:	msdhardfac.c
	$(CC) -c $(CFLAGS) msdhardfac.c

viterbi_decode.o:	viterbi_decode.h viterbi_decode.c
	$(CC) -c $(CFLAGS) viterbi_decode.c

crc8_c.o:	crc8_c.c
	$(CC) -c $(CFLAGS) crc8_c.c

mkmscmap.o:	mkmscmap.c  drm.h  drmproto.h drmdefs.h
	$(CC) -c $(CFLAGS) mkmscmap.c

crc16_c.o:	crc16_c.c
	$(CC) -c $(CFLAGS) crc16_c.c

iseqmplexdesc.o:	 iseqmplexdesc.c
	$(CC) -c $(CFLAGS) iseqmplexdesc.c

copymplexdesc.o:	 copymplexdesc.c
	$(CC) -c $(CFLAGS) copymplexdesc.c

msdhardmsc.o:	 drm.h drmdefs.h msdhardmsc.c msd_hard_sdc.h
	$(CC) -c $(CFLAGS) msdhardmsc.c

sourcedecode.o:	 drm.h drmdefs.h sourcedecode.c
	$(CC) -c $(CFLAGS) sourcedecode.c

bits2bytes.o:	bits2bytes.c
	$(CC) -c $(CFLAGS) bits2bytes.c
 
crc16_bytewise.o:	crc16_bytewise.c
	$(CC) -c $(CFLAGS) crc16_bytewise.c

motobjparse.o:	motobjparse.c
	$(CC) -c $(CFLAGS) motobjparse.c

deflate_uncompress.o:	deflate_uncompress.c
	$(CC) -c $(CFLAGS) deflate_uncompress.c

initwfall.o:	initwfall.c
	$(CC) -c $(CFLAGS) initwfall.c

rs1.o:	rs1.c rs1.h
	$(CC) -c  rs1.c

rs2.o:	rs2.c rs2.h
	$(CC) -c  rs2.c

rs3.o:	rs3.c rs3.h
	$(CC) -c  rs3.c

rs4.o:	rs4.c rs4.h
	$(CC) -c  rs4.c

rsbepdecode.o: rs.h rsbepdecode.c 
	$(CC) -c  rsbepdecode.c

rs1decoderas.o:	rs1.h rs1.c rs1decoderas.c
	$(CC) -c rs1decoderas.c

rs2decoderas.o: rs2.h rs2.c rs2decoderas.c
	$(CC) -c rs2decoderas.c

rs1decode.o:	rs1.h rs1.c rs1decode.c
	$(CC) -c rs1decode.c

rs3decode.o:	rs3.h rs3.c rs3decode.c
	$(CC) -c rs3decode.c

rs3decoderas.o:  rs3.h rs3.c rs3decoderas.c
	$(CC) -c rs3decoderas.c

rs4decode.o:	rs4.h rs4.c rs4decode.c
	$(CC) -c rs4decode.c

rs4decoderas.o:	rs4.h  rs4.c rs4decoderas.c
	$(CC) -c rs4decoderas.c

clean:	
	rm *.o
	rm drmtst
	rm rs2decode
	rm rs1decode
	rm rs3decode
	rm rs4decode
	rm rs1decoderas
	rm rs2decoderas
	rm rs3decoderas
	rm rs4decoderas




