]> git.sesse.net Git - mlt/blobdiff - src/modules/gtk2/Makefile
Avoid unnecessary compilation when running "./configure; make; make install" multiple...
[mlt] / src / modules / gtk2 / Makefile
index b04e00af477829cf1dc84f576a0cb0f23b70236a..35d2d97a404d18e25350afd35e6e10c4838b030c 100644 (file)
@@ -1,23 +1,52 @@
+CFLAGS := -I../.. $(CFLAGS)
+
+LDFLAGS += -L../../framework -lmlt -lpthread -lm
+
 include ../../../config.mak
+include config.mak
 
 TARGET = ../libmltgtk2$(LIBSUF)
 
-OBJS = factory.o \
-          consumer_gtk2.o \
-          producer_pixbuf.o \
-          producer_pango.o \
-          pixops.o \
-          filter_rescale.o
+OBJS = factory.o
 
-ifdef MMX_FLAGS
-ASM_OBJS = have_mmx.o scale_line_22_yuv_mmx.o
+ifdef USE_GTK2
+OBJS += consumer_gtk2.o
+CFLAGS += $(shell pkg-config $(PKGCONFIG_PREFIX) --cflags gtk+-2.0)
+LDFLAGS += $(shell pkg-config $(PKGCONFIG_PREFIX) --libs gtk+-2.0)
 endif
 
-CFLAGS += `pkg-config gtk+-2.0 --cflags` `pkg-config gdk-pixbuf-2.0 --cflags` `pkg-config pangoft2 --cflags` -I../..
+ifdef USE_PIXBUF
+OBJS += producer_pixbuf.o pixops.o filter_rescale.o
+CFLAGS += $(shell pkg-config $(PKGCONFIG_PREFIX) --cflags gdk-pixbuf-2.0)
+LDFLAGS += $(shell pkg-config $(PKGCONFIG_PREFIX) --libs gdk-pixbuf-2.0)
+endif
 
-LDFLAGS += `pkg-config gtk+-2.0 --libs` `pkg-config gdk-pixbuf-2.0 --libs` `pkg-config pangoft2 --libs`
+ifdef USE_EXIF
+CFLAGS += $(EXIFCXXFLAGS) 
+LDFLAGS += $(EXIFLIBS)
+endif
 
-LDFLAGS+=-L../../framework -lmlt
+ifdef MMX_FLAGS
+ifndef ARCH_X86_64
+ASM_OBJS = have_mmx.o scale_line_22_yuv_mmx.o
+endif
+endif
+
+ifdef USE_PANGO
+OBJS += producer_pango.o
+CFLAGS += $(shell pkg-config $(PKGCONFIG_PREFIX) --cflags pangoft2)
+CFLAGS += $(shell pkg-config $(PKGCONFIG_PREFIX) --cflags-only-I freetype2 | awk '{for (i=1; i<=NF; i++) $$i=sprintf("%s/freetype", $$i); print}')
+LDFLAGS += $(shell pkg-config $(PKGCONFIG_PREFIX) --libs pangoft2)
+ifeq ($(targetos),Darwin)
+LDFLAGS += -liconv
+endif
+ifeq ($(targetos),FreeBSD)
+LDFLAGS += -liconv
+endif
+ifeq ($(targetos), MinGW)
+LDFLAGS += -liconv
+endif
+endif
 
 SRCS := $(OBJS:.o=.c)
 
@@ -35,14 +64,16 @@ scale_line_22_yuv_mmx.o: scale_line_22_yuv_mmx.S
 depend:        $(SRCS)
                $(CC) -MM $(CFLAGS) $^ 1>.depend
 
-dist-clean:    clean
+distclean:     clean
                rm -f .depend
 
 clean: 
                rm -f $(OBJS) $(ASM_OBJS) $(TARGET)
 
 install: all
-       install -m 755 $(TARGET) "$(prefix)/share/mlt/modules"
+       install -m 755 $(TARGET) "$(DESTDIR)$(moduledir)"
+       install -d "$(DESTDIR)$(mltdatadir)/gtk2"
+       install -m 644 *.yml "$(DESTDIR)$(mltdatadir)/gtk2"
 
 ifneq ($(wildcard .depend),)
 include .depend