+CFLAGS += -I../..
-TARGET = ../libmltgtk2.so
+LDFLAGS += -L../../framework -lmlt -lpthread -lm
-OBJS = factory.o \
- producer_pixbuf.o \
- producer_pango.o \
- pixops.o \
- filter_rescale.o
+include ../../../config.mak
+include config.mak
-ASM_OBJS = have_mmx.o \
- scale_line_22_yuv_mmx.o
+TARGET = ../libmltgtk2$(LIBSUF)
-CFLAGS = -O3 -DUSE_MMX `pkg-config gdk-pixbuf-2.0 --cflags` `pkg-config pangoft2 --cflags` -I../../ -Wall -g -D_FILE_OFFSET_BITS=64 -pthread
+OBJS = factory.o
-LDFLAGS = `pkg-config gdk-pixbuf-2.0 --libs` `pkg-config pangoft2 --libs`
+ifdef USE_GTK2
+OBJS += consumer_gtk2.o
+CFLAGS += `pkg-config $(PKGCONFIG_PREFIX) --cflags gtk+-2.0`
+LDFLAGS += `pkg-config $(PKGCONFIG_PREFIX) --libs gtk+-2.0`
+endif
+
+ifdef USE_PIXBUF
+OBJS += producer_pixbuf.o pixops.o filter_rescale.o
+CFLAGS += `pkg-config $(PKGCONFIG_PREFIX) --cflags gdk-pixbuf-2.0`
+LDFLAGS += `pkg-config $(PKGCONFIG_PREFIX) --libs gdk-pixbuf-2.0`
+endif
+
+ifdef USE_EXIF
+CFLAGS += $(EXIFCXXFLAGS)
+LDFLAGS += $(EXIFLIBS)
+endif
+
+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 += `pkg-config $(PKGCONFIG_PREFIX) --cflags pangoft2`
+LDFLAGS += `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)
all: $(TARGET)
$(TARGET): $(OBJS) $(ASM_OBJS)
- $(CC) -shared -o $@ $(OBJS) $(ASM_OBJS) $(LDFLAGS)
+ $(CC) $(SHFLAGS) -o $@ $(OBJS) $(ASM_OBJS) $(LDFLAGS)
have_mmx.o:
$(CC) -o $@ -c have_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) "$(DESTDIR)$(moduledir)"
+ install -d "$(DESTDIR)$(mltdatadir)/gtk2"
+ install -m 644 *.yml "$(DESTDIR)$(mltdatadir)/gtk2"
+
ifneq ($(wildcard .depend),)
include .depend
endif