diff options
author | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2006-12-02 01:19:48 +0000 |
---|---|---|
committer | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2006-12-02 01:19:48 +0000 |
commit | 0ea721f7ce81357bc4ec6eea609cd50482c3d15b (patch) | |
tree | 25a0871cb3c06f9716acf9c204192d548f214048 /contrib/ffmpeg/common.mak | |
parent | d8ec380876e7f697ba609546d61757ab3f2d8715 (diff) | |
download | xine-lib-0ea721f7ce81357bc4ec6eea609cd50482c3d15b.tar.gz xine-lib-0ea721f7ce81357bc4ec6eea609cd50482c3d15b.tar.bz2 |
Start working on a branch where FFmpeg is not copied, patched and carved to be built with automake but instead imported inline and built using its own build system. This is an import of a slightly modified FFmpeg current tree. xine-lib builds, install and run fine with it, but there are of course plenty of things that needs to be fixed before it can even be considered for a 1.2.x series. Work will continue in the next days of course.
CVS patchset: 8397
CVS date: 2006/12/02 01:19:48
Diffstat (limited to 'contrib/ffmpeg/common.mak')
-rw-r--r-- | contrib/ffmpeg/common.mak | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/contrib/ffmpeg/common.mak b/contrib/ffmpeg/common.mak new file mode 100644 index 000000000..d4a8dca41 --- /dev/null +++ b/contrib/ffmpeg/common.mak @@ -0,0 +1,100 @@ +# +# common bits used by all libraries +# + +VPATH = $(SRC_PATH_BARE)/lib$(NAME) +SRC_DIR = "$(VPATH)" + +CFLAGS += -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \ + -D_ISOC9X_SOURCE -I$(BUILD_ROOT) -I$(SRC_PATH) \ + -I$(SRC_PATH)/libavutil $(OPTFLAGS) +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: $(EXTRADEPS) $(LIB) $(SLIBNAME) + +$(LIB): $(STATIC_OBJS) + rm -f $@ + $(AR) rc $@ $^ $(EXTRAOBJS) + $(RANLIB) $@ + +$(SLIBNAME): $(SLIBNAME_WITH_MAJOR) + ln -sf $^ $@ + +$(SLIBNAME_WITH_MAJOR): $(SHARED_OBJS) + $(CC) $(SHFLAGS) $(LDFLAGS) -o $@ $^ $(EXTRALIBS) $(EXTRAOBJS) + $(SLIB_EXTRA_CMD) + +%.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 $@ $< + +%: %.o $(LIB) + $(CC) $(LDFLAGS) -o $@ $^ $(EXTRALIBS) + +depend dep: $(SRCS) + $(CC) -MM $(CFLAGS) $^ 1>.depend + +clean:: + rm -f *.o *.d *~ *.a *.lib *.so *.so.* *.dylib *.dll \ + *.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) + install -d "$(shlibdir)" + install $(INSTALLSTRIP) -m 755 $(SLIBNAME) \ + "$(shlibdir)/$(SLIBNAME_WITH_VERSION)" + cd "$(shlibdir)" && \ + ln -sf $(SLIBNAME_WITH_VERSION) $(SLIBNAME_WITH_MAJOR) + cd "$(shlibdir)" && \ + ln -sf $(SLIBNAME_WITH_VERSION) $(SLIBNAME) + +install-lib-static: $(LIB) + install -d "$(libdir)" + install -m 644 $(LIB) "$(libdir)" + $(LIB_INSTALL_EXTRA_CMD) + +install-headers: + install -d "$(incdir)" + install -d "$(libdir)/pkgconfig" + install -m 644 $(addprefix $(SRC_DIR)/,$(HEADERS)) "$(incdir)" + install -m 644 $(BUILD_ROOT)/lib$(NAME).pc "$(libdir)/pkgconfig" + +uninstall: uninstall-libs uninstall-headers + +uninstall-libs: + -rm -f "$(shlibdir)/$(SLIBNAME_WITH_MAJOR)" \ + "$(shlibdir)/$(SLIBNAME)" \ + "$(shlibdir)/$(SLIBNAME_WITH_VERSION)" + -rm -f "$(libdir)/$(LIB)" + +uninstall-headers: + rm -f $(addprefix "$(incdir)/",$(HEADERS)) + rm -f "$(libdir)/pkgconfig/lib$(NAME).pc" + +.PHONY: all depend dep clean distclean install* uninstall* + +ifneq ($(wildcard .depend),) +include .depend +endif |