Lines 2-9
Link Here
|
2 |
NASM = nasm |
2 |
NASM = nasm |
3 |
USE_MMX = 0 |
3 |
USE_MMX = 0 |
4 |
USE_CSS = 1 |
4 |
USE_CSS = 1 |
5 |
A52DIR := $(shell expr a52dec* ) |
|
|
6 |
|
5 |
|
|
|
6 |
.SUFFIXES: .lo |
7 |
|
7 |
|
8 |
ifeq ("$(PREFIX)", "") |
8 |
ifeq ("$(PREFIX)", "") |
9 |
PREFIX=/usr |
9 |
PREFIX=/usr |
Lines 48-54
Link Here
|
48 |
|
48 |
|
49 |
|
49 |
|
50 |
ifeq ($(USE_CSS), 1) |
50 |
ifeq ($(USE_CSS), 1) |
51 |
CFLAGS += -DHAVE_CSS |
51 |
CFLAGS += -DHAVE_CSS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE |
52 |
endif |
52 |
endif |
53 |
|
53 |
|
54 |
ifeq ($(USE_MMX), 1) |
54 |
ifeq ($(USE_MMX), 1) |
Lines 63-71
Link Here
|
63 |
|
63 |
|
64 |
|
64 |
|
65 |
CFLAGS += \ |
65 |
CFLAGS += \ |
66 |
-I. \ |
66 |
-I.\ |
67 |
-I$(A52DIR)/include \ |
67 |
-I/usr/include/a52dec |
68 |
-I$(A52DIR)/liba52 |
|
|
69 |
|
68 |
|
70 |
|
69 |
|
71 |
|
70 |
|
Lines 97-102
Link Here
|
97 |
$(OBJDIR)/mpeg3demux.o \ |
96 |
$(OBJDIR)/mpeg3demux.o \ |
98 |
$(OBJDIR)/mpeg3ifo.o \ |
97 |
$(OBJDIR)/mpeg3ifo.o \ |
99 |
$(OBJDIR)/mpeg3io.o \ |
98 |
$(OBJDIR)/mpeg3io.o \ |
|
|
99 |
$(OBJDIR)/mpeg3split.o \ |
100 |
$(OBJDIR)/mpeg3strack.o \ |
100 |
$(OBJDIR)/mpeg3strack.o \ |
101 |
$(OBJDIR)/mpeg3title.o \ |
101 |
$(OBJDIR)/mpeg3title.o \ |
102 |
$(OBJDIR)/mpeg3tocutil.o \ |
102 |
$(OBJDIR)/mpeg3tocutil.o \ |
Lines 117-122
Link Here
|
117 |
$(OBJDIR)/video/vlc.o \ |
117 |
$(OBJDIR)/video/vlc.o \ |
118 |
$(OBJDIR)/workarounds.o |
118 |
$(OBJDIR)/workarounds.o |
119 |
|
119 |
|
|
|
120 |
LTOBJS = $(OBJS:%.o=%.lo) |
121 |
LTASMOBJS = $(ASMOBJS:%.o=%.lo) |
122 |
|
120 |
#OBJS = \ |
123 |
#OBJS = \ |
121 |
# $(OBJDIR)/audio/ac3.o \ |
124 |
# $(OBJDIR)/audio/ac3.o \ |
122 |
# $(OBJDIR)/audio/bit_allocation.o \ |
125 |
# $(OBJDIR)/audio/bit_allocation.o \ |
Lines 136-150
Link Here
|
136 |
$(OBJDIR)/audio \ |
139 |
$(OBJDIR)/audio \ |
137 |
$(OBJDIR)/video |
140 |
$(OBJDIR)/video |
138 |
|
141 |
|
139 |
include Makefile.a52 |
|
|
140 |
|
141 |
DIRS += $(A52DIRS) |
142 |
|
143 |
|
142 |
|
144 |
OUTPUT = $(OBJDIR)/libmpeg3.a |
143 |
OUTPUT = $(OBJDIR)/libmpeg3.a |
145 |
UTILS = $(OBJDIR)/mpeg3dump $(OBJDIR)/mpeg3peek $(OBJDIR)/mpeg3toc $(OBJDIR)/mpeg3cat |
144 |
SHAREDOUTPUT = $(OBJDIR)/libmpeg3.so |
146 |
|
145 |
UTILS = $(OBJDIR)/mpeg3dump $(OBJDIR)/mpeg3toc $(OBJDIR)/mpeg3cat $(OBJDIR)/mpeg3peek $(OBJDIR)/mpeg3split |
147 |
#$(OBJDIR)/mpeg3split |
|
|
148 |
|
146 |
|
149 |
|
147 |
|
150 |
LIBS = -lm -lpthread |
148 |
LIBS = -lm -lpthread |
Lines 152-167
Link Here
|
152 |
$(shell if ! test -d $(OBJDIR) \; then mkdir -p $(OBJDIR) \; fi ) |
150 |
$(shell if ! test -d $(OBJDIR) \; then mkdir -p $(OBJDIR) \; fi ) |
153 |
|
151 |
|
154 |
$(shell echo $(CFLAGS) > $(OBJDIR)/c_flags) |
152 |
$(shell echo $(CFLAGS) > $(OBJDIR)/c_flags) |
155 |
$(shell echo $(A52CFLAGS) > $(OBJDIR)/a52_flags) |
153 |
$(shell echo $(OBJS) $(ASMOBJS) $(NASMOBJS) > $(OBJDIR)/objs) |
156 |
$(shell echo $(OBJS) $(ASMOBJS) $(A52OBJS) $(NASMOBJS) > $(OBJDIR)/objs) |
|
|
157 |
$(shell mkdir -p $(DIRS) ) |
154 |
$(shell mkdir -p $(DIRS) ) |
158 |
|
155 |
|
159 |
all: $(OUTPUT) $(UTILS) |
156 |
all: $(OUTPUT) $(SHAREDOUTPUT) $(UTILS) |
160 |
|
157 |
|
161 |
|
158 |
|
162 |
$(OUTPUT): $(OBJS) $(ASMOBJS) $(NASMOBJS) $(A52OBJS) |
159 |
$(OUTPUT): $(OBJS) $(ASMOBJS) $(NASMOBJS) |
163 |
ar rcs $(OUTPUT) `cat $(OBJDIR)/objs` |
160 |
ar rcs $(OUTPUT) `cat $(OBJDIR)/objs` |
164 |
|
161 |
|
|
|
162 |
$(SHAREDOUTPUT): $(LTOBJS) $(LTASMOBJS) $(NASMOBJS) |
163 |
gcc -shared -Wl,-soname=libmpeg3.so -o $(SHAREDOUTPUT) $(LTOBJS) $(LTASMOBJS) $(NASMOBJS) $(LIBS) |
165 |
|
164 |
|
166 |
|
165 |
|
167 |
$(OBJDIR)/mpeg3dump: $(OUTPUT) mpeg3dump.c |
166 |
$(OBJDIR)/mpeg3dump: $(OUTPUT) mpeg3dump.c |
Lines 176-183
Link Here
|
176 |
$(OBJDIR)/mpeg3cat: $(OUTPUT) mpeg3cat.c |
175 |
$(OBJDIR)/mpeg3cat: $(OUTPUT) mpeg3cat.c |
177 |
$(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg3cat mpeg3cat.c $(OUTPUT) $(LIBS) |
176 |
$(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg3cat mpeg3cat.c $(OUTPUT) $(LIBS) |
178 |
|
177 |
|
179 |
#$(OBJDIR)/mpeg3split: $(OUTPUT) |
178 |
$(OBJDIR)/mpeg3split: $(OUTPUT) |
180 |
# $(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg3split mpeg3split.c $(OUTPUT) $(LIBS) |
179 |
$(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg3split mpeg3split.c $(OUTPUT) $(LIBS) |
181 |
|
180 |
|
182 |
$(OBJDIR)/mpeg2qt: $(OUTPUT) |
181 |
$(OBJDIR)/mpeg2qt: $(OUTPUT) |
183 |
$(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg2qt mpeg2qt.c \ |
182 |
$(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg2qt mpeg2qt.c \ |
Lines 190-200
Link Here
|
190 |
-lz \ |
189 |
-lz \ |
191 |
-ldl |
190 |
-ldl |
192 |
|
191 |
|
193 |
install: |
192 |
INSTALL_HEADERS = \ |
194 |
cp $(UTILS) $(PREFIX)/bin |
193 |
bitstream.h \ |
195 |
# cp $(OUTPUT) $(PREFIX)/lib |
194 |
libmpeg3.h \ |
196 |
# cp libmpeg3.h mpeg3private.h $(PREFIX)/include |
195 |
mpeg3atrack.h \ |
|
|
196 |
mpeg3css.h \ |
197 |
mpeg3demux.h \ |
198 |
mpeg3io.h \ |
199 |
mpeg3private.h \ |
200 |
mpeg3private.inc \ |
201 |
mpeg3protos.h \ |
202 |
mpeg3title.h \ |
203 |
mpeg3vtrack.h \ |
204 |
timecode.h \ |
205 |
|
206 |
INSTALL_AHEADERS = \ |
207 |
audio/ac3.h \ |
208 |
audio/mpeg3audio.h \ |
209 |
|
210 |
INSTALL_VHEADERS = \ |
211 |
video/idct.h \ |
212 |
video/slice.h \ |
213 |
video/mpeg3video.h |
197 |
|
214 |
|
|
|
215 |
|
216 |
|
217 |
install: |
218 |
install -d $(DESTDIR)/bin |
219 |
install -d $(DESTDIR)/include/libmpeg3 |
220 |
install -d $(DESTDIR)/include/libmpeg3/audio |
221 |
install -d $(DESTDIR)/include/libmpeg3/video |
222 |
install -d $(DESTDIR)/$(LIBDIR) |
223 |
install $(UTILS) $(DESTDIR)/bin |
224 |
install -m 644 $(INSTALL_HEADERS) $(DESTDIR)/include/libmpeg3 |
225 |
install -m 644 $(INSTALL_AHEADERS) $(DESTDIR)/include/libmpeg3/audio |
226 |
install -m 644 $(INSTALL_VHEADERS) $(DESTDIR)/include/libmpeg3/video |
227 |
install -m 644 $(OUTPUT) $(DESTDIR)/$(LIBDIR) |
228 |
install -m 644 $(SHAREDOUTPUT) $(DESTDIR)/$(LIBDIR) |
229 |
|
198 |
clean: |
230 |
clean: |
199 |
rm -rf $(OBJDIR) |
231 |
rm -rf $(OBJDIR) |
200 |
|
232 |
|
Lines 211-218
Link Here
|
211 |
$(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.S) -o $*.o |
243 |
$(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.S) -o $*.o |
212 |
$(NASMOBJS): |
244 |
$(NASMOBJS): |
213 |
$(NASM) -f elf $(subst $(OBJDIR)/,, $*.s) -o $*.o |
245 |
$(NASM) -f elf $(subst $(OBJDIR)/,, $*.s) -o $*.o |
214 |
$(A52OBJS): |
246 |
|
215 |
$(CC) -c `cat $(OBJDIR)/a52_flags` $(subst $(OBJDIR)/,, $*.c) -o $*.o |
247 |
$(LTOBJS): |
|
|
248 |
$(CC) -fPIC -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.c) -o $*.lo |
249 |
$(LTASMOBJS): |
250 |
$(CC) -fPIC -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.S) -o $*.lo |
251 |
|
216 |
|
252 |
|
217 |
$(OBJDIR)/libmpeg3.o: libmpeg3.c |
253 |
$(OBJDIR)/libmpeg3.o: libmpeg3.c |
218 |
$(OBJDIR)/mpeg3atrack.o: mpeg3atrack.c |
254 |
$(OBJDIR)/mpeg3atrack.o: mpeg3atrack.c |
Lines 222-227
Link Here
|
222 |
$(OBJDIR)/mpeg3dump.o: mpeg3dump.c |
258 |
$(OBJDIR)/mpeg3dump.o: mpeg3dump.c |
223 |
$(OBJDIR)/mpeg3ifo.o: mpeg3ifo.c |
259 |
$(OBJDIR)/mpeg3ifo.o: mpeg3ifo.c |
224 |
$(OBJDIR)/mpeg3io.o: mpeg3io.c |
260 |
$(OBJDIR)/mpeg3io.o: mpeg3io.c |
|
|
261 |
$(OBJDIR)/mpeg3split.o: mpeg3split.c |
225 |
$(OBJDIR)/mpeg3strack.o: mpeg3strack.c |
262 |
$(OBJDIR)/mpeg3strack.o: mpeg3strack.c |
226 |
$(OBJDIR)/mpeg3title.o: mpeg3title.c |
263 |
$(OBJDIR)/mpeg3title.o: mpeg3title.c |
227 |
$(OBJDIR)/mpeg3toc3.o: mpeg3toc3.c |
264 |
$(OBJDIR)/mpeg3toc3.o: mpeg3toc3.c |
Lines 258-262
Link Here
|
258 |
$(OBJDIR)/workarounds.o: workarounds.c |
295 |
$(OBJDIR)/workarounds.o: workarounds.c |
259 |
|
296 |
|
260 |
|
297 |
|
261 |
|
|
|
262 |
include depend.a52 |