added uninstall make targets
[melted] / src / miracle / Makefile
index b3ee775..7fa8a29 100644 (file)
@@ -2,6 +2,16 @@ include ../../config.mak
 
 TARGET = miracle
 
+ifneq ($(targetos), Darwin)
+LIBNAME = libmiracle$(LIBSUF)
+LIBTARGET = $(LIBNAME).$(version)
+SHFLAGS += -Wl,-soname,$(LIBTARGET)
+else
+LIBNAME = libmiracle$(LIBSUF)
+LIBTARGET = libmiracle.$(version)$(LIBSUF)
+SHFLAGS += -install_name $(libdir)/$(LIBTARGET)
+endif
+
 APP_OBJS = miracle.o
 
 LIB_OBJS = miracle_log.o \
@@ -26,28 +36,36 @@ SRCS := $(OBJS:.o=.c)
 
 all:           $(TARGET)
 
-$(TARGET):     $(APP_OBJS) libmiracle$(LIBSUF)
+$(TARGET):     $(APP_OBJS) $(LIBTARGET)
                        $(CC) -o $@ $(APP_OBJS) -L. -lmiracle $(LDFLAGS)
 
-libmiracle$(LIBSUF):   $(LIB_OBJS)
+$(LIBTARGET):  $(LIB_OBJS)
                        $(CC) $(SHFLAGS) -o $@ $(LIB_OBJS) $(LDFLAGS)
+                       ln -sf $(LIBTARGET) $(LIBNAME)
 
 depend:                $(SRCS)
                        $(CC) -MM $(CFLAGS) $^ 1>.depend
 
-dist-clean:    clean
+distclean:     clean
                        rm -f .depend
 
 clean: 
-                       rm -f $(OBJS) $(TARGET) libmiracle$(LIBSUF)
+                       rm -f $(OBJS) $(TARGET) $(LIBNAME) $(LIBTARGET)
 
 install:       all
        install -d "$(DESTDIR)$(bindir)"
        install -c -s -m 755 $(TARGET) "$(DESTDIR)$(bindir)"
-       install -m 755 libmiracle$(LIBSUF) $(DESTDIR)$(prefix)/lib/libmiracle$(LIBSUF)
+       install -m 755 $(LIBTARGET) $(DESTDIR)$(libdir)
+       ln -sf $(LIBTARGET) $(DESTDIR)$(libdir)/$(LIBNAME)
        mkdir -p "$(DESTDIR)$(prefix)/include/mlt/miracle"
        install -m 644 $(INCS) "$(DESTDIR)$(prefix)/include/mlt/miracle"
 
+uninstall:
+       rm -f "$(DESTDIR)$(bindir)/$(TARGET)"
+       rm -f "$(DESTDIR)$(libdir)/$(LIBTARGET)"
+       rm -f "$(DESTDIR)$(libdir)/$(LIBNAME)"
+       rm -rf "$(DESTDIR)$(prefix)/include/mlt/miracle"
+
 ifneq ($(wildcard .depend),)
 include .depend
 endif