Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMåns Rullgård <mans@mansr.com>2006-02-13 15:53:25 +0300
committerMåns Rullgård <mans@mansr.com>2006-02-13 15:53:25 +0300
commit8b2121e3deeca35121a7c0c4afb5419ca6ce2ccb (patch)
tree0dbac5c10dce56883c71eea5d47c08c0b28fa38c
parentf41b1d3541ac8e30a99e6a4bde3fcd84c11ae6f8 (diff)
move common parts of makefiles into common.mak
Originally committed as revision 5015 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--Makefile18
-rw-r--r--common.mak97
-rwxr-xr-xconfigure1
-rw-r--r--libavcodec/Makefile84
-rw-r--r--libavcodec/libpostproc/Makefile67
-rw-r--r--libavformat/Makefile80
-rw-r--r--libavutil/Makefile63
7 files changed, 131 insertions, 279 deletions
diff --git a/Makefile b/Makefile
index d999733692..c737ace3b4 100644
--- a/Makefile
+++ b/Makefile
@@ -139,23 +139,15 @@ install-vhook:
install-libs:
install -d $(libdir)
-ifeq ($(BUILD_SHARED),yes)
- $(MAKE) -C libavutil install-lib-shared
- $(MAKE) -C libavcodec install-lib-shared
- $(MAKE) -C libavformat install-lib-shared
+ $(MAKE) -C libavutil install-libs
+ $(MAKE) -C libavcodec install-libs
+ $(MAKE) -C libavformat install-libs
ifeq ($(CONFIG_PP),yes)
- $(MAKE) -C libavcodec/libpostproc install-lib-shared
+ $(MAKE) -C libavcodec/libpostproc install-libs
endif
+ifeq ($(BUILD_SHARED),yes)
$(LDCONFIG) || true
endif
-ifeq ($(BUILD_STATIC),yes)
- $(MAKE) -C libavutil install-lib-static
- $(MAKE) -C libavcodec install-lib-static
- $(MAKE) -C libavformat install-lib-static
-ifeq ($(CONFIG_PP),yes)
- $(MAKE) -C libavcodec/libpostproc install-lib-static
-endif
-endif
install-headers:
install -d "$(incdir)"
diff --git a/common.mak b/common.mak
new file mode 100644
index 0000000000..4bc8b118b5
--- /dev/null
+++ b/common.mak
@@ -0,0 +1,97 @@
+#
+# common bits used by all libraries
+#
+
+SRC_DIR = $(SRC_PATH)/$(SUBDIR)
+VPATH = $(SRC_DIR)
+
+#FIXME: This should be in configure/config.mak
+ifeq ($(CONFIG_WIN32),yes)
+LDFLAGS = -Wl,--output-def,$(@:.dll=.def),--out-implib,lib$(SLIBNAME:$(SLIBSUF)=.dll.a)
+endif
+
+ifeq ($(TARGET_GPROF),yes)
+CFLAGS+=-p
+LDFLAGS+=-p
+endif
+
+ifeq ($(TARGET_ARCH_SPARC64),yes)
+CFLAGS+= -mcpu=ultrasparc -mtune=ultrasparc
+endif
+
+SRCS = $(OBJS:.o=.c) $(ASM_OBJS:.o=.S) $(CPPOBJS:.o=.cpp)
+OBJS := $(OBJS) $(ASM_OBJS) $(CPPOBJS)
+STATIC_OBJS := $(OBJS) $(STATIC_OBJS)
+SHARED_OBJS := $(OBJS) $(SHARED_OBJS)
+
+all: $(LIB) $(SLIBNAME)
+
+$(LIB): $(STATIC_OBJS)
+ rm -f $@
+ $(AR) rc $@ $^ $(EXTRAOBJS)
+ $(RANLIB) $@
+
+$(SLIBNAME): $(SHARED_OBJS)
+ $(CC) $(SHFLAGS) $(LDFLAGS) -o $@ $^ $(EXTRALIBS) $(EXTRAOBJS)
+ifeq ($(CONFIG_WIN32),yes)
+ -lib /machine:i386 /def:$(@:.dll=.def)
+endif
+
+%.o: %.c
+ $(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $<
+
+%.o: %.S
+ $(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $<
+
+# BeOS: remove -Wall to get rid of all the "multibyte constant" warnings
+%.o: %.cpp
+ g++ $(subst -Wall,,$(CFLAGS)) -c -o $@ $<
+
+depend: $(SRCS)
+ $(CC) -MM $(CFLAGS) $^ 1>.depend
+
+dep: depend
+
+clean::
+ rm -f *.o *.d *~ *.a *.lib *.so *.dylib *.dll \
+ *.lib *.def *.dll.a *.exp
+
+distclean: clean
+ rm -f .depend
+
+ifeq ($(BUILD_SHARED),yes)
+INSTLIBTARGETS += install-lib-shared
+endif
+ifeq ($(BUILD_STATIC),yes)
+INSTLIBTARGETS += install-lib-static
+endif
+
+install: install-libs install-headers
+
+install-libs: $(INSTLIBTARGETS)
+
+install-lib-shared: $(SLIBNAME)
+ifeq ($(CONFIG_WIN32),yes)
+ install $(INSTALLSTRIP) -m 755 $(SLIBNAME) "$(prefix)"
+else
+ install $(INSTALLSTRIP) -m 755 $(SLIBNAME) \
+ $(libdir)/$(SLIBNAME_WITH_VERSION)
+ ln -sf $(SLIBNAME_WITH_VERSION) \
+ $(libdir)/$(SLIBNAME_WITH_MAJOR)
+ ln -sf $(SLIBNAME_WITH_VERSION) \
+ $(libdir)/$(SLIBNAME)
+endif
+
+install-lib-static: $(LIB)
+ install -m 644 $(LIB) "$(libdir)"
+
+install-headers:
+ install -m 644 $(addprefix "$(SRC_DIR)"/,$(HEADERS)) "$(incdir)"
+ install -m 644 $(BUILD_ROOT)/lib$(NAME).pc "$(libdir)/pkgconfig"
+
+#
+# include dependency files if they exist
+#
+ifneq ($(wildcard .depend),)
+include .depend
+endif
diff --git a/configure b/configure
index ba5c11f1e9..84b72bcd63 100755
--- a/configure
+++ b/configure
@@ -1892,6 +1892,7 @@ if test "$source_path_used" = "yes" ; then
done
fi
echo "SRC_PATH=$source_path" >> config.mak
+echo "BUILD_ROOT=$PWD" >> config.mak
if test "$amr_wb" = "yes" ; then
echo "#define AMR_WB 1" >> $TMPH
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 3b646a280e..2ce233dffc 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -4,16 +4,9 @@
#
include ../config.mak
-VPATH=$(SRC_PATH)/libavcodec
-
# NOTE: -I.. is needed to include config.h
CFLAGS=$(OPTFLAGS) -DHAVE_AV_CONFIG_H -I.. -I$(SRC_PATH)/libavutil -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE $(AMR_CFLAGS)
-#FIXME: This should be in configure/config.mak
-ifeq ($(CONFIG_WIN32),yes)
- LDFLAGS=-Wl,--output-def,$(@:.dll=.def),--out-implib,lib$(SLIBNAME:$(SLIBSUF)=.dll.a)
-endif
-
OBJS= bitstream.o utils.o mem.o allcodecs.o \
mpegvideo.o jrevdct.o jfdctfst.o jfdctint.o\
mpegaudio.o ac3enc.o mjpeg.o resample.o resample2.o dsputil.o \
@@ -25,6 +18,8 @@ OBJS= bitstream.o utils.o mem.o allcodecs.o \
vp3dsp.o h264idct.o rangecoder.o pnm.o h263.o msmpeg4.o h263dec.o \
opt.o
+HEADERS = avcodec.h dsputil.h
+
ifeq ($(CONFIG_AASC_DECODER),yes)
OBJS+= aasc.o
endif
@@ -326,11 +321,6 @@ ifeq ($(CONFIG_LIBGSM),yes)
OBJS += libgsm.o
endif
-ifeq ($(TARGET_GPROF),yes)
-CFLAGS+=-p
-LDFLAGS+=-p
-endif
-
# i386 mmx specific stuff
ifeq ($(TARGET_MMX),yes)
OBJS += i386/fdct_mmx.o i386/cputest.o \
@@ -400,14 +390,9 @@ OBJS+=sparc/dsputil_vis.o
sparc/%.o: sparc/%.c
$(CC) -mcpu=ultrasparc -mtune=ultrasparc $(CFLAGS) -c -o $@ $<
endif
-ifeq ($(TARGET_ARCH_SPARC64),yes)
-CFLAGS+= -mcpu=ultrasparc -mtune=ultrasparc
-endif
-
-SRCS := $(OBJS:.o=.c) $(ASM_OBJS:.o=.S)
-OBJS := $(OBJS) $(ASM_OBJS)
NAME=avcodec
+SUBDIR=libavcodec
LIBAVUTIL= $(SRC_PATH)/libavutil/$(LIBPREF)avutil$(LIBSUF)
ifeq ($(BUILD_SHARED),yes)
LIBVERSION=$(LAVCVERSION)
@@ -415,40 +400,21 @@ LIBMAJOR=$(LAVCMAJOR)
endif
TESTS= imgresample-test dct-test motion-test fft-test
-all: $(LIB) $(SLIBNAME)
+EXTRAOBJS = $(AMREXTRALIBS)
+
+include $(SRC_PATH)/common.mak
+
+$(LIB): $(AMRLIBS)
amrlibs:
$(MAKE) -C amr spclib fipoplib
tests: apiexample cpuid_test $(TESTS)
-$(LIB): $(OBJS) $(AMRLIBS)
- rm -f $@
- $(AR) rc $@ $(OBJS) $(AMREXTRALIBS)
- $(RANLIB) $@
-
-$(SLIBNAME): $(OBJS)
- $(CC) $(SHFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(EXTRALIBS) $(AMREXTRALIBS)
-ifeq ($(CONFIG_WIN32),yes)
- -lib /machine:i386 /def:$(@:.dll=.def)
-endif
-
dsputil.o: dsputil.c dsputil.h
-%.o: %.c
- $(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $<
-
-%.o: %.S
- $(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $<
-
-depend: $(SRCS)
- $(CC) -MM $(CFLAGS) $^ 1>.depend
-
-dep: depend
-
-clean: $(CLEANAMR)
- rm -f *.o *.d *~ *.a *.lib *.so *.dylib *.dll \
- *.dll.a *.def *.exp \
+clean:: $(CLEANAMR)
+ rm -f \
i386/*.o i386/*~ \
armv4l/*.o armv4l/*~ \
mlib/*.o mlib/*~ \
@@ -460,9 +426,6 @@ clean: $(CLEANAMR)
liba52/*.o liba52/*~ \
apiexample $(TESTS)
-distclean: clean
- rm -f .depend
-
cleanamr:
$(MAKE) -C amr clean
@@ -493,30 +456,3 @@ motion-test: motion_test.o $(LIB)
fft-test: fft-test.o $(LIB)
$(CC) -o $@ $^ $(LIBAVUTIL) -lm
-
-
-install-lib-shared: $(SLIBNAME)
-ifeq ($(CONFIG_WIN32),yes)
- install $(INSTALLSTRIP) -m 755 $(SLIBNAME) "$(prefix)"
-else
- install $(INSTALLSTRIP) -m 755 $(SLIBNAME) \
- $(libdir)/$(SLIBNAME_WITH_VERSION)
- ln -sf $(SLIBNAME_WITH_VERSION) \
- $(libdir)/$(SLIBNAME_WITH_MAJOR)
- ln -sf $(SLIBNAME_WITH_VERSION) \
- $(libdir)/$(SLIBNAME)
-endif
-
-install-lib-static: $(LIB)
- install -m 644 $(LIB) "$(libdir)"
-
-install-headers:
- install -m 644 avcodec.h dsputil.h "$(incdir)"
- install -m 644 $(SRC_PATH)/libavcodec.pc "$(libdir)/pkgconfig"
-
-#
-# include dependency files if they exist
-#
-ifneq ($(wildcard .depend),)
-include .depend
-endif
diff --git a/libavcodec/libpostproc/Makefile b/libavcodec/libpostproc/Makefile
index e34ac73c40..00e4033cea 100644
--- a/libavcodec/libpostproc/Makefile
+++ b/libavcodec/libpostproc/Makefile
@@ -1,81 +1,28 @@
include ../../config.mak
-VPATH=$(SRC_PATH)/libavcodec/libpostproc
-
# Overload incdir, postproc include files go in a different directory.
incdir=$(prefix)/include/postproc
NAME=postproc
+SUBDIR=libavcodec/libpostproc
ifeq ($(BUILD_SHARED),yes)
LIBVERSION=$(SPPVERSION)
LIBMAJOR=$(SPPMAJOR)
endif
-OBJS=postprocess.o
-SOBJS=postprocess_pic.o
-
-CFLAGS = $(OPTFLAGS) $(MLIB_INC) -I. -I.. $(EXTRA_INC)
-# -I/usr/X11R6/include/
-
-.SUFFIXES: .c .o
-
-# .PHONY: all clean
+STATIC_OBJS=postprocess.o
+SHARED_OBJS=postprocess_pic.o
-.c.o:
- $(CC) -c $(CFLAGS) $(LIBOBJFLAGS) -I$(SRC_PATH)/libavcodec -I../.. -o $@ $<
+HEADERS = postprocess.h
-all: $(SWSLIB) $(LIB) $(SLIBNAME)
-
-clean:
- rm -f *.o *.d *~ *.a *.lib *.so *.dylib *.dll
-
-distclean: clean
- rm -f .depend
-
-dep: depend
+CFLAGS = $(OPTFLAGS) $(MLIB_INC) -I. -I.. -I$(SRC_PATH)/libavcodec -I../.. $(EXTRA_INC)
+# -I/usr/X11R6/include/
-depend:
- $(CC) -MM $(CFLAGS) postprocess.c 1>.depend
+include $(SRC_PATH)/common.mak
ifeq ($(BUILD_SHARED),yes)
postprocess_pic.o: postprocess.c
$(CC) -c $(CFLAGS) -fomit-frame-pointer -fPIC -DPIC -I.. -I../.. -o $@ $<
-
-$(SLIBNAME): $(SOBJS)
- $(CC) $(SHFLAGS) -o $(SLIBNAME) $(SOBJS)
-endif
-
-$(LIB): $(OBJS)
- rm -f $@
- $(AR) rc $@ $(OBJS)
- $(RANLIB) $@
-
-
-install-lib-shared: $(SLIBNAME)
-ifeq ($(CONFIG_WIN32),yes)
- install $(INSTALLSTRIP) -m 755 $(SLIBNAME) "$(prefix)"
-else
- install $(INSTALLSTRIP) -m 755 $(SLIBNAME) \
- $(libdir)/$(SLIBNAME_WITH_VERSION)
- ln -sf $(SLIBNAME_WITH_VERSION) \
- $(libdir)/$(SLIBNAME_WITH_MAJOR)
- ln -sf $(SLIBNAME_WITH_VERSION) \
- $(libdir)/$(SLIBNAME)
endif
-install-lib-static: $(LIB)
- install -m 644 $(LIB) "$(libdir)"
-
-install-headers:
- install -d "$(incdir)"
- install -m 644 postprocess.h "$(incdir)/postprocess.h"
- install -m 644 $(SRC_PATH)/libpostproc.pc "$(libdir)/pkgconfig"
-
-
-#
-# include dependency files if they exist
-#
-ifneq ($(wildcard .depend),)
-include .depend
-endif
diff --git a/libavformat/Makefile b/libavformat/Makefile
index 381b04642a..27079df9ca 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -4,17 +4,12 @@
#
include ../config.mak
-VPATH=$(SRC_PATH)/libavformat
-
CFLAGS=$(OPTFLAGS) -I.. -I$(SRC_PATH) -I$(SRC_PATH)/libavutil -I$(SRC_PATH)/libavcodec -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE
-#FIXME: This should be in configure/config.mak
-ifeq ($(CONFIG_WIN32),yes)
- LDFLAGS=-Wl,--output-def,$(@:.dll=.def),--out-implib,lib$(SLIBNAME:$(SLIBSUF)=.dll.a)
-endif
-
OBJS= utils.o cutils.o os_support.o allformats.o
-PPOBJS=
+CPPOBJS=
+
+HEADERS = avformat.h avio.h rtp.h rtsp.h rtspcodes.h
# demuxers
OBJS+=mpeg.o mpegts.o mpegtsenc.o ffm.o crc.o img.o img2.o raw.o rm.o \
@@ -71,10 +66,10 @@ ifeq ($(CONFIG_AUDIO_OSS),yes)
OBJS+= audio.o
endif
-EXTRALIBS += -L../libavutil -lavutil$(BUILDSUF)
+EXTRALIBS += -L../libavutil -lavutil$(BUILDSUF) -lavcodec$(BUILDSUF) -L../libavcodec
ifeq ($(CONFIG_AUDIO_BEOS),yes)
-PPOBJS+= beosaudio.o
+CPPOBJS+= beosaudio.o
endif
# protocols I/O
@@ -95,72 +90,11 @@ ifeq ($(CONFIG_LIBOGG),yes)
OBJS+= ogg.o
endif
-ifeq ($(TARGET_ARCH_SPARC64),yes)
-CFLAGS+= -mcpu=ultrasparc -mtune=ultrasparc
-endif
-
NAME=avformat
+SUBDIR=libavformat
ifeq ($(BUILD_SHARED),yes)
LIBVERSION=$(LAVFVERSION)
LIBMAJOR=$(LAVFMAJOR)
-AVCLIBS+=-lavcodec$(BUILDSUF) -L../libavcodec -lavutil$(BUILDSUF) -L../libavutil
-endif
-
-SRCS := $(OBJS:.o=.c) $(PPOBJS:.o=.cpp)
-
-all: $(LIB) $(SLIBNAME)
-
-$(LIB): $(OBJS) $(PPOBJS)
- rm -f $@
- $(AR) rc $@ $(OBJS) $(PPOBJS)
- $(RANLIB) $@
-
-$(SLIBNAME): $(OBJS)
- $(CC) $(SHFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(PPOBJS) $(AVCLIBS) $(EXTRALIBS)
-ifeq ($(CONFIG_WIN32),yes)
- -lib /machine:i386 /def:$(@:.dll=.def)
-endif
-
-depend: $(SRCS)
- $(CC) -MM $(CFLAGS) $^ 1>.depend
-
-
-install-lib-shared: $(SLIBNAME)
-ifeq ($(CONFIG_WIN32),yes)
- install $(INSTALLSTRIP) -m 755 $(SLIBNAME) "$(prefix)"
-else
- install $(INSTALLSTRIP) -m 755 $(SLIBNAME) \
- $(libdir)/$(SLIBNAME_WITH_VERSION)
- ln -sf $(SLIBNAME_WITH_VERSION) \
- $(libdir)/$(SLIBNAME_WITH_MAJOR)
- ln -sf $(SLIBNAME_WITH_VERSION) \
- $(libdir)/$(SLIBNAME)
endif
-install-lib-static: $(LIB)
- install -m 644 $(LIB) "$(libdir)"
-
-install-headers:
- install -m 644 avformat.h avio.h rtp.h rtsp.h rtspcodes.h "$(incdir)"
- install -m 644 $(SRC_PATH)/libavformat.pc "$(libdir)/pkgconfig"
-
-%.o: %.c
- $(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $<
-
-# BeOS: remove -Wall to get rid of all the "multibyte constant" warnings
-%.o: %.cpp
- g++ $(subst -Wall,,$(CFLAGS)) -c -o $@ $<
-
-clean:
- rm -f *.o *.d *~ *.a *.lib *.so *.dylib *.dll \
- *.lib *.def *.dll.a *.exp
-
-distclean: clean
- rm -f .depend
-
-#
-# include dependency files if they exist
-#
-ifneq ($(wildcard .depend),)
-include .depend
-endif
+include $(SRC_PATH)/common.mak
diff --git a/libavutil/Makefile b/libavutil/Makefile
index 6f3ecd9dca..cd7f558ac2 100644
--- a/libavutil/Makefile
+++ b/libavutil/Makefile
@@ -3,8 +3,6 @@
#
include ../config.mak
-VPATH=$(SRC_PATH)/libavutil
-
# NOTE: -I.. is needed to include config.h
CFLAGS=$(OPTFLAGS) -DHAVE_AV_CONFIG_H -DBUILD_AVUTIL -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE
@@ -18,71 +16,18 @@ OBJS= mathematics.o \
rational.o \
intfloat_readwrite.o \
+HEADERS = avutil.h common.h mathematics.h integer.h rational.h \
+ intfloat_readwrite.h
ifeq ($(TARGET_ARCH_SPARC64),yes)
CFLAGS+= -mcpu=ultrasparc -mtune=ultrasparc
endif
-SRCS := $(OBJS:.o=.c)
-
NAME=avutil
+SUBDIR = libavutil
ifeq ($(BUILD_SHARED),yes)
LIBVERSION=$(LAVUVERSION)
LIBMAJOR=$(LAVUMAJOR)
endif
-all: $(LIB) $(SLIBNAME)
-
-$(LIB): $(OBJS)
- rm -f $@
- $(AR) rc $@ $(OBJS)
- $(RANLIB) $@
-
-$(SLIBNAME): $(OBJS)
- $(CC) $(SHFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(EXTRALIBS) $(AMREXTRALIBS)
-ifeq ($(CONFIG_WIN32),yes)
- -lib /machine:i386 /def:$(@:.dll=.def)
-endif
-
-%.o: %.c
- $(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $<
-
-depend: $(SRCS)
- $(CC) -MM $(CFLAGS) $^ 1>.depend
-
-dep: depend
-
-clean:
- rm -f *.o *.d *~ *.a *.lib *.so *.dylib *.dll \
- *.lib *.def *.dll.a *.exp
-
-distclean: clean
- rm -f .depend
-
-
-install-lib-shared: $(SLIBNAME)
-ifeq ($(CONFIG_WIN32),yes)
- install $(INSTALLSTRIP) -m 755 $(SLIBNAME) "$(prefix)"
-else
- install $(INSTALLSTRIP) -m 755 $(SLIBNAME) \
- $(libdir)/$(SLIBNAME_WITH_VERSION)
- ln -sf $(SLIBNAME_WITH_VERSION) \
- $(libdir)/$(SLIBNAME_WITH_MAJOR)
- ln -sf $(SLIBNAME_WITH_VERSION) \
- $(libdir)/$(SLIBNAME)
-endif
-
-install-lib-static: $(LIB)
- install -m 644 $(LIB) "$(libdir)"
-
-install-headers:
- install -m 644 avutil.h common.h mathematics.h integer.h \
- rational.h intfloat_readwrite.h "$(incdir)"
- install -m 644 $(SRC_PATH)/libavutil.pc "$(libdir)/pkgconfig"
-
-#
-# include dependency files if they exist
-#
-ifneq ($(wildcard .depend),)
-include .depend
-endif
+include $(SRC_PATH)/common.mak