--- Makefile.orig 2006-09-09 21:46:19.022454801 +0200 +++ Makefile 2006-09-10 01:49:09.740053475 +0200 @@ -2,8 +2,8 @@ NASM = nasm USE_MMX = 0 USE_CSS = 1 -A52DIR := $(shell expr a52dec* ) +.SUFFIXES: .lo ifeq ("$(PREFIX)", "") PREFIX=/usr @@ -48,7 +48,7 @@ ifeq ($(USE_CSS), 1) - CFLAGS += -DHAVE_CSS + CFLAGS += -DHAVE_CSS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE endif ifeq ($(USE_MMX), 1) @@ -63,9 +63,8 @@ CFLAGS += \ - -I. \ - -I$(A52DIR)/include \ - -I$(A52DIR)/liba52 + -I.\ + -I/usr/include/a52dec @@ -97,6 +96,7 @@ $(OBJDIR)/mpeg3demux.o \ $(OBJDIR)/mpeg3ifo.o \ $(OBJDIR)/mpeg3io.o \ + $(OBJDIR)/mpeg3split.o \ $(OBJDIR)/mpeg3strack.o \ $(OBJDIR)/mpeg3title.o \ $(OBJDIR)/mpeg3tocutil.o \ @@ -117,6 +117,9 @@ $(OBJDIR)/video/vlc.o \ $(OBJDIR)/workarounds.o +LTOBJS = $(OBJS:%.o=%.lo) +LTASMOBJS = $(ASMOBJS:%.o=%.lo) + #OBJS = \ # $(OBJDIR)/audio/ac3.o \ # $(OBJDIR)/audio/bit_allocation.o \ @@ -136,15 +139,10 @@ $(OBJDIR)/audio \ $(OBJDIR)/video -include Makefile.a52 - -DIRS += $(A52DIRS) - OUTPUT = $(OBJDIR)/libmpeg3.a -UTILS = $(OBJDIR)/mpeg3dump $(OBJDIR)/mpeg3peek $(OBJDIR)/mpeg3toc $(OBJDIR)/mpeg3cat - -#$(OBJDIR)/mpeg3split +SHAREDOUTPUT = $(OBJDIR)/libmpeg3.so +UTILS = $(OBJDIR)/mpeg3dump $(OBJDIR)/mpeg3toc $(OBJDIR)/mpeg3cat $(OBJDIR)/mpeg3peek $(OBJDIR)/mpeg3split LIBS = -lm -lpthread @@ -152,16 +150,17 @@ $(shell if ! test -d $(OBJDIR) \; then mkdir -p $(OBJDIR) \; fi ) $(shell echo $(CFLAGS) > $(OBJDIR)/c_flags) -$(shell echo $(A52CFLAGS) > $(OBJDIR)/a52_flags) -$(shell echo $(OBJS) $(ASMOBJS) $(A52OBJS) $(NASMOBJS) > $(OBJDIR)/objs) +$(shell echo $(OBJS) $(ASMOBJS) $(NASMOBJS) > $(OBJDIR)/objs) $(shell mkdir -p $(DIRS) ) -all: $(OUTPUT) $(UTILS) +all: $(OUTPUT) $(SHAREDOUTPUT) $(UTILS) -$(OUTPUT): $(OBJS) $(ASMOBJS) $(NASMOBJS) $(A52OBJS) +$(OUTPUT): $(OBJS) $(ASMOBJS) $(NASMOBJS) ar rcs $(OUTPUT) `cat $(OBJDIR)/objs` +$(SHAREDOUTPUT): $(LTOBJS) $(LTASMOBJS) $(NASMOBJS) + gcc -shared -Wl,-soname=libmpeg3.so -o $(SHAREDOUTPUT) $(LTOBJS) $(LTASMOBJS) $(NASMOBJS) $(LIBS) $(OBJDIR)/mpeg3dump: $(OUTPUT) mpeg3dump.c @@ -176,8 +175,8 @@ $(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)/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 \ @@ -190,11 +189,44 @@ -lz \ -ldl -install: - cp $(UTILS) $(PREFIX)/bin -# cp $(OUTPUT) $(PREFIX)/lib -# cp libmpeg3.h mpeg3private.h $(PREFIX)/include +INSTALL_HEADERS = \ + bitstream.h \ + libmpeg3.h \ + mpeg3atrack.h \ + mpeg3css.h \ + mpeg3demux.h \ + mpeg3io.h \ + mpeg3private.h \ + mpeg3private.inc \ + mpeg3protos.h \ + mpeg3title.h \ + mpeg3vtrack.h \ + timecode.h \ + +INSTALL_AHEADERS = \ + audio/ac3.h \ + audio/mpeg3audio.h \ + +INSTALL_VHEADERS = \ + video/idct.h \ + video/slice.h \ + video/mpeg3video.h + + +install: + install -d $(DESTDIR)/bin + install -d $(DESTDIR)/include/libmpeg3 + install -d $(DESTDIR)/include/libmpeg3/audio + install -d $(DESTDIR)/include/libmpeg3/video + install -d $(DESTDIR)/$(LIBDIR) + install $(UTILS) $(DESTDIR)/bin + install -m 644 $(INSTALL_HEADERS) $(DESTDIR)/include/libmpeg3 + install -m 644 $(INSTALL_AHEADERS) $(DESTDIR)/include/libmpeg3/audio + install -m 644 $(INSTALL_VHEADERS) $(DESTDIR)/include/libmpeg3/video + install -m 644 $(OUTPUT) $(DESTDIR)/$(LIBDIR) + install -m 644 $(SHAREDOUTPUT) $(DESTDIR)/$(LIBDIR) + clean: rm -rf $(OBJDIR) @@ -211,8 +243,12 @@ $(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 + +$(LTOBJS): + $(CC) -fPIC -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.c) -o $*.lo +$(LTASMOBJS): + $(CC) -fPIC -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.S) -o $*.lo + $(OBJDIR)/libmpeg3.o: libmpeg3.c $(OBJDIR)/mpeg3atrack.o: mpeg3atrack.c @@ -222,6 +258,7 @@ $(OBJDIR)/mpeg3dump.o: mpeg3dump.c $(OBJDIR)/mpeg3ifo.o: mpeg3ifo.c $(OBJDIR)/mpeg3io.o: mpeg3io.c +$(OBJDIR)/mpeg3split.o: mpeg3split.c $(OBJDIR)/mpeg3strack.o: mpeg3strack.c $(OBJDIR)/mpeg3title.o: mpeg3title.c $(OBJDIR)/mpeg3toc3.o: mpeg3toc3.c @@ -258,5 +295,3 @@ $(OBJDIR)/workarounds.o: workarounds.c - -include depend.a52