]> git.sesse.net Git - mlt/blobdiff - src/modules/avformat/Makefile
Initial port to Windows using MinGW.
[mlt] / src / modules / avformat / Makefile
index ce4259c9eed70638ec21214644287fe2b5d909b9..30d8f401d0ad63f21fd1fda2f7d0cdcf79abd354 100644 (file)
@@ -1,56 +1,97 @@
+CFLAGS += -I../..
+LDFLAGS += -L../../framework -lmlt -lpthread
+
 include ../../../config.mak
 include config.mak
 
+LDFLAGS += -lavformat$(AVFORMAT_SUFFIX)
+LDFLAGS += -lavcodec$(AVFORMAT_SUFFIX)
+LDFLAGS += -lavutil$(AVFORMAT_SUFFIX)
+LDFLAGS += $(EXTRA_LIBS)
+
+ifndef CODECS
+TARGET = ../libmltffmpeg$(LIBSUF)
+else
 TARGET = ../libmltavformat$(LIBSUF)
+endif
 
-OBJS = factory.o \
-          producer_avformat.o \
-          consumer_avformat.o \
-          filter_avcolour_space.o \
-          filter_avresample.o
+OBJS = factory.o
 
-ifdef MMX_FLAGS
-       OBJS += filter_avdeinterlace.o
+ifdef FILTERS
+OBJS += filter_avcolour_space.o \
+           filter_avresample.o \
+           filter_avdeinterlace.o
+ifdef SWSCALE
+OBJS += filter_swscale.o
+endif
+CFLAGS += -DFILTERS
 endif
 
-CFLAGS+=-I../..
+ifdef VDPAU
+CFLAGS += -DVDPAU `pkg-config --cflags x11`
+LDFLAGS += $(LIBDL) `pkg-config --libs x11`
+endif
 
-LDFLAGS+=-L../../framework
+ifdef CODECS
+OBJS += producer_avformat.o \
+           consumer_avformat.o
+CFLAGS += -DCODECS
+endif
 
-LDFLAGS+=-lavformat$(AVFORMAT_SUFFIX) -lavcodec$(AVFORMAT_SUFFIX) -lavutil$(AVFORMAT_SUFFIX) $(EXTRA_LIBS) -lmlt
+ifdef SWSCALE
+CFLAGS += -DSWSCALE
+LDFLAGS += -lswscale$(AVFORMAT_SUFFIX)
+endif
+
+ifdef DEVICES
+CFLAGS += -DAVDEVICE
+LDFLAGS += -lavdevice$(AVFORMAT_SUFFIX)
+endif
+
+ifdef LOCAL_FFMPEG
+LOCAL_FFMPEG_OBJS = ffmpeg/libavformat/libavformat$(AVFORMAT_SUFFIX) \
+                    ffmpeg/libavcodec/libavcodec$(AVFORMAT_SUFFIX) \
+                    ffmpeg/libavutil/libavutil$(AVFORMAT_SUFFIX)
+endif
 
 SRCS := $(OBJS:.o=.c)
 
+ifeq ($(targetos), MinGW)
+OBJS += ../../win32/win32.o
+SRCS += ../../win32/win32.c
+endif
+
 all:   $(TARGET)
 
-$(TARGET): $(OBJS)
-               if [ $(LOCAL_FFMPEG) ] ; then \
-                       $(MAKE) -C ffmpeg all ; \
-                       cp -f ffmpeg/libavcodec/libavcodec$(AVFORMAT_SUFFIX)$(LIBSUF) ../../framework/libavcodec$(AVFORMAT_SUFFIX)$(LIBSUF) ; \
-                       cp -f ffmpeg/libavformat/libavformat$(AVFORMAT_SUFFIX)$(LIBSUF) ../../framework/libavformat$(AVFORMAT_SUFFIX)$(LIBSUF) ; \
-                       cp -f ffmpeg/libavutil/libavutil$(AVFORMAT_SUFFIX)$(LIBSUF) ../../framework/libavutil$(AVFORMAT_SUFFIX)$(LIBSUF) ; \
-               fi
-               $(CC) $(SHFLAGS) -o $@ $(OBJS) $(LDFLAGS)
+$(LOCAL_FFMPEG_OBJS):
+       if [ $(LOCAL_FFMPEG) ] ; then \
+               $(MAKE) -C ffmpeg ffmpeg ; \
+       fi
+
+$(TARGET): $(OBJS) $(LOCAL_FFMPEG_OBJS)
+       $(CC) $(SHFLAGS) -o $@ $(OBJS) $(LDFLAGS)
 
 depend:        $(SRCS)
-               if [ $(LOCAL_FFMPEG) ] ; then $(MAKE) -C ffmpeg dep ; fi
-               $(CC) -MM $(CFLAGS) $^ 1>.depend
+       #if [ $(LOCAL_FFMPEG) ] ; then $(MAKE) -C ffmpeg dep ; fi
+       $(CC) -MM $(CFLAGS) $^ 1>.depend
 
-dist-clean:    clean
-               if [ $(LOCAL_FFMPEG) ] ; then $(MAKE) -C ffmpeg dist-clean ; fi
-               rm -f .depend
+distclean:     clean
+       rm -f .depend
+       if [ $(LOCAL_FFMPEG) ] ; then $(MAKE) -C ffmpeg distclean ; fi
 
 clean: 
-               #if [ $(LOCAL_FFMPEG) ] ; then $(MAKE) -C ffmpeg clean ; fi
-               rm -f ../../framework/libavcodec$(AVFORMAT_SUFFIX)$(LIBSUF) ../../framework/libavformat$(AVFORMAT_SUFFIX)$(LIBSUF) ../../framework/libavutil$(AVFORMAT_SUFFIX)$(LIBSUF) $(OBJS) $(TARGET) 
+       #if [ $(LOCAL_FFMPEG) ] ; then $(MAKE) -C ffmpeg clean ; fi
+       rm -f $(OBJS) ../libmltffmpeg$(LIBSUF) ../libmltavformat$(LIBSUF)
 
 install: all
-               install -m 755 $(TARGET) "$(prefix)/share/mlt/modules"
-               if [ $(LOCAL_FFMPEG) ] ; then \
-                       install -m 755 ../../framework/libavcodec$(AVFORMAT_SUFFIX)$(LIBSUF) "$(prefix)/lib" ; \
-                       install -m 755 ../../framework/libavformat$(AVFORMAT_SUFFIX)$(LIBSUF) "$(prefix)/lib" ; \
-                       install -m 755 ../../framework/libavutil$(AVFORMAT_SUFFIX)$(LIBSUF) "$(prefix)/lib" ; \
-               fi
+       install -m 755 $(TARGET) "$(DESTDIR)$(libdir)/mlt"
+       install -d "$(DESTDIR)$(datadir)/mlt/avformat"
+       install -m 644 producer_avformat.yml "$(DESTDIR)$(datadir)/mlt/avformat"
+
+uninstall:
+       rm "$(DESTDIR)$(libdir)/mlt/libmltavformat$(LIBSUF)" 2> /dev/null || true
+       rm "$(DESTDIR)$(libdir)/mlt/libmltffmpeg$(LIBSUF)" 2> /dev/null || true
+       rm -rf "$(DESTDIR)$(datadir)/mlt/avformat"
 
 ifneq ($(wildcard .depend),)
 include .depend