OBJDIR := $(shell uname --machine)
USE_MMX = 0
CC = gcc
HAVE_CFLAGS := $(shell if [ -n "$CFLAGS" ]; then echo y; fi )
#ENCORE_DIR := encore2/src
#DECORE_DIR := decore2/src
ENCORE_DIR := encore50
DECORE_DIR := decore50
ENCORE_INCLUDE := $(ENCORE_DIR)/encore.h
DECORE_INCLUDE := $(DECORE_DIR)/decore.h
OGG_DIR := $(shell expr libogg* )
VORBIS_DIR := $(shell expr libvorbis* )




DIRS = $(OBJDIR) \
	$(OBJDIR)/jpeg \
	$(OBJDIR)/libraw1394/src \
	$(OBJDIR)/libdv


DIRS += \
	$(OBJDIR)/$(DECORE_DIR)

DIRS += \
	$(OBJDIR)/$(ENCORE_DIR) \
	$(OBJDIR)/$(ENCORE_DIR)/att_mmx \
	$(OBJDIR)/$(ENCORE_DIR)/colorspace \
	$(OBJDIR)/$(ENCORE_DIR)/colorspace/intel_mmx \
	$(OBJDIR)/$(ENCORE_DIR)/intel_mmx \
	$(OBJDIR)/$(ENCORE_DIR)/mbcoding \
	$(OBJDIR)/$(ENCORE_DIR)/mbmotionestcomp \
	$(OBJDIR)/$(ENCORE_DIR)/mbmotionestcomp/intel_mmx \
	$(OBJDIR)/$(ENCORE_DIR)/mbprediction \
	$(OBJDIR)/$(ENCORE_DIR)/mbtransquant \
	$(OBJDIR)/$(ENCORE_DIR)/mbtransquant/intel_mmx

DIRS += \
	$(OBJDIR)/$(OGG_DIR)/src \
	$(OBJDIR)/$(VORBIS_DIR)/lib







ifeq ($(OBJDIR), i686)
  USE_MMX = 1
endif





ifneq ($(HAVE_CFLAGS), y)


ifeq ($(OBJDIR), alpha)
  CFLAGS = -O4 -arch ev67 -ieee -accept c99_keywords -gcc_messages
endif

ifeq ($(OBJDIR), i686)
  CFLAGS = -O3 -fmessage-length=0 -funroll-all-loops -fomit-frame-pointer -malign-loops=2 -malign-jumps=2 -malign-functions=2 -I/usr/local/include
endif





endif








#CFLAGS += -g
CFLAGS += -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
CFLAGS += -DHAVE_FIREWIRE
CFLAGS += -I. -Ijpeg -Ilibdv -Ilibraw1394 $(shell glib-config --cflags)

ifeq ($(USE_MMX), 1)




CFLAGS += -DARCH_X86

DVMMXOBJ = libdv/asmoff.h

DVMMXOBJS = \
  $(OBJDIR)/libdv/dct_block_mmx.o \
  $(OBJDIR)/libdv/encode_x86.o \
  $(OBJDIR)/libdv/idct_block_mmx.o \
  $(OBJDIR)/libdv/vlc_x86.o \
  $(OBJDIR)/libdv/quant_x86.o \
  $(OBJDIR)/libdv/transpose_x86.o




endif








OBJS = \
	$(OBJDIR)/atom.o \
	$(OBJDIR)/cmodel_default.o \
	$(OBJDIR)/cmodel_yuv420p.o \
	$(OBJDIR)/cmodel_yuv422.o \
	$(OBJDIR)/codecs.o \
	$(OBJDIR)/colormodels.o \
	$(OBJDIR)/ctab.o \
	$(OBJDIR)/dinf.o \
	$(OBJDIR)/divx.o \
	$(OBJDIR)/dref.o \
	$(OBJDIR)/dv.o \
	$(OBJDIR)/edts.o \
	$(OBJDIR)/elst.o \
	$(OBJDIR)/graphics.o \
	$(OBJDIR)/hdlr.o \
	$(OBJDIR)/ima4.o \
	$(OBJDIR)/jpeg.o \
	$(OBJDIR)/jpeg_old.o \
	$(OBJDIR)/libdv.o \
	$(OBJDIR)/libmjpeg.o \
	$(OBJDIR)/matrix.o \
	$(OBJDIR)/mdat.o \
	$(OBJDIR)/mdhd.o \
	$(OBJDIR)/mdia.o \
	$(OBJDIR)/minf.o \
	$(OBJDIR)/moov.o \
	$(OBJDIR)/mvhd.o \
	$(OBJDIR)/plugin.o \
	$(OBJDIR)/qtpng.o \
	$(OBJDIR)/quicktime.o \
	$(OBJDIR)/raw.o \
	$(OBJDIR)/rawaudio.o \
	$(OBJDIR)/smhd.o \
	$(OBJDIR)/stbl.o \
	$(OBJDIR)/stco.o \
	$(OBJDIR)/stsc.o \
	$(OBJDIR)/stsd.o \
	$(OBJDIR)/stsdtable.o \
	$(OBJDIR)/stss.o \
	$(OBJDIR)/stsz.o \
	$(OBJDIR)/stts.o \
	$(OBJDIR)/tkhd.o \
	$(OBJDIR)/trak.o \
	$(OBJDIR)/twos.o \
	$(OBJDIR)/udta.o \
	$(OBJDIR)/ulaw.o \
	$(OBJDIR)/util.o \
	$(OBJDIR)/v308.o \
	$(OBJDIR)/v408.o \
	$(OBJDIR)/v410.o \
	$(OBJDIR)/vmhd.o \
	$(OBJDIR)/vorbis.o \
	$(OBJDIR)/workarounds.o \
	$(OBJDIR)/yuv2.o \
	$(OBJDIR)/yuv4.o \
	$(OBJDIR)/yv12.o \
	$(OBJDIR)/jpeg/jcapimin.o \
	$(OBJDIR)/jpeg/jcapistd.o \
	$(OBJDIR)/jpeg/jctrans.o \
	$(OBJDIR)/jpeg/jcparam.o \
	$(OBJDIR)/jpeg/jdatadst.o \
	$(OBJDIR)/jpeg/jcinit.o \
	$(OBJDIR)/jpeg/jcmaster.o \
	$(OBJDIR)/jpeg/jcmarker.o \
	$(OBJDIR)/jpeg/jcmainct.o \
	$(OBJDIR)/jpeg/jcprepct.o \
	$(OBJDIR)/jpeg/jccoefct.o \
	$(OBJDIR)/jpeg/jccolor.o \
	$(OBJDIR)/jpeg/jcsample.o \
	$(OBJDIR)/jpeg/jchuff.o \
	$(OBJDIR)/jpeg/jcphuff.o \
	$(OBJDIR)/jpeg/jcdctmgr.o \
	$(OBJDIR)/jpeg/jfdctfst.o \
	$(OBJDIR)/jpeg/jfdctflt.o \
	$(OBJDIR)/jpeg/jfdctint.o \
	$(OBJDIR)/jpeg/jdapimin.o \
	$(OBJDIR)/jpeg/jdapistd.o \
	$(OBJDIR)/jpeg/jdtrans.o \
	$(OBJDIR)/jpeg/jdatasrc.o \
	$(OBJDIR)/jpeg/jdmaster.o \
	$(OBJDIR)/jpeg/jdinput.o \
	$(OBJDIR)/jpeg/jdmarker.o \
	$(OBJDIR)/jpeg/jdhuff.o \
	$(OBJDIR)/jpeg/jdphuff.o \
	$(OBJDIR)/jpeg/jdmainct.o \
	$(OBJDIR)/jpeg/jdcoefct.o \
	$(OBJDIR)/jpeg/jdpostct.o \
	$(OBJDIR)/jpeg/jddctmgr.o \
	$(OBJDIR)/jpeg/jidctfst.o \
	$(OBJDIR)/jpeg/jidctflt.o \
	$(OBJDIR)/jpeg/jidctint.o \
	$(OBJDIR)/jpeg/jidctred.o \
	$(OBJDIR)/jpeg/jdsample.o \
	$(OBJDIR)/jpeg/jdcolor.o \
	$(OBJDIR)/jpeg/jquant1.o \
	$(OBJDIR)/jpeg/jquant2.o \
	$(OBJDIR)/jpeg/jdmerge.o \
	$(OBJDIR)/jpeg/jcomapi.o \
	$(OBJDIR)/jpeg/jutils.o \
	$(OBJDIR)/jpeg/jerror.o \
	$(OBJDIR)/jpeg/jmemmgr.o \
	$(OBJDIR)/jpeg/jmemnobs.o \
	$(OBJDIR)/libraw1394/src/eventloop.o \
	$(OBJDIR)/libraw1394/src/fcp.o \
	$(OBJDIR)/libraw1394/src/iso.o \
	$(OBJDIR)/libraw1394/src/main.o \
	$(OBJDIR)/libraw1394/src/readwrite.o










OBJS += \
	$(OBJDIR)/libdv/YUY2.o \
	$(OBJDIR)/libdv/YV12.o \
	$(OBJDIR)/libdv/audio.o \
	$(OBJDIR)/libdv/bitstream.o \
	$(OBJDIR)/libdv/dct.o \
	$(OBJDIR)/libdv/dv.o \
	$(OBJDIR)/libdv/encode.o \
	$(OBJDIR)/libdv/enc_input.o \
	$(OBJDIR)/libdv/headers.o \
	$(OBJDIR)/libdv/idct_248.o \
	$(OBJDIR)/libdv/parse.o \
	$(OBJDIR)/libdv/place.o \
	$(OBJDIR)/libdv/quant.o \
	$(OBJDIR)/libdv/rgb.o \
	$(OBJDIR)/libdv/util.o \
	$(OBJDIR)/libdv/vlc.o \
	$(OBJDIR)/libdv/weighting.o

# OBJS += \
# 	$(OBJDIR)/$(DECORE_DIR)/bitstream.o \
# 	$(OBJDIR)/$(DECORE_DIR)/colorspace.o \
# 	$(OBJDIR)/$(DECORE_DIR)/decoder.o \
# 	$(OBJDIR)/$(DECORE_DIR)/decore2.o \
# 	$(OBJDIR)/$(DECORE_DIR)/idct.o \
# 	$(OBJDIR)/$(DECORE_DIR)/image.o \
# 	$(OBJDIR)/$(DECORE_DIR)/mbcoding.o \
# 	$(OBJDIR)/$(DECORE_DIR)/mbprediction.o \
# 	$(OBJDIR)/$(DECORE_DIR)/quantize.o \
# 	$(OBJDIR)/$(DECORE_DIR)/transfer.o

OBJS += \
	$(OBJDIR)/$(DECORE_DIR)/debug.o \
	$(OBJDIR)/$(DECORE_DIR)/basic_prediction.o \
	$(OBJDIR)/$(DECORE_DIR)/clearblock.o \
	$(OBJDIR)/$(DECORE_DIR)/decore.o \
	$(OBJDIR)/$(DECORE_DIR)/getbits.o \
	$(OBJDIR)/$(DECORE_DIR)/idct.o \
	$(OBJDIR)/$(DECORE_DIR)/mp4_vars.o \
	$(OBJDIR)/$(DECORE_DIR)/mp4_block.o \
	$(OBJDIR)/$(DECORE_DIR)/mp4_decoder.o \
	$(OBJDIR)/$(DECORE_DIR)/mp4_header.o \
	$(OBJDIR)/$(DECORE_DIR)/mp4_iquant.o \
	$(OBJDIR)/$(DECORE_DIR)/mp4_mblock.o \
	$(OBJDIR)/$(DECORE_DIR)/mp4_picture.o \
	$(OBJDIR)/$(DECORE_DIR)/mp4_predict.o \
	$(OBJDIR)/$(DECORE_DIR)/mp4_recon.o \
	$(OBJDIR)/$(DECORE_DIR)/mp4_tables.o \
	$(OBJDIR)/$(DECORE_DIR)/mp4_vld.o \
	$(OBJDIR)/$(DECORE_DIR)/postprocess.o \
	$(OBJDIR)/$(DECORE_DIR)/yuv2rgb.o \
	$(OBJDIR)/$(DECORE_DIR)/transferidct.o

#OBJS += \
#	$(OBJDIR)/$(ENCORE_DIR)/bitstream.o \
#	$(OBJDIR)/$(ENCORE_DIR)/colorspace/colorspace.o \
#	$(OBJDIR)/$(ENCORE_DIR)/encoder.o  \
#	$(OBJDIR)/$(ENCORE_DIR)/encore.o  \
#	$(OBJDIR)/$(ENCORE_DIR)/image.o  \
#	$(OBJDIR)/$(ENCORE_DIR)/mbcoding/mbcoding.o  \
#	$(OBJDIR)/$(ENCORE_DIR)/mbcoding/putvlc.o \
#	$(OBJDIR)/$(ENCORE_DIR)/mbmotionestcomp/compensate.o \
#	$(OBJDIR)/$(ENCORE_DIR)/mbmotionestcomp/halfpel.o \
#	$(OBJDIR)/$(ENCORE_DIR)/mbmotionestcomp/mad.o \
#	$(OBJDIR)/$(ENCORE_DIR)/mbmotionestcomp/sad.o \
#	$(OBJDIR)/$(ENCORE_DIR)/mbmotionestcomp/mbmotionestcomp.o  \
#	$(OBJDIR)/$(ENCORE_DIR)/mbprediction/mbprediction.o  \
#	$(OBJDIR)/$(ENCORE_DIR)/mbtransquant/dct.o \
#	$(OBJDIR)/$(ENCORE_DIR)/mbtransquant/fdct.o  \
#	$(OBJDIR)/$(ENCORE_DIR)/mbtransquant/idct.o  \
#	$(OBJDIR)/$(ENCORE_DIR)/mbtransquant/mbtransquant.o \
#	$(OBJDIR)/$(ENCORE_DIR)/mbtransquant/quantize.o  \
#	$(OBJDIR)/$(ENCORE_DIR)/mbtransquant/transfer.o \
#	$(OBJDIR)/$(ENCORE_DIR)/ratecontrol.o \
#	$(OBJDIR)/$(ENCORE_DIR)/rgb2yuv.o  \
#	$(OBJDIR)/$(ENCORE_DIR)/timer.o


ifeq ($(USE_MMX), 1)


#CFLAGS += -D_MMX_
#ENCOREMMX_OBJS= \
#	$(OBJDIR)/$(ENCORE_DIR)/colorspace/intel_mmx/colorspace_mmx.o \
#	$(OBJDIR)/$(ENCORE_DIR)/colorspace/intel_mmx/yuv_to_yuv.o \
#	$(OBJDIR)/$(ENCORE_DIR)/mbtransquant/intel_mmx/fdct_mmx.o \
#	$(OBJDIR)/$(ENCORE_DIR)/mbtransquant/intel_mmx/idct_sse.o \
#        $(OBJDIR)/$(ENCORE_DIR)/mbtransquant/intel_mmx/transfer_mmx.o \
#        $(OBJDIR)/$(ENCORE_DIR)/mbtransquant/intel_mmx/quant_mmx.o \
#        $(OBJDIR)/$(ENCORE_DIR)/mbmotionestcomp/intel_mmx/halfpel_mmx.o \
#        $(OBJDIR)/$(ENCORE_DIR)/mbmotionestcomp/intel_mmx/compensate_mmx.o \
#        $(OBJDIR)/$(ENCORE_DIR)/mbmotionestcomp/intel_mmx/sad_mmx.o 



endif


OBJS += \
	$(OBJDIR)/$(ENCORE_DIR)/bitstream.o \
	$(OBJDIR)/$(ENCORE_DIR)/encore.o \
	$(OBJDIR)/$(ENCORE_DIR)/mom_access.o \
	$(OBJDIR)/$(ENCORE_DIR)/mom_util.o \
	$(OBJDIR)/$(ENCORE_DIR)/mot_code.o \
	$(OBJDIR)/$(ENCORE_DIR)/mot_est_comp.o \
	$(OBJDIR)/$(ENCORE_DIR)/mot_est_mb.o \
	$(OBJDIR)/$(ENCORE_DIR)/mot_util.o \
	$(OBJDIR)/$(ENCORE_DIR)/putvlc.o \
	$(OBJDIR)/$(ENCORE_DIR)/rate_ctl.o \
	$(OBJDIR)/$(ENCORE_DIR)/text_bits.o \
	$(OBJDIR)/$(ENCORE_DIR)/text_code.o \
	$(OBJDIR)/$(ENCORE_DIR)/text_code_mb.o \
	$(OBJDIR)/$(ENCORE_DIR)/text_dct.o \
	$(OBJDIR)/$(ENCORE_DIR)/vop_code.o






OBJS += \
	$(OBJDIR)/$(OGG_DIR)/src/bitwise.o \
	$(OBJDIR)/$(OGG_DIR)/src/framing.o \
	$(OBJDIR)/$(VORBIS_DIR)/lib/analysis.o \
	$(OBJDIR)/$(VORBIS_DIR)/lib/bitbuffer.o \
	$(OBJDIR)/$(VORBIS_DIR)/lib/block.o \
	$(OBJDIR)/$(VORBIS_DIR)/lib/codebook.o \
	$(OBJDIR)/$(VORBIS_DIR)/lib/envelope.o \
	$(OBJDIR)/$(VORBIS_DIR)/lib/floor0.o \
	$(OBJDIR)/$(VORBIS_DIR)/lib/floor1.o \
	$(OBJDIR)/$(VORBIS_DIR)/lib/info.o \
	$(OBJDIR)/$(VORBIS_DIR)/lib/lookup.o \
	$(OBJDIR)/$(VORBIS_DIR)/lib/lpc.o \
	$(OBJDIR)/$(VORBIS_DIR)/lib/lsp.o \
	$(OBJDIR)/$(VORBIS_DIR)/lib/mapping0.o \
	$(OBJDIR)/$(VORBIS_DIR)/lib/mdct.o \
	$(OBJDIR)/$(VORBIS_DIR)/lib/psy.o \
	$(OBJDIR)/$(VORBIS_DIR)/lib/registry.o \
	$(OBJDIR)/$(VORBIS_DIR)/lib/res0.o \
	$(OBJDIR)/$(VORBIS_DIR)/lib/sharedbook.o \
	$(OBJDIR)/$(VORBIS_DIR)/lib/smallft.o \
	$(OBJDIR)/$(VORBIS_DIR)/lib/synthesis.o \
	$(OBJDIR)/$(VORBIS_DIR)/lib/time0.o \
	$(OBJDIR)/$(VORBIS_DIR)/lib/vorbisenc.o \
	$(OBJDIR)/$(VORBIS_DIR)/lib/vorbisfile.o \
	$(OBJDIR)/$(VORBIS_DIR)/lib/window.o










OUTPUT = $(OBJDIR)/libquicktime.a
SHAREDOUTPUT = $(OBJDIR)/libquicktime.so
CFLAGS += -Ilibraw1394/src

CFLAGS += \
	-I$(DECORE_DIR) \
	-I$(ENCORE_DIR) \
	-DDECORE_INCLUDE=\"$(DECORE_INCLUDE)\" \
	-DENCORE_INCLUDE=\"$(ENCORE_INCLUDE)\" \
	-DLINUX \
	-D_DECORE

CFLAGS += \
	-I$(OGG_DIR)/include \
	-I$(VORBIS_DIR)/include \
	-I$(VORBIS_DIR)/lib \
	-DHAVE_ALLOCA_H=1 \
	-DHAVE_ALLOCA=1 \
	-DHAVE_SQRTF=1 \
	-DHAVE_LOGF=1 \
	-DHAVE_EXPF=1 \
	-DHAVE_ACOSF=1 \
	-DHAVE_ATANF=1 \
	-DHAVE_FREXPF=1 \
	-DHAVE_RINTF=1 \
	-DUSE_MEMORY_H \
	-D_REENTRANT \
	-DHAVE_ALLOCA=1 \
	-DHAVE_ALLOCA_H=1 \
	-DVORBIS_IEEE_FLOAT32


$(shell if ! test -d $(OBJDIR) \; then mkdir -p $(OBJDIR) \; fi )
$(shell echo  $(CFLAGS) > $(OBJDIR)/c_flags)
$(shell echo  $(OBJS) $(DVMMXOBJS) $(ENCOREMMX_OBJS) > $(OBJDIR)/objs)

all: $(DIRS) $(OUTPUT) $(SHAREDOUTPUT)

$(DIRS):
	if ! test -d $@ ; then mkdir -p $@ ; fi

$(OUTPUT): $(DVMMXOBJ) $(OBJS) $(DVMMXOBJS) $(ENCOREMMX_OBJS)
	ar rcs $(OUTPUT) `cat $(OBJDIR)/objs`

$(SHAREDOUTPUT): $(DVMMXOBJ) $(OBJS) $(DVMMXOBJS) $(ENCOREMMX_OBJS)
	gcc -shared -o $(SHAREDOUTPUT) `cat $(OBJDIR)/objs`

$(OBJDIR)/qtdump: $(OBJDIR)/dump.o $(OUTPUT)
	$(CC) -o $(OBJDIR)/qtdump $(OBJDIR)/dump.o $(OUTPUT) -lpng -lz -lpthread -lglib -ldl -lm

$(OBJDIR)/make_streamable: $(OBJDIR)/make_streamable.o $(OUTPUT)
	$(CC) -o $(OBJDIR)/make_streamable $(OBJDIR)/make_streamable.o $(OUTPUT) -lpng -lz -lpthread -lglib -ldl -lm

$(OBJDIR)/dechunk: $(OBJDIR)/dechunk.o $(OUTPUT)
	$(CC) -o $(OBJDIR)/dechunk $(OBJDIR)/dechunk.o $(OUTPUT) -lpng -lz -lpthread -lglib -ldl -lm

$(OBJDIR)/rechunk: $(OBJDIR)/rechunk.o $(OUTPUT)
	$(CC) -o $(OBJDIR)/rechunk $(OBJDIR)/rechunk.o $(OUTPUT) -lpng -lz -lpthread -lglib -ldl -lm

$(OBJDIR)/recover: $(OBJDIR)/recover.o $(OUTPUT)
	$(CC) -o $(OBJDIR)/recover $(OBJDIR)/recover.o $(OUTPUT) -lpng -lz -lpthread -lglib -ldl -lm

$(OBJDIR)/yuv4toyuv: $(OBJDIR)/yuv4toyuv.o $(OUTPUT)
	$(CC) -o $(OBJDIR)/yuv4toyuv $(OBJDIR)/yuv4toyuv.o $(OUTPUT) -lpng -lz -lpthread -lglib -ldl -lm

$(OBJDIR)/qtinfo: $(OBJDIR)/qtinfo.o
	$(CC) -o $(OBJDIR)/qtinfo $(OBJDIR)/qtinfo.o $(OUTPUT) -lpng -lz -lpthread -lglib -ldl -lm

util:  $(OBJDIR)/qtdump $(OBJDIR)/make_streamable $(OBJDIR)/qtinfo $(OBJDIR)/dechunk $(OBJDIR)/yuv4toyuv $(OBJDIR)/recover $(OBJDIR)/rechunk
	

clean:
	rm -rf $(OBJDIR)
	rm -rf .deps

wc:
	cat *.c *.h | wc

backup: clean
	cd .. && \
	tar zcvf quicktime.tar.gz quicktime

install:
	cp $(SHAREDOUTPUT) /usr/lib/libquicktime.so.1
	ln -sf /usr/lib/libquicktime.so.1 /usr/lib/libquicktime.so
	cp quicktime.h qtprivate.h colormodels.h /usr/include

$(OBJDIR)/dump.o \
$(OBJDIR)/make_streamable.o \
$(OBJDIR)/dechunk.o \
$(OBJDIR)/recover.o \
$(OBJDIR)/yuv4toyuv.o \
$(OBJDIR)/qtinfo.o \
$(OBJDIR)/rechunk.o \
$(OBJS):
	$(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.c) -o $*.o



$(DVMMXOBJ):
	$(CC) `cat $(OBJDIR)/c_flags` libdv/gasmoff.c -o $(OBJDIR)/gasmoff -lm
	$(OBJDIR)/gasmoff > libdv/asmoff.h

$(DVMMXOBJS):
	$(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.S) -o $*.o

$(ENCOREMMX_OBJS):
	nasm -f elf $(subst $(OBJDIR)/,, $*.asm) -o $*.o




$(OBJDIR)/atom.o:			  atom.c
$(OBJDIR)/cmodel_default.o:		  cmodel_default.c
$(OBJDIR)/cmodel_yuv420p.o:		  cmodel_yuv420p.c
$(OBJDIR)/cmodel_yuv422.o:		  cmodel_yuv422.c
$(OBJDIR)/codecs.o:			  codecs.c
$(OBJDIR)/colormodels.o:		  colormodels.c
$(OBJDIR)/ctab.o:			  ctab.c
$(OBJDIR)/dechunk.o:			  dechunk.c
$(OBJDIR)/dinf.o:			  dinf.c
$(OBJDIR)/divx.o:			  divx.c
$(OBJDIR)/dref.o:			  dref.c
$(OBJDIR)/dump.o:			  dump.c
$(OBJDIR)/dv.o:			  	  dv.c
$(OBJDIR)/edts.o:			  edts.c
$(OBJDIR)/elst.o:			  elst.c
$(OBJDIR)/graphics.o:			  graphics.c
$(OBJDIR)/hdlr.o:			  hdlr.c
$(OBJDIR)/ima4.o:			  ima4.c
$(OBJDIR)/jpeg.o:			  jpeg.c
$(OBJDIR)/jpeg_old.o:			  jpeg_old.c
$(OBJDIR)/libdv.o:			  libdv.c
$(OBJDIR)/libmjpeg.o:			  libmjpeg.c
$(OBJDIR)/make_streamable.o:		  make_streamable.c
$(OBJDIR)/matrix.o:			  matrix.c
$(OBJDIR)/mdat.o:			  mdat.c
$(OBJDIR)/mdhd.o:			  mdhd.c
$(OBJDIR)/mdia.o:			  mdia.c
$(OBJDIR)/minf.o:			  minf.c
$(OBJDIR)/moov.o:			  moov.c
$(OBJDIR)/mvhd.o:			  mvhd.c
$(OBJDIR)/plugin.o:			  plugin.c
$(OBJDIR)/qtinfo.o:			  qtinfo.c
$(OBJDIR)/qtpng.o:			  qtpng.c
$(OBJDIR)/quicktime.o: 		  	  quicktime.c
$(OBJDIR)/raw.o:			  raw.c
$(OBJDIR)/rawaudio.o:			  rawaudio.c
$(OBJDIR)/rechunk.o:			  rechunk.c
$(OBJDIR)/recover.o:			  recover.c
$(OBJDIR)/smhd.o:			  smhd.c
$(OBJDIR)/stbl.o:			  stbl.c
$(OBJDIR)/stco.o:			  stco.c
$(OBJDIR)/stsc.o:			  stsc.c
$(OBJDIR)/stsd.o:			  stsd.c
$(OBJDIR)/stsdtable.o: 		  	  stsdtable.c
$(OBJDIR)/stss.o:			  stss.c
$(OBJDIR)/stsz.o:			  stsz.c
$(OBJDIR)/stts.o:			  stts.c
$(OBJDIR)/tkhd.o:			  tkhd.c
$(OBJDIR)/trak.o:			  trak.c
$(OBJDIR)/twos.o:			  twos.c
$(OBJDIR)/udta.o:			  udta.c
$(OBJDIR)/ulaw.o:			  ulaw.c
$(OBJDIR)/util.o:			  util.c
$(OBJDIR)/v308.o:                         v308.c
$(OBJDIR)/v408.o:                         v408.c
$(OBJDIR)/v410.o:                         v410.c
$(OBJDIR)/vmhd.o:			  vmhd.c
$(OBJDIR)/vorbis.o:                       vorbis.c
$(OBJDIR)/workarounds.o:		  workarounds.c
$(OBJDIR)/yuv2.o:			  yuv2.c
$(OBJDIR)/yuv4.o:			  yuv4.c
$(OBJDIR)/yuv4toyuv.o:			  yuv4toyuv.c
$(OBJDIR)/yv12.o:			  yv12.c
$(OBJDIR)/jpeg/jcapimin.o:		  jpeg/jcapimin.c
$(OBJDIR)/jpeg/jcapistd.o:		  jpeg/jcapistd.c
$(OBJDIR)/jpeg/jctrans.o:		  jpeg/jctrans.c
$(OBJDIR)/jpeg/jcparam.o:		  jpeg/jcparam.c
$(OBJDIR)/jpeg/jdatadst.o:		  jpeg/jdatadst.c
$(OBJDIR)/jpeg/jcinit.o:		  jpeg/jcinit.c
$(OBJDIR)/jpeg/jcmaster.o:		  jpeg/jcmaster.c
$(OBJDIR)/jpeg/jcmarker.o:		  jpeg/jcmarker.c
$(OBJDIR)/jpeg/jcmainct.o:		  jpeg/jcmainct.c
$(OBJDIR)/jpeg/jcprepct.o:		  jpeg/jcprepct.c
$(OBJDIR)/jpeg/jccoefct.o:		  jpeg/jccoefct.c
$(OBJDIR)/jpeg/jccolor.o:		  jpeg/jccolor.c
$(OBJDIR)/jpeg/jcsample.o:		  jpeg/jcsample.c
$(OBJDIR)/jpeg/jchuff.o:		  jpeg/jchuff.c
$(OBJDIR)/jpeg/jcphuff.o:		  jpeg/jcphuff.c
$(OBJDIR)/jpeg/jcdctmgr.o:		  jpeg/jcdctmgr.c
$(OBJDIR)/jpeg/jfdctfst.o:		  jpeg/jfdctfst.c
$(OBJDIR)/jpeg/jfdctflt.o:		  jpeg/jfdctflt.c
$(OBJDIR)/jpeg/jfdctint.o:		  jpeg/jfdctint.c
$(OBJDIR)/jpeg/jdapimin.o:		  jpeg/jdapimin.c
$(OBJDIR)/jpeg/jdapistd.o:		  jpeg/jdapistd.c
$(OBJDIR)/jpeg/jdtrans.o:		  jpeg/jdtrans.c
$(OBJDIR)/jpeg/jdatasrc.o:		  jpeg/jdatasrc.c
$(OBJDIR)/jpeg/jdmaster.o:		  jpeg/jdmaster.c
$(OBJDIR)/jpeg/jdinput.o:		  jpeg/jdinput.c
$(OBJDIR)/jpeg/jdmarker.o:		  jpeg/jdmarker.c
$(OBJDIR)/jpeg/jdhuff.o:		  jpeg/jdhuff.c
$(OBJDIR)/jpeg/jdphuff.o:		  jpeg/jdphuff.c
$(OBJDIR)/jpeg/jdmainct.o:		  jpeg/jdmainct.c
$(OBJDIR)/jpeg/jdcoefct.o:		  jpeg/jdcoefct.c
$(OBJDIR)/jpeg/jdpostct.o:		  jpeg/jdpostct.c
$(OBJDIR)/jpeg/jddctmgr.o:		  jpeg/jddctmgr.c
$(OBJDIR)/jpeg/jidctfst.o:		  jpeg/jidctfst.c
$(OBJDIR)/jpeg/jidctflt.o:		  jpeg/jidctflt.c
$(OBJDIR)/jpeg/jidctint.o:		  jpeg/jidctint.c
$(OBJDIR)/jpeg/jidctred.o:		  jpeg/jidctred.c
$(OBJDIR)/jpeg/jdsample.o:		  jpeg/jdsample.c
$(OBJDIR)/jpeg/jdcolor.o:		  jpeg/jdcolor.c
$(OBJDIR)/jpeg/jquant1.o:		  jpeg/jquant1.c
$(OBJDIR)/jpeg/jquant2.o:		  jpeg/jquant2.c
$(OBJDIR)/jpeg/jdmerge.o:		  jpeg/jdmerge.c
$(OBJDIR)/jpeg/jcomapi.o:		  jpeg/jcomapi.c
$(OBJDIR)/jpeg/jutils.o:		  jpeg/jutils.c
$(OBJDIR)/jpeg/jerror.o:		  jpeg/jerror.c
$(OBJDIR)/jpeg/jmemmgr.o:		  jpeg/jmemmgr.c
$(OBJDIR)/jpeg/jmemnobs.o:		  jpeg/jmemnobs.c
$(OBJDIR)/libdv/YUY2.o:		  	  libdv/YUY2.c
$(OBJDIR)/libdv/YV12.o:		  	  libdv/YV12.c
$(OBJDIR)/libdv/audio.o:		  libdv/audio.c
$(OBJDIR)/libdv/bitstream.o:		  libdv/bitstream.c
$(OBJDIR)/libdv/dct.o: 		  	  libdv/dct.c
$(OBJDIR)/libdv/dv.o:			  libdv/dv.c
$(OBJDIR)/libdv/encode.o:                 libdv/encode.c
$(OBJDIR)/libdv/enc_input.o:              libdv/enc_input.c
$(OBJDIR)/libdv/headers.o:                libdv/headers.c
$(OBJDIR)/libdv/idct_248.o:		  libdv/idct_248.c
$(OBJDIR)/libdv/parse.o:		  libdv/parse.c
$(OBJDIR)/libdv/place.o:		  libdv/place.c
$(OBJDIR)/libdv/quant.o:		  libdv/quant.c
$(OBJDIR)/libdv/rgb.o: 		  	  libdv/rgb.c
$(OBJDIR)/libdv/util.o:		  	  libdv/util.c
$(OBJDIR)/libdv/vlc.o: 		  	  libdv/vlc.c
$(OBJDIR)/libdv/weighting.o:		  libdv/weighting.c
$(OBJDIR)/libraw1394/src/eventloop.o:	  libraw1394/src/eventloop.c
$(OBJDIR)/libraw1394/src/fcp.o:		  libraw1394/src/fcp.c
$(OBJDIR)/libraw1394/src/iso.o:		  libraw1394/src/iso.c
$(OBJDIR)/libraw1394/src/main.o:	  libraw1394/src/main.c
$(OBJDIR)/libraw1394/src/readwrite.o:	  libraw1394/src/readwrite.c




# $(OBJDIR)/$(DECORE_DIR)/bitstream.o: 		    $(DECORE_DIR)/bitstream.c
# $(OBJDIR)/$(DECORE_DIR)/colorspace.o: 		    $(DECORE_DIR)/colorspace.c
# $(OBJDIR)/$(DECORE_DIR)/decoder.o: 		    $(DECORE_DIR)/decoder.c
# $(OBJDIR)/$(DECORE_DIR)/decore2.o: 		    $(DECORE_DIR)/decore2.c
# $(OBJDIR)/$(DECORE_DIR)/idct.o: 		    $(DECORE_DIR)/idct.c
# $(OBJDIR)/$(DECORE_DIR)/image.o: 		    $(DECORE_DIR)/image.c
# $(OBJDIR)/$(DECORE_DIR)/mbcoding.o: 		    $(DECORE_DIR)/mbcoding.c
# $(OBJDIR)/$(DECORE_DIR)/mbprediction.o: 	    $(DECORE_DIR)/mbprediction.c
# $(OBJDIR)/$(DECORE_DIR)/quantize.o: 		    $(DECORE_DIR)/quantize.c
# $(OBJDIR)/$(DECORE_DIR)/transfer.o: 		    $(DECORE_DIR)/transfer.c

$(OBJDIR)/$(DECORE_DIR)/debug.o: 		    $(DECORE_DIR)/debug.c
$(OBJDIR)/$(DECORE_DIR)/basic_prediction.o: 	    $(DECORE_DIR)/basic_prediction.c
$(OBJDIR)/$(DECORE_DIR)/clearblock.o: 		    $(DECORE_DIR)/clearblock.c
$(OBJDIR)/$(DECORE_DIR)/decore.o: 		    $(DECORE_DIR)/decore.c
$(OBJDIR)/$(DECORE_DIR)/gen_draw.o: 		    $(DECORE_DIR)/gen_draw.c
$(OBJDIR)/$(DECORE_DIR)/getbits.o: 		    $(DECORE_DIR)/getbits.c
$(OBJDIR)/$(DECORE_DIR)/gen_usetime.o:  	    $(DECORE_DIR)/gen_usetime.c
$(OBJDIR)/$(DECORE_DIR)/idct.o: 		    $(DECORE_DIR)/idct.c
$(OBJDIR)/$(DECORE_DIR)/mp4_vars.o: 		    $(DECORE_DIR)/mp4_vars.c
$(OBJDIR)/$(DECORE_DIR)/mp4_block.o: 		    $(DECORE_DIR)/mp4_block.c
$(OBJDIR)/$(DECORE_DIR)/mp4_decoder.o:  	    $(DECORE_DIR)/mp4_decoder.c
$(OBJDIR)/$(DECORE_DIR)/mp4_header.o: 		    $(DECORE_DIR)/mp4_header.c
$(OBJDIR)/$(DECORE_DIR)/mp4_iquant.o: 		    $(DECORE_DIR)/mp4_iquant.c
$(OBJDIR)/$(DECORE_DIR)/mp4_mblock.o: 		    $(DECORE_DIR)/mp4_mblock.c
$(OBJDIR)/$(DECORE_DIR)/mp4_picture.o:  	    $(DECORE_DIR)/mp4_picture.c
$(OBJDIR)/$(DECORE_DIR)/mp4_predict.o:  	    $(DECORE_DIR)/mp4_predict.c
$(OBJDIR)/$(DECORE_DIR)/mp4_recon.o: 		    $(DECORE_DIR)/mp4_recon.c
$(OBJDIR)/$(DECORE_DIR)/mp4_tables.o: 		    $(DECORE_DIR)/mp4_tables.c
$(OBJDIR)/$(DECORE_DIR)/mp4_vld.o: 		    $(DECORE_DIR)/mp4_vld.c
$(OBJDIR)/$(DECORE_DIR)/store.o: 		    $(DECORE_DIR)/store.c
$(OBJDIR)/$(DECORE_DIR)/postprocess.o:  	    $(DECORE_DIR)/postprocess.c
$(OBJDIR)/$(DECORE_DIR)/yuv2rgb.o: 		    $(DECORE_DIR)/yuv2rgb.c
$(OBJDIR)/$(DECORE_DIR)/transferidct.o: 	    $(DECORE_DIR)/transferidct.c


#$(OBJDIR)/$(ENCORE_DIR)/bitstream.o: 			     $(ENCORE_DIR)/bitstream.c
#$(OBJDIR)/$(ENCORE_DIR)/colorspace/colorspace.o: 	     $(ENCORE_DIR)/colorspace/colorspace.c
#$(OBJDIR)/$(ENCORE_DIR)/encoder.o: 			     $(ENCORE_DIR)/encoder.c
#$(OBJDIR)/$(ENCORE_DIR)/encore.o: 			     $(ENCORE_DIR)/encore.c
#$(OBJDIR)/$(ENCORE_DIR)/image.o: 			     $(ENCORE_DIR)/image.c
#$(OBJDIR)/$(ENCORE_DIR)/mbcoding/mbcoding.o: 		     $(ENCORE_DIR)/mbcoding/mbcoding.c
#$(OBJDIR)/$(ENCORE_DIR)/mbcoding/putvlc.o: 		     $(ENCORE_DIR)/mbcoding/putvlc.c
#$(OBJDIR)/$(ENCORE_DIR)/mbmotionestcomp/compensate.o: 	     $(ENCORE_DIR)/mbmotionestcomp/compensate.c
#$(OBJDIR)/$(ENCORE_DIR)/mbmotionestcomp/mbmotionestcomp.o:  $(ENCORE_DIR)/mbmotionestcomp/mbmotionestcomp.c
#$(OBJDIR)/$(ENCORE_DIR)/mbmotionestcomp/sad.o:   	     $(ENCORE_DIR)/mbmotionestcomp/sad.c
#$(OBJDIR)/$(ENCORE_DIR)/mbprediction/mbprediction.o: 	     $(ENCORE_DIR)/mbprediction/mbprediction.c
#$(OBJDIR)/$(ENCORE_DIR)/mbtransquant/dct.o: 		     $(ENCORE_DIR)/mbtransquant/dct.c
#$(OBJDIR)/$(ENCORE_DIR)/mbtransquant/fdct.o: 	     	     $(ENCORE_DIR)/mbtransquant/fdct.c
#$(OBJDIR)/$(ENCORE_DIR)/mbtransquant/idct.o: 		     $(ENCORE_DIR)/mbtransquant/idct.c
#$(OBJDIR)/$(ENCORE_DIR)/mbtransquant/mbtransquant.o: 	     $(ENCORE_DIR)/mbtransquant/mbtransquant.c
#$(OBJDIR)/$(ENCORE_DIR)/mbtransquant/quantize.o: 	     $(ENCORE_DIR)/mbtransquant/quantize.c
#$(OBJDIR)/$(ENCORE_DIR)/mbtransquant/transfer.o: 	     $(ENCORE_DIR)/mbtransquant/transfer.c
#$(OBJDIR)/$(ENCORE_DIR)/ratecontrol.o:  		     $(ENCORE_DIR)/ratecontrol.c
#$(OBJDIR)/$(ENCORE_DIR)/rgb2yuv.o: 			     $(ENCORE_DIR)/rgb2yuv.c
#$(OBJDIR)/$(ENCORE_DIR)/timer.o: 			     $(ENCORE_DIR)/timer.c

#$(OBJDIR)/$(ENCORE_DIR)/colorspace/intel_mmx/colorspace_mmx.o:       $(ENCORE_DIR)/colorspace/intel_mmx/colorspace_mmx.asm
#$(OBJDIR)/$(ENCORE_DIR)/colorspace/intel_mmx/yuv_to_yuv.o:           $(ENCORE_DIR)/colorspace/intel_mmx/yuv_to_yuv.asm
#$(OBJDIR)/$(ENCORE_DIR)/mbtransquant/intel_mmx/fdct_mmx.o: 	     $(ENCORE_DIR)/mbtransquant/intel_mmx/fdct_mmx.asm
#$(OBJDIR)/$(ENCORE_DIR)/mbtransquant/intel_mmx/idct_sse.o: 	     $(ENCORE_DIR)/mbtransquant/intel_mmx/idct_sse.asm
#$(OBJDIR)/$(ENCORE_DIR)/mbtransquant/intel_mmx/transfer_mmx.o:       $(ENCORE_DIR)/mbtransquant/intel_mmx/transfer_mmx.asm
#$(OBJDIR)/$(ENCORE_DIR)/mbtransquant/intel_mmx/quant_mmx.o: 	     $(ENCORE_DIR)/mbtransquant/intel_mmx/quant_mmx.asm
#$(OBJDIR)/$(ENCORE_DIR)/mbmotionestcomp/intel_mmx/halfpel_mmx.o:     $(ENCORE_DIR)/mbmotionestcomp/intel_mmx/halfpel_mmx.asm
#$(OBJDIR)/$(ENCORE_DIR)/mbmotionestcomp/intel_mmx/compensate_mmx.o:  $(ENCORE_DIR)/mbmotionestcomp/intel_mmx/compensate_mmx.asm
#$(OBJDIR)/$(ENCORE_DIR)/mbmotionestcomp/intel_mmx/sad_mmx.o: 	     $(ENCORE_DIR)/mbmotionestcomp/intel_mmx/sad_mmx.asm



$(OBJDIR)/$(ENCORE_DIR)/bitstream.o: 	   $(ENCORE_DIR)/bitstream.c
$(OBJDIR)/$(ENCORE_DIR)/encore.o: 	   $(ENCORE_DIR)/encore.c
$(OBJDIR)/$(ENCORE_DIR)/mom_access.o: 	   $(ENCORE_DIR)/mom_access.c
$(OBJDIR)/$(ENCORE_DIR)/mom_util.o: 	   $(ENCORE_DIR)/mom_util.c
$(OBJDIR)/$(ENCORE_DIR)/mot_code.o: 	   $(ENCORE_DIR)/mot_code.c
$(OBJDIR)/$(ENCORE_DIR)/mot_est_comp.o:    $(ENCORE_DIR)/mot_est_comp.c
$(OBJDIR)/$(ENCORE_DIR)/mot_est_mb.o: 	   $(ENCORE_DIR)/mot_est_mb.c
$(OBJDIR)/$(ENCORE_DIR)/mot_util.o: 	   $(ENCORE_DIR)/mot_util.c
$(OBJDIR)/$(ENCORE_DIR)/putvlc.o: 	   $(ENCORE_DIR)/putvlc.c
$(OBJDIR)/$(ENCORE_DIR)/rate_ctl.o: 	   $(ENCORE_DIR)/rate_ctl.c
$(OBJDIR)/$(ENCORE_DIR)/text_bits.o: 	   $(ENCORE_DIR)/text_bits.c
$(OBJDIR)/$(ENCORE_DIR)/text_code.o: 	   $(ENCORE_DIR)/text_code.c
$(OBJDIR)/$(ENCORE_DIR)/text_code_mb.o:    $(ENCORE_DIR)/text_code_mb.c
$(OBJDIR)/$(ENCORE_DIR)/text_dct.o: 	   $(ENCORE_DIR)/text_dct.c
$(OBJDIR)/$(ENCORE_DIR)/vop_code.o:	   $(ENCORE_DIR)/vop_code.c











$(OBJDIR)/$(OGG_DIR)/src/bitwise.o: 	     $(OGG_DIR)/src/bitwise.c
$(OBJDIR)/$(OGG_DIR)/src/framing.o: 	     $(OGG_DIR)/src/framing.c
$(OBJDIR)/$(VORBIS_DIR)/lib/analysis.o:      $(VORBIS_DIR)/lib/analysis.c
$(OBJDIR)/$(VORBIS_DIR)/lib/bitbuffer.o:     $(VORBIS_DIR)/lib/bitbuffer.c
$(OBJDIR)/$(VORBIS_DIR)/lib/block.o: 	     $(VORBIS_DIR)/lib/block.c
$(OBJDIR)/$(VORBIS_DIR)/lib/codebook.o:      $(VORBIS_DIR)/lib/codebook.c
$(OBJDIR)/$(VORBIS_DIR)/lib/envelope.o:      $(VORBIS_DIR)/lib/envelope.c
$(OBJDIR)/$(VORBIS_DIR)/lib/floor0.o: 	     $(VORBIS_DIR)/lib/floor0.c
$(OBJDIR)/$(VORBIS_DIR)/lib/floor1.o: 	     $(VORBIS_DIR)/lib/floor1.c
$(OBJDIR)/$(VORBIS_DIR)/lib/info.o: 	     $(VORBIS_DIR)/lib/info.c
$(OBJDIR)/$(VORBIS_DIR)/lib/lookup.o: 	     $(VORBIS_DIR)/lib/lookup.c
$(OBJDIR)/$(VORBIS_DIR)/lib/lpc.o: 	     $(VORBIS_DIR)/lib/lpc.c
$(OBJDIR)/$(VORBIS_DIR)/lib/lsp.o: 	     $(VORBIS_DIR)/lib/lsp.c
$(OBJDIR)/$(VORBIS_DIR)/lib/mapping0.o:      $(VORBIS_DIR)/lib/mapping0.c
$(OBJDIR)/$(VORBIS_DIR)/lib/mdct.o: 	     $(VORBIS_DIR)/lib/mdct.c
$(OBJDIR)/$(VORBIS_DIR)/lib/psy.o: 	     $(VORBIS_DIR)/lib/psy.c
$(OBJDIR)/$(VORBIS_DIR)/lib/registry.o:      $(VORBIS_DIR)/lib/registry.c
$(OBJDIR)/$(VORBIS_DIR)/lib/res0.o: 	     $(VORBIS_DIR)/lib/res0.c
$(OBJDIR)/$(VORBIS_DIR)/lib/sharedbook.o:    $(VORBIS_DIR)/lib/sharedbook.c
$(OBJDIR)/$(VORBIS_DIR)/lib/smallft.o:       $(VORBIS_DIR)/lib/smallft.c
$(OBJDIR)/$(VORBIS_DIR)/lib/synthesis.o:     $(VORBIS_DIR)/lib/synthesis.c
$(OBJDIR)/$(VORBIS_DIR)/lib/time0.o: 	     $(VORBIS_DIR)/lib/time0.c
$(OBJDIR)/$(VORBIS_DIR)/lib/vorbisenc.o:     $(VORBIS_DIR)/lib/vorbisenc.c
$(OBJDIR)/$(VORBIS_DIR)/lib/vorbisfile.o:    $(VORBIS_DIR)/lib/vorbisfile.c
$(OBJDIR)/$(VORBIS_DIR)/lib/window.o: 	     $(VORBIS_DIR)/lib/window.c


















































