--- /dev/null
+CC = gcc
+NASM = nasm
+USE_MMX = 0
+USE_CSS = 1
+A52DIR := $(shell expr a52dec* )
+
+
+ifeq ("$(DST)", "")
+DST=/usr/bin
+endif
+
+ifeq ($(origin CFLAGS), environment)
+HAVE_CFLAGS := y
+else
+HAVE_CFLAGS := n
+endif
+
+
+OBJDIR := $(shell uname --machine)
+
+
+
+
+ifeq ($(OBJDIR), alpha)
+ USE_MMX = 0
+ ifneq ($(HAVE_CFLAGS), y)
+ CFLAGS := -O4 -arch ev67 -ieee -accept c99_keywords -gcc_messages
+ endif
+endif
+
+ifeq ($(OBJDIR), i686)
+ USE_MMX = 1
+ ifneq ($(HAVE_CFLAGS), y)
+ CFLAGS := -O2 -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -I/usr/local/include
+ endif
+ CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
+endif
+
+ifeq ($(OBJDIR), x86_64)
+ ifneq ($(HAVE_CFLAGS), y)
+ CFLAGS := -O2 -fomit-frame-pointer -I/usr/local/include
+ endif
+ CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
+
+
+endif
+
+
+
+ifeq ($(USE_CSS), 1)
+ CFLAGS += -DHAVE_CSS
+endif
+
+ifeq ($(USE_MMX), 1)
+ CFLAGS += -DHAVE_MMX
+ ASMOBJS = $(OBJDIR)/video/mmxidct.o
+ NASMOBJS = $(OBJDIR)/video/reconmmx.o
+endif
+
+
+
+
+
+
+CFLAGS += \
+ -I. \
+ -I$(A52DIR)/include \
+ -I$(A52DIR)/liba52
+
+
+
+CFLAGS += -g
+
+
+
+
+
+
+
+
+
+
+OBJS = \
+ $(OBJDIR)/audio/ac3.o \
+ $(OBJDIR)/audio/dct.o \
+ $(OBJDIR)/audio/huffman.o \
+ $(OBJDIR)/audio/layer2.o \
+ $(OBJDIR)/audio/layer3.o \
+ $(OBJDIR)/audio/mpeg3audio.o \
+ $(OBJDIR)/audio/pcm.o \
+ $(OBJDIR)/audio/synthesizers.o \
+ $(OBJDIR)/audio/tables.o \
+ $(OBJDIR)/libmpeg3.o \
+ $(OBJDIR)/mpeg3atrack.o \
+ $(OBJDIR)/mpeg3bits.o \
+ $(OBJDIR)/mpeg3css.o \
+ $(OBJDIR)/mpeg3demux.o \
+ $(OBJDIR)/mpeg3ifo.o \
+ $(OBJDIR)/mpeg3io.o \
+ $(OBJDIR)/mpeg3strack.o \
+ $(OBJDIR)/mpeg3title.o \
+ $(OBJDIR)/mpeg3tocutil.o \
+ $(OBJDIR)/mpeg3vtrack.o \
+ $(OBJDIR)/video/getpicture.o \
+ $(OBJDIR)/video/headers.o \
+ $(OBJDIR)/video/idct.o \
+ $(OBJDIR)/video/macroblocks.o \
+ $(OBJDIR)/video/mmxtest.o \
+ $(OBJDIR)/video/motion.o \
+ $(OBJDIR)/video/mpeg3cache.o \
+ $(OBJDIR)/video/mpeg3video.o \
+ $(OBJDIR)/video/output.o \
+ $(OBJDIR)/video/reconstruct.o \
+ $(OBJDIR)/video/seek.o \
+ $(OBJDIR)/video/slice.o \
+ $(OBJDIR)/video/subtitle.o \
+ $(OBJDIR)/video/vlc.o \
+ $(OBJDIR)/workarounds.o
+
+#OBJS = \
+# $(OBJDIR)/audio/ac3.o \
+# $(OBJDIR)/audio/bit_allocation.o \
+# $(OBJDIR)/audio/exponents.o \
+# $(OBJDIR)/audio/header.o \
+# $(OBJDIR)/audio/huffman.o \
+# $(OBJDIR)/audio/layer2.o \
+# $(OBJDIR)/audio/layer3.o \
+# $(OBJDIR)/audio/mantissa.o \
+# $(OBJDIR)/audio/pcm.o \
+# $(OBJDIR)/audio/tables.o \
+
+
+
+
+DIRS := \
+ $(OBJDIR)/audio \
+ $(OBJDIR)/video
+
+include Makefile.a52
+
+DIRS += $(A52DIRS)
+
+
+OUTPUT = $(OBJDIR)/libmpeg3.a
+UTILS = $(OBJDIR)/mpeg3dump $(OBJDIR)/mpeg3peek $(OBJDIR)/mpeg3toc $(OBJDIR)/mpeg3cat
+
+#$(OBJDIR)/mpeg3split
+
+
+LIBS = -lm -lpthread
+
+$(shell mkdir -p $(OBJDIR) )
+
+$(shell echo $(CFLAGS) > $(OBJDIR)/c_flags)
+$(shell echo $(A52CFLAGS) > $(OBJDIR)/a52_flags)
+$(shell echo $(OBJS) $(ASMOBJS) $(A52OBJS) $(NASMOBJS) > $(OBJDIR)/objs)
+$(shell mkdir -p $(DIRS) )
+
+all: $(OUTPUT) $(UTILS)
+
+
+$(OUTPUT): $(OBJS) $(ASMOBJS) $(NASMOBJS) $(A52OBJS)
+ ar rcs $(OUTPUT) `cat $(OBJDIR)/objs`
+
+
+
+$(OBJDIR)/mpeg3dump: $(OUTPUT) mpeg3dump.c
+ $(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg3dump mpeg3dump.c $(OUTPUT) $(LIBS)
+
+$(OBJDIR)/mpeg3peek: $(OUTPUT) mpeg3peek.c
+ $(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg3peek mpeg3peek.c $(OUTPUT) $(LIBS)
+
+$(OBJDIR)/mpeg3toc: $(OUTPUT) mpeg3toc.c
+ $(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg3toc mpeg3toc.c $(OUTPUT) $(LIBS)
+
+$(OBJDIR)/mpeg3cat: $(OUTPUT) mpeg3cat.c
+ $(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg3cat mpeg3cat.c $(OUTPUT) $(LIBS)
+
+#$(OBJDIR)/mpeg3split: $(OUTPUT)
+# $(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg3split mpeg3split.c $(OUTPUT) $(LIBS)
+
+$(OBJDIR)/mpeg2qt: $(OUTPUT)
+ $(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg2qt mpeg2qt.c \
+ $(OUTPUT) \
+ $(LIBS) \
+ -I. \
+ -I../quicktime \
+ ../quicktime/$(OBJDIR)/libquicktime.a \
+ -lpng \
+ -lz \
+ -ldl
+
+install:
+ cp $(UTILS) $(DST)
+
+clean:
+ rm -rf $(OBJDIR)
+
+backup: clean
+ cd .. && \
+ tar zcf libmpeg3.tar.gz libmpeg3
+
+wc:
+ cat *.c *.h audio/*.c audio/*.h video/*.c video/*.h | wc
+
+$(OBJS):
+ $(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.c) -o $*.o
+$(ASMOBJS):
+ $(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.S) -o $*.o
+$(NASMOBJS):
+ $(NASM) -f elf $(subst $(OBJDIR)/,, $*.s) -o $*.o
+$(A52OBJS):
+ $(CC) -c `cat $(OBJDIR)/a52_flags` $(subst $(OBJDIR)/,, $*.c) -o $*.o
+
+$(OBJDIR)/libmpeg3.o: libmpeg3.c
+$(OBJDIR)/mpeg3atrack.o: mpeg3atrack.c
+$(OBJDIR)/mpeg3bits.o: mpeg3bits.c
+$(OBJDIR)/mpeg3css.o: mpeg3css.c
+$(OBJDIR)/mpeg3demux.o: mpeg3demux.c
+$(OBJDIR)/mpeg3dump.o: mpeg3dump.c
+$(OBJDIR)/mpeg3ifo.o: mpeg3ifo.c
+$(OBJDIR)/mpeg3io.o: mpeg3io.c
+$(OBJDIR)/mpeg3strack.o: mpeg3strack.c
+$(OBJDIR)/mpeg3title.o: mpeg3title.c
+$(OBJDIR)/mpeg3toc3.o: mpeg3toc3.c
+$(OBJDIR)/mpeg3toc.o: mpeg3toc.c
+$(OBJDIR)/mpeg3tocutil.o: mpeg3tocutil.c
+$(OBJDIR)/mpeg3vtrack.o: mpeg3vtrack.c
+$(OBJDIR)/audio/ac3.o: audio/ac3.c
+$(OBJDIR)/audio/bit_allocation.o: audio/bit_allocation.c
+$(OBJDIR)/audio/dct.o: audio/dct.c
+$(OBJDIR)/audio/exponents.o: audio/exponents.c
+$(OBJDIR)/audio/header.o: audio/header.c
+$(OBJDIR)/audio/huffman.o: audio/huffman.c
+$(OBJDIR)/audio/layer2.o: audio/layer2.c
+$(OBJDIR)/audio/layer3.o: audio/layer3.c
+$(OBJDIR)/audio/mantissa.o: audio/mantissa.c
+$(OBJDIR)/audio/mpeg3audio.o: audio/mpeg3audio.c
+$(OBJDIR)/audio/pcm.o: audio/pcm.c
+$(OBJDIR)/audio/synthesizers.o: audio/synthesizers.c
+$(OBJDIR)/audio/tables.o: audio/tables.c
+$(OBJDIR)/video/getpicture.o: video/getpicture.c
+$(OBJDIR)/video/headers.o: video/headers.c
+$(OBJDIR)/video/idct.o: video/idct.c
+$(OBJDIR)/video/macroblocks.o: video/macroblocks.c
+$(OBJDIR)/video/mmxtest.o: video/mmxtest.c
+$(OBJDIR)/video/motion.o: video/motion.c
+$(OBJDIR)/video/mpeg3cache.o: video/mpeg3cache.c
+$(OBJDIR)/video/mpeg3video.o: video/mpeg3video.c
+$(OBJDIR)/video/output.o: video/output.c
+$(OBJDIR)/video/reconstruct.o: video/reconstruct.c
+$(OBJDIR)/video/seek.o: video/seek.c
+$(OBJDIR)/video/slice.o: video/slice.c
+$(OBJDIR)/video/subtitle.o: video/subtitle.c
+$(OBJDIR)/video/vlc.o: video/vlc.c
+$(OBJDIR)/workarounds.o: workarounds.c
+
+
+
+include depend.a52