include ../../config.mak
-TARGET = libmlt.so
+NAME = libmlt$(LIBSUF)
+TARGET = $(NAME).$(version)
+
+ifneq ($(targetos), Darwin)
+NAME = libmlt$(LIBSUF)
+TARGET = $(NAME).$(version)
+SONAME = $(NAME).$(soversion)
+SHFLAGS += -Wl,-soname,$(SONAME)
+else
+NAME = libmlt$(LIBSUF)
+TARGET = libmlt.$(version)$(LIBSUF)
+SONAME = libmlt.$(soversion)$(LIBSUF)
+SHFLAGS += -install_name $(libdir)/$(SONAME) -current_version $(version) -compatibility_version $(soversion)
+endif
OBJS = mlt_frame.o \
mlt_geometry.o \
mlt_factory.o \
mlt_repository.o \
mlt_pool.o \
- mlt_tokeniser.o
+ mlt_tokeniser.o \
+ mlt_profile.o
INCS = mlt_consumer.h \
mlt_factory.h \
mlt_property.h \
mlt_service.h \
mlt_transition.h \
- mlt_tokeniser.h
+ mlt_tokeniser.h \
+ mlt_profile.h
SRCS := $(OBJS:.o=.c)
-CFLAGS += -rdynamic -DPREFIX="\"$(prefix)\""
+CFLAGS += $(RDYNAMIC) -DPREFIX="\"$(prefix)\"" -DLIBDIR="\"$(libdir)\""
LDFLAGS += -lm $(LIBDL) -lpthread
all: $(TARGET)
$(TARGET): $(OBJS)
- $(CC) -shared -o $@ $(OBJS) $(LDFLAGS)
+ $(CC) $(SHFLAGS) -o $@ $(OBJS) $(LDFLAGS)
+ ln -sf $(TARGET) $(NAME)
+ ln -sf $(TARGET) $(SONAME)
depend: $(SRCS)
- $(CC) -MM $(CFLAGS) $^ 1>.depend
+ $(CC) -MM $(CFLAGS) $^ 1>.depend
-dist-clean: clean
+distclean: clean
rm -f .depend
clean:
- rm -f $(OBJS) $(TARGET)
+ rm -f $(OBJS) $(TARGET) $(NAME)
install:
- install -m 755 $(TARGET) $(prefix)/lib/libmlt.so
- install -d "$(prefix)/include/mlt/framework"
- install -m 644 $(INCS) "$(prefix)/include/mlt/framework"
+ install -d $(DESTDIR)$(libdir)
+ install -m 755 $(TARGET) $(DESTDIR)$(libdir)
+ ln -sf $(TARGET) $(DESTDIR)$(libdir)/$(SONAME)
+ ln -sf $(TARGET) $(DESTDIR)$(libdir)/$(NAME)
+ install -d "$(DESTDIR)$(prefix)/include/mlt/framework"
+ install -m 644 $(INCS) "$(DESTDIR)$(prefix)/include/mlt/framework"
+ install -d "$(DESTDIR)$(prefix)/share/mlt"
+ install -m 644 metaschema.yaml "$(DESTDIR)$(prefix)/share/mlt/"
+
+uninstall:
+ rm -f "$(DESTDIR)$(libdir)/$(TARGET)"
+ rm -f "$(DESTDIR)$(libdir)/$(SONAME)"
+ rm -f "$(DESTDIR)$(libdir)/$(NAME)"
+ rm -rf "$(DESTDIR)$(prefix)/include/mlt/framework"
+ rm "$(DESTDIR)$(prefix)/share/mlt/metaschema.yaml"
ifneq ($(wildcard .depend),)
include .depend