# makefile for decoder based on GNU gcc

OBJ= decode.o getbits.o picture.o slice.o sequence.o initial.o \
		iquant.o getcode.o writepic.o perfidct.o idct.o \
		convert.o mb.o constr.o transfer.o

CFLAGS = -c -O2 -Wall
COMPILER = gcc

decode: $(OBJ)
	$(COMPILER) $(OBJ) -o decode -lm

decode.o:       decode.c
		$(COMPILER) $(CFLAGS) decode.c

transfer.o:     transfer.c
		$(COMPILER) $(CFLAGS) transfer.c

constr.o:       constr.c
		$(COMPILER) $(CFLAGS) constr.c

convert.o:      convert.c
		$(COMPILER) $(CFLAGS) convert.c

initial.o:      initial.c
		$(COMPILER) $(CFLAGS) initial.c

iquant.o:       iquant.c
		$(COMPILER) $(CFLAGS) iquant.c

perfidct.o:     perfidct.c
		$(COMPILER) $(CFLAGS) perfidct.c

idct.o:         idct.c
		$(COMPILER) $(CFLAGS) idct.c

writepic.o:     writepic.c 
		$(COMPILER) $(CFLAGS) writepic.c 

getbits.o:      getbits.c
		$(COMPILER) $(CFLAGS) getbits.c

slice.o:        slice.c
		$(COMPILER) $(CFLAGS) slice.c

picture.o:      picture.c
		$(COMPILER) $(CFLAGS) picture.c

sequence.o:     sequence.c
		$(COMPILER) $(CFLAGS) sequence.c

getcode.o:      getcode.c
		$(COMPILER) $(CFLAGS) getcode.c

mb.o:           mb.c
		$(COMPILER) $(CFLAGS) mb.c 

constr.c: consts.h types.h decode.h decode.pro
GetBits.c: consts.h types.h decode.pro
GetCode.c: consts.h types.h vlc.h decode.pro
PerfIdct.c: consts.h types.h decode.pro
writepic.c: consts.h types.h decode.h decode.pro
convert.c: consts.h types.h decode.pro
decode.c: consts.h types.h decode.pro decode.h
idct.c: consts.h
initial.c: consts.h types.h decode.h decode.pro
iquant.c: consts.h types.h quant.h decode.pro
mb.c: consts.h types.h vlc.h decode.pro
picture.c: consts.h types.h flc.h decode.h decode.pro
sequence.c: consts.h types.h flc.h decode.h decode.pro
slice.c: consts.h types.h flc.h vlc.h global.h decode.h decode.pro
transfer.c: consts.h types.h decode.h decode.pro
