### RtAudio library Makefile
RM = /bin/rm
+LN = /bin/ln
OBJECTS = RtAudio.o @objects@
-LIBRARY = librtaudio.a
+LIBNAME = librtaudio
+STATIC = $(LIBNAME).a
+SHARED = @sharedlib@
+RELEASE = 4.0.12
+MAJOR = 4
+LIBRARIES = $(STATIC) $(SHARED)
CC = @CXX@
AR = @AR@
RANLIB = @RANLIB@
-DEFS = @debug@
-DEFS += @audio_apis@
-CFLAGS = @cflags@ -Iinclude
-CFLAGS += @warn@
+DEFS = @CPPFLAGS@
+CFLAGS = @CXXFLAGS@ -Iinclude -fPIC
-all : $(LIBRARY)
+PREFIX = @prefix@
+
+all : $(LIBRARIES)
tests:
cd tests && $(MAKE) all
-$(LIBRARY): $(OBJECTS)
- $(AR) ruv $(LIBRARY) $(OBJECTS)
- ranlib $(LIBRARY)
+$(LIBRARIES): $(OBJECTS)
+ $(AR) ruv $(STATIC) $(OBJECTS)
+ ranlib $(STATIC)
+ $(CC) -fPIC @libflags@ $(OBJECTS) @LIBS@
+ $(LN) -sf @sharedname@ $(SHARED)
+ $(LN) -sf @sharedname@ $(SHARED).$(MAJOR)
%.o : %.cpp
$(CC) $(CFLAGS) $(DEFS) -c $(<) -o $@
%.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 $(LIBRARY)
- -rm -f $(OBJECTS)
- -rm -f *~
+ $(RM) -f $(LIBRARIES) @sharedname@ $(SHARED)*
+ $(RM) -f $(OBJECTS)
+ $(RM) -f *~
cd tests && $(MAKE) clean
-distclean: clean
- -rm -rf config.log autom4te.cache Makefile rtaudio-config
+distclean:
+ $(RM) -f $(LIBRARIES) @sharedname@ $(SHARED)*
+ $(RM) -f $(OBJECTS)
+ $(RM) -f *~
+ $(RM) -rf config.log config.status autom4te.cache Makefile rtaudio-config $(LIBNAME).pc
cd tests && $(MAKE) distclean
strip :
- strip $(LIBRARY)
- ranlib $(LIBRARY)
+ strip $(LIBRARIES)
+ ranlib $(LIBRARIES)
cd tests && $(MAKE) strip
+
+.PHONY: clean distclean strip install uninstall