Support "install" and "uninstall" targets, and support --prefix configure option.
[rtaudio-cdist.git] / Makefile.in
index c2cdcb1ac458a7a0ea1be5446f53aae77287f6aa..5f41cc5c6cd0879894b53e4ba9e3f462d290181d 100644 (file)
@@ -6,9 +6,10 @@ LN = /bin/ln
 
 OBJECTS        = RtAudio.o @objects@
 
-STATIC = librtaudio.a
+LIBNAME = librtaudio
+STATIC = $(LIBNAME).a
 SHARED = @sharedlib@
-RELEASE = 4.0.11
+RELEASE = 4.0.12
 MAJOR = 4
 LIBRARIES = $(STATIC) $(SHARED)
 
@@ -19,6 +20,8 @@ RANLIB   = @RANLIB@
 DEFS     = @CPPFLAGS@
 CFLAGS   = @CXXFLAGS@ -Iinclude -fPIC
 
+PREFIX   = @prefix@
+
 all : $(LIBRARIES)
 
 tests:
@@ -28,9 +31,8 @@ $(LIBRARIES): $(OBJECTS)
        $(AR) ruv $(STATIC) $(OBJECTS)
        ranlib $(STATIC)
        $(CC) -fPIC @libflags@ $(OBJECTS) @LIBS@
-       $(LN) -s @sharedname@ $(SHARED)
-
-#      $(CC) -shared $(OBJECTS) -o $(SHARED) @LIBS@
+       $(LN) -sf @sharedname@ $(SHARED)
+       $(LN) -sf @sharedname@ $(SHARED).$(MAJOR)
 
 %.o : %.cpp
        $(CC) $(CFLAGS) $(DEFS) -c $(<) -o $@
@@ -38,6 +40,18 @@ $(LIBRARIES): $(OBJECTS)
 %.o : include/%.cpp
        $(CC) $(CFLAGS) $(DEFS) -c $(<) -o $@
 
+install:
+       install --mode=755 $(STATIC) $(PREFIX)/lib/
+       install --mode=755 @sharedname@ $(PREFIX)/lib/
+       $(LN) -sf @sharedname@ $(PREFIX)/lib/$(SHARED)
+       $(LN) -sf @sharedname@ $(PREFIX)/lib/$(SHARED).$(MAJOR)
+       install --mode=644 $(LIBNAME).pc $(PREFIX)/lib/pkgconfig
+       install --mode=644 RtAudio.h RtError.h $(PREFIX)/include/
+
+uninstall:
+       -@rm -vf $(patsubst %,$(PREFIX)/lib/%, $(LIBRARIES) $(SHARED).$(MAJOR) $(SHARED).$(RELEASE))
+       -@rm -vf $(PREFIX)/lib/pkgconfig/$(LIBNAME).pc
+
 clean : 
        $(RM) -f $(LIBRARIES) @sharedname@ $(SHARED)*
        $(RM) -f $(OBJECTS)
@@ -48,10 +62,12 @@ distclean:
        $(RM) -f $(LIBRARIES) @sharedname@ $(SHARED)*
        $(RM) -f $(OBJECTS)
        $(RM) -f *~
-       $(RM) -rf config.log config.status autom4te.cache Makefile rtaudio-config
+       $(RM) -rf config.log config.status autom4te.cache Makefile rtaudio-config $(LIBNAME).pc
        cd tests && $(MAKE) distclean
 
 strip : 
        strip $(LIBRARIES)
        ranlib $(LIBRARIES)
        cd tests && $(MAKE) strip
+
+.PHONY: clean distclean strip install uninstall