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

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

CC= cc

all:	drmtst rs2decode


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

rs2decode:	rs.o rsbepdecode.o
	$(CC) -o rs2decode rsbepdecode.o rs.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

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

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

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

clean:	
	rm *.o
	rm drmtst
	rm rs2decode

