From 0fd944424bf4e807b2d134e934ce0e1896f1d836 Mon Sep 17 00:00:00 2001 From: Nick Kurshev Date: Sat, 27 Oct 2001 12:04:27 +0000 Subject: [PATCH] Shared objects support Originally committed as revision 194 to svn://svn.ffmpeg.org/ffmpeg/trunk --- Makefile | 15 +++++++++++---- VERSION | 1 + libavcodec/Makefile | 18 ++++++++++++++++-- 3 files changed, 28 insertions(+), 6 deletions(-) create mode 100644 VERSION diff --git a/Makefile b/Makefile index 0467f8d055..2e257a5593 100644 --- a/Makefile +++ b/Makefile @@ -18,17 +18,23 @@ EXT= PROG=ffmpeg ffplay ffserver endif +ifeq ($(BUILD_SHARED),yes) +FFMPEG_LIB=-Llibavcodec -lffmpeg +else +FFMPEG_LIB=libavcodec/libavcodec.a +endif + all: lib $(PROG) lib: $(MAKE) -C libavcodec all $(MAKE) -C libav all -ffmpeg$(EXE): ffmpeg.o libav/libav.a libavcodec/libavcodec.a - $(CC) $(LDFLAGS) -o $@ $^ -lm +ffmpeg$(EXE): ffmpeg.o libav/libav.a + $(CC) $(LDFLAGS) -lm -o $@ $^ $(FFMPEG_LIB) -ffserver$(EXE): ffserver.o libav/libav.a libavcodec/libavcodec.a - $(CC) $(LDFLAGS) -o $@ $^ -lm +ffserver$(EXE): ffserver.o libav/libav.a + $(CC) $(LDFLAGS) -lm -o $@ $^ $(FFMPEG_LIB) ffplay: ffmpeg$(EXE) ln -sf $< $@ @@ -37,6 +43,7 @@ ffplay: ffmpeg$(EXE) $(CC) $(CFLAGS) -c -o $@ $< install: all + $(MAKE) -C libavcodec install install -s -m 755 $(PROG) $(prefix)/bin ln -sf ffmpeg $(prefix)/bin/ffplay diff --git a/VERSION b/VERSION new file mode 100644 index 0000000000..c8a5397fb8 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +0.4.5 \ No newline at end of file diff --git a/libavcodec/Makefile b/libavcodec/Makefile index ad4f24873e..b2381714f6 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -39,15 +39,22 @@ endif SRCS = $(OBJS:.o=.c) $(ASM_OBJS:.o=.s) LIB= libavcodec.a +ifeq ($(BUILD_SHARED),yes) +SLIB= libffmpeg-$(VERSION).so +endif TESTS= imgresample-test dct-test motion-test -all: $(LIB) +all: $(LIB) $(SLIB) tests: apiexample cpuid_test $(TESTS) $(LIB): $(OBJS) $(ASM_OBJS) rm -f $@ $(AR) rcs $@ $(OBJS) $(ASM_OBJS) +$(SLIB): $(OBJS) $(ASM_OBJS) + rm -f $@ + $(CC) -shared -o $@ $(OBJS) $(ASM_OBJS) + ln -sf $@ libffmpeg.so dsputil.o: dsputil.c dsputil.h %.o: %.c @@ -63,7 +70,7 @@ depend: $(CC) -MM $(CFLAGS) $(SRCS) 1>.depend clean: - rm -f *.o *~ *.a i386/*.o i386/*~ \ + rm -f *.o *~ $(LIB) $(SLIB) *.so i386/*.o i386/*~ \ armv4l/*.o armv4l/*~ \ mlib/*.o mlib/*~ \ libac3/*.o libac3/*~ \ @@ -92,6 +99,13 @@ dct-test: dct-test.o jfdctfst.o i386/fdct_mmx.o \ motion-test: motion_test.o $(LIB) $(CC) -o $@ $^ +install: all +# install -s -m 644 $(LIB) $(prefix)/lib +ifeq ($(BUILD_SHARED),yes) + install -s -m 755 $(SLIB) $(prefix)/lib + ln -sf $(prefix)/lib/$(SLIB) $(prefix)/lib/libffmpeg.so + ldconfig +endif # # include dependency files if they exist #