NAME = libmlt$(LIBSUF)
TARGET = $(NAME).$(version)
+ifeq ($(targetos), Darwin)
+NAME = libmlt$(LIBSUF)
+TARGET = libmlt.$(version)$(LIBSUF)
+SONAME = libmlt.$(soversion)$(LIBSUF)
+SHFLAGS += -install_name $(libdir)/$(SONAME) -current_version $(version) -compatibility_version $(soversion)
+else ifeq ($(targetos), MinGW)
+NAME = libmlt$(LIBSUF)
+TARGET = libmlt-$(soversion)$(LIBSUF)
+SHFLAGS += -Wl,--output-def,libmlt.def
+else
+NAME = libmlt$(LIBSUF)
+TARGET = $(NAME).$(version)
+SONAME = $(NAME).$(soversion)
+SHFLAGS += -Wl,-soname,$(SONAME)
+endif
+
OBJS = mlt_frame.o \
+ mlt_version.o \
mlt_geometry.o \
mlt_deque.o \
mlt_property.o \
mlt_factory.o \
mlt_repository.o \
mlt_pool.o \
- mlt_tokeniser.o
+ mlt_tokeniser.o \
+ mlt_profile.o \
+ mlt_log.o \
+ mlt_cache.o
INCS = mlt_consumer.h \
+ mlt_version.h \
mlt_factory.h \
mlt_filter.h \
mlt.h \
mlt_property.h \
mlt_service.h \
mlt_transition.h \
- mlt_tokeniser.h
+ mlt_tokeniser.h \
+ mlt_profile.h \
+ mlt_log.h \
+ mlt_cache.h
SRCS := $(OBJS:.o=.c)
-CFLAGS += $(RDYNAMIC) -DPREFIX="\"$(prefix)\""
+ifeq ($(targetos), MinGW)
+OBJS += ../win32/win32.o
+SRCS += ../win32/win32.c
+endif
+
+CFLAGS += $(RDYNAMIC) -DPREFIX="\"$(prefix)\"" -DLIBDIR="\"$(libdir)\"" -DDATADIR="\"$(datadir)\""
-LDFLAGS += -Wl,-soname,libmlt.so.$(version) -lm $(LIBDL) -lpthread
+LDFLAGS += $(LIBDL) -lpthread
all: $(TARGET)
$(TARGET): $(OBJS)
$(CC) $(SHFLAGS) -o $@ $(OBJS) $(LDFLAGS)
ln -sf $(TARGET) $(NAME)
+ if [ "$(targetos)" != "MinGW" ]; then \
+ ln -sf $(TARGET) $(SONAME) ; \
+ fi
depend: $(SRCS)
$(CC) -MM $(CFLAGS) $^ 1>.depend
rm -f .depend
clean:
- rm -f $(OBJS) $(TARGET) $(NAME)
+ rm -f $(OBJS) $(TARGET) $(NAME) $(SONAME)
install:
install -d $(DESTDIR)$(libdir)
- install -m 755 $(TARGET) $(DESTDIR)$(libdir)
- ln -sf $(TARGET) $(DESTDIR)$(libdir)/$(NAME)
+ if [ "$(targetos)" = "MinGW" ]; then \
+ install -m 755 $(TARGET) $(DESTDIR)$(prefix) ; \
+ install -m 755 $(TARGET) $(DESTDIR)$(libdir)/libmlt.dll ; \
+ install -m 644 libmlt.def $(DESTDIR)$(libdir) ; \
+ else \
+ install -m 755 $(TARGET) $(DESTDIR)$(libdir) ; \
+ ln -sf $(TARGET) $(DESTDIR)$(libdir)/$(SONAME) ; \
+ ln -sf $(TARGET) $(DESTDIR)$(libdir)/$(NAME) ; \
+ fi
install -d "$(DESTDIR)$(prefix)/include/mlt/framework"
install -m 644 $(INCS) "$(DESTDIR)$(prefix)/include/mlt/framework"
+ install -d "$(DESTDIR)$(datadir)/mlt"
+ install -m 644 metaschema.yaml "$(DESTDIR)$(datadir)/mlt/"
+
+uninstall:
+ rm -f "$(DESTDIR)$(libdir)/$(TARGET)"
+ if [ "$(targetos)" != "MinGW" ]; then \
+ rm -f "$(DESTDIR)$(libdir)/$(SONAME)" ; \
+ rm -f "$(DESTDIR)$(libdir)/$(NAME)" ; \
+ fi
+ rm -rf "$(DESTDIR)$(prefix)/include/mlt/framework"
+ rm -f "$(DESTDIR)$(datadir)/mlt/metaschema.yaml"
ifneq ($(wildcard .depend),)
include .depend