5 A52DIR := $(shell expr a52dec* )
13 ifeq ($(origin CFLAGS), environment)
19 OBJDIR := $(shell uname --machine)
22 ifeq ($(OBJDIR), alpha)
23 ifneq ($(HAVE_CFLAGS), y)
24 CFLAGS := -O4 -arch ev67 -ieee -accept c99_keywords -gcc_messages
28 ifneq ($(HAVE_CFLAGS), y)
29 #CFLAGS := -O2 -fomit-frame-pointer -I/usr/local/include
30 CFLAGS := -O3 -ggdb -fno-omit-frame-pointer -I/usr/local/include \
31 -falign-loops=2 -falign-jumps=2 -falign-functions=2
34 ifeq ($(OBJDIR), i686)
36 CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
39 ifeq ($(OBJDIR), x86_64)
40 CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
49 ASMOBJS = $(OBJDIR)/video/mmxidct.o
50 NASMOBJS = $(OBJDIR)/video/reconmmx.o
53 CFLAGS += -I. -I$(A52DIR)/include -I$(A52DIR)/liba52
57 $(OBJDIR)/audio/ac3.o \
58 $(OBJDIR)/audio/dct.o \
59 $(OBJDIR)/audio/huffman.o \
60 $(OBJDIR)/audio/layer2.o \
61 $(OBJDIR)/audio/layer3.o \
62 $(OBJDIR)/audio/audio.o \
63 $(OBJDIR)/audio/pcm.o \
64 $(OBJDIR)/audio/synthesizers.o \
65 $(OBJDIR)/audio/tables.o \
66 $(OBJDIR)/libzmpeg3.o \
78 $(OBJDIR)/video/getpicture.o \
79 $(OBJDIR)/video/headers.o \
80 $(OBJDIR)/video/idct.o \
81 $(OBJDIR)/video/macroblocks.o \
82 $(OBJDIR)/video/mmxtest.o \
83 $(OBJDIR)/video/motion.o \
84 $(OBJDIR)/video/cache.o \
85 $(OBJDIR)/video/video.o \
86 $(OBJDIR)/video/output.o \
87 $(OBJDIR)/video/reconstruct.o \
88 $(OBJDIR)/video/seek.o \
89 $(OBJDIR)/video/slice.o \
90 $(OBJDIR)/video/subtitle.o \
91 $(OBJDIR)/video/cc.o \
92 $(OBJDIR)/video/vlc.o \
98 # $(OBJDIR)/audio/ac3.o \
99 # $(OBJDIR)/audio/bit_allocation.o \
100 # $(OBJDIR)/audio/exponents.o \
101 # $(OBJDIR)/audio/header.o \
102 # $(OBJDIR)/audio/huffman.o \
103 # $(OBJDIR)/audio/layer2.o \
104 # $(OBJDIR)/audio/layer3.o \
105 # $(OBJDIR)/audio/mantissa.o \
106 # $(OBJDIR)/audio/pcm.o \
107 # $(OBJDIR)/audio/tables.o \
118 OUTPUT = $(OBJDIR)/libzmpeg3.a
119 UTILS := $(OBJDIR)/mpeg3dump
120 UTILS += $(OBJDIR)/mpeg3peek
121 UTILS += $(OBJDIR)/mpeg3toc
122 UTILS += $(OBJDIR)/mpeg3show
123 UTILS += $(OBJDIR)/mpeg3cat
124 UTILS += $(OBJDIR)/mpeg31trkpony
125 UTILS += $(OBJDIR)/mpeg3ifochk
126 UTILS += $(OBJDIR)/mpeg3cc2txt
128 #$(OBJDIR)/mpeg3split
132 ifeq ($(DYNAMIC_FONTS), 1)
135 CFLAGS += -DBUILTIN_FONT_DATA
136 OBJS += $(OBJDIR)/xfont1.o
139 $(shell mkdir -p $(OBJDIR) )
141 $(shell echo $(CFLAGS) > $(OBJDIR)/c_flags)
142 $(shell echo $(A52CFLAGS) > $(OBJDIR)/a52_flags)
143 $(shell echo $(OBJS) $(ASMOBJS) $(A52OBJS) $(NASMOBJS) > $(OBJDIR)/objs)
144 $(shell mkdir -p $(DIRS) )
147 all: $(OUTPUT) $(UTILS) $(TAGS)
148 #all: $(OUTPUT) $(TAGS) b.out
151 $(CXX) `cat $(OBJDIR)/c_flags` -DWRITE_FONT_DATA -o $(OBJDIR)/xfont xfont.C \
153 $(OBJDIR)/xfont > xfont1.C
156 $(CXX) `pkg-config --cflags --libs gtk+-2.0` y.C ./$(OBJDIR)/libzmpeg3.a \
157 -lpthread -lasound -lm -O0 -g -o b.out
159 $(OUTPUT): $(OBJS) $(ASMOBJS) $(NASMOBJS) $(A52OBJS)
160 ar rcs $(OUTPUT) `cat $(OBJDIR)/objs`
163 mpeg3% $(OBJDIR)/mpeg3%: $(OUTPUT) mpeg3%.C
164 $(CXX) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/$(notdir $@) $(notdir $@).C $(OUTPUT) $(LIBS)
167 #$(OBJDIR)/mpeg2qt: $(OUTPUT)
168 # $(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg2qt mpeg2qt.c \
169 # $(OUTPUT) $(LIBS) -I. -I../quicktime \
170 # ../quicktime/$(OBJDIR)/libquicktime.a \
180 rm -rf $(OBJDIR) $(TAGS)
184 tar -zcf libzmpeg3.tar.gz libmpeg3
187 cat *.c *.h audio/*.c audio/*.h video/*.c video/*.h | wc
190 $(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.C) -o $*.o
192 $(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.S) -o $*.o
194 $(NASM) -f elf $(subst $(OBJDIR)/,, $*.s) -o $*.o
196 $(CC) -c `cat $(OBJDIR)/a52_flags` $(subst $(OBJDIR)/,, $*.c) -o $*.o
198 $(OBJDIR)/libzmpeg3.o: libzmpeg3.C
199 $(OBJDIR)/atrack.o: atrack.C
200 $(OBJDIR)/bits.o: bits.C
201 $(OBJDIR)/css.o: css.C
202 $(OBJDIR)/demux.o: demux.C
203 $(OBJDIR)/ifo.o: ifo.C
204 $(OBJDIR)/zio.o: zio.C
205 $(OBJDIR)/dvb.o: dvb.C
206 $(OBJDIR)/huf.o: huf.C
207 $(OBJDIR)/xfont.o: xfont.C
208 $(OBJDIR)/xfont1.o: xfont1.C
209 $(OBJDIR)/strack.o: strack.C
210 $(OBJDIR)/title.o: title.C
211 $(OBJDIR)/mpeg3toc.o: mpeg3toc.C
212 $(OBJDIR)/mpeg3show.o: mpeg3show.C
213 $(OBJDIR)/mpeg3dump.o: mpeg3dump.C
214 $(OBJDIR)/mpeg3cat.o: mpeg3cat.C
215 $(OBJDIR)/mpeg31trkpony.o: mpeg31trkpony.C
216 $(OBJDIR)/mpeg3peek.o: mpeg3peek.C
217 $(OBJDIR)/toc.o: toc.C
218 $(OBJDIR)/mpeg3.o: mpeg3.C
219 $(OBJDIR)/vtrack.o: vtrack.C
220 $(OBJDIR)/audio/ac3.o: audio/ac3.C
221 $(OBJDIR)/audio/bit_allocation.o: audio/bit_allocation.C
222 $(OBJDIR)/audio/dct.o: audio/dct.C
223 #$(OBJDIR)/audio/exponents.o: audio/exponents.c
224 #$(OBJDIR)/audio/header.o: audio/header.c
225 $(OBJDIR)/audio/huffman.o: audio/huffman.C
226 $(OBJDIR)/audio/layer2.o: audio/layer2.C
227 $(OBJDIR)/audio/layer3.o: audio/layer3.C
228 #$(OBJDIR)/audio/mantissa.o: audio/mantissa.c
229 $(OBJDIR)/audio/audio.o: audio/audio.C
230 $(OBJDIR)/audio/pcm.o: audio/pcm.C
231 $(OBJDIR)/audio/synthesizers.o: audio/synthesizers.C
232 $(OBJDIR)/audio/tables.o: audio/tables.C
233 $(OBJDIR)/video/getpicture.o: video/getpicture.C
234 $(OBJDIR)/video/headers.o: video/headers.C
235 $(OBJDIR)/video/idct.o: video/idct.C
236 $(OBJDIR)/video/macroblocks.o: video/macroblocks.C
237 $(OBJDIR)/video/mmxtest.o: video/mmxtest.C
238 $(OBJDIR)/video/motion.o: video/motion.C
239 $(OBJDIR)/video/cache.o: video/cache.C
240 $(OBJDIR)/video/video.o: video/video.C
241 $(OBJDIR)/video/output.o: video/output.C
242 $(OBJDIR)/video/reconstruct.o: video/reconstruct.C
243 $(OBJDIR)/video/seek.o: video/seek.C
244 $(OBJDIR)/video/slice.o: video/slice.C
245 $(OBJDIR)/video/subtitle.o: video/subtitle.C
246 $(OBJDIR)/video/cc.o: video/cc.C
247 $(OBJDIR)/video/vlc.o: video/vlc.C
248 #$(OBJDIR)/workarounds.o: workarounds.c