# OS/X-specific Makefile for the Rubber Band Library only. # Does not build the Vamp plugin, LADSPA plugin, or command-line utility. CXX := g++ CXXFLAGS := -DHAVE_FFTW3 -DFFTW_DOUBLE_ONLY -DNO_THREAD_CHECKS -DNO_TIMING -DNDEBUG -O3 -arch i386 -msse -msse2 -ffast-math -ftree-vectorize -I../include -I/usr/local/include -Irubberband -I. -Isrc LDFLAGS := -arch i386 -L../lib -L/usr/local/lib # CXX := g++-4.0 # CXXFLAGS := -DHAVE_FFTW3 -DFFTW_DOUBLE_ONLY -DNO_THREAD_CHECKS -DNO_TIMING -DNDEBUG -mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -O3 -arch i386 -msse -msse2 -ffast-math -ftree-vectorize -I../include -I/usr/local/include -Irubberband -I. -Isrc # LDFLAGS := -mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -L../lib -L/usr/local/lib LIBRARY_LIBS := -lsamplerate -lfftw3 -lpthread -lm MKDIR := mkdir AR := ar DYNAMIC_LDFLAGS := -dynamiclib DYNAMIC_EXTENSION := .dylib STATIC_TARGET := lib/librubberband.a DYNAMIC_TARGET := lib/librubberband$(DYNAMIC_EXTENSION) INSTALL_BINDIR := /usr/local/bin INSTALL_INCDIR := /usr/local/include/rubberband INSTALL_LIBDIR := /usr/local/lib INSTALL_PKGDIR := /usr/local/lib/pkgconfig all: bin lib $(STATIC_TARGET) $(DYNAMIC_TARGET) PUBLIC_INCLUDES := \ rubberband/rubberband-c.h \ rubberband/RubberBandStretcher.h LIBRARY_INCLUDES := \ src/StretcherChannelData.h \ src/float_cast/float_cast.h \ src/StretcherImpl.h \ src/StretchCalculator.h \ src/base/Profiler.h \ src/base/RingBuffer.h \ src/base/Scavenger.h \ src/dsp/AudioCurveCalculator.h \ src/dsp/CompoundAudioCurve.h \ src/dsp/ConstantAudioCurve.h \ src/dsp/HighFrequencyAudioCurve.h \ src/dsp/PercussiveAudioCurve.h \ src/dsp/SilentAudioCurve.h \ src/dsp/SpectralDifferenceAudioCurve.h \ src/dsp/Resampler.h \ src/dsp/FFT.h \ src/dsp/MovingMedian.h \ src/dsp/SincWindow.h \ src/dsp/Window.h \ src/system/Allocators.h \ src/system/Thread.h \ src/system/VectorOps.h \ src/system/sysutils.h LIBRARY_SOURCES := \ src/rubberband-c.cpp \ src/RubberBandStretcher.cpp \ src/StretcherProcess.cpp \ src/StretchCalculator.cpp \ src/base/Profiler.cpp \ src/dsp/AudioCurveCalculator.cpp \ src/dsp/CompoundAudioCurve.cpp \ src/dsp/SpectralDifferenceAudioCurve.cpp \ src/dsp/HighFrequencyAudioCurve.cpp \ src/dsp/SilentAudioCurve.cpp \ src/dsp/ConstantAudioCurve.cpp \ src/dsp/PercussiveAudioCurve.cpp \ src/dsp/Resampler.cpp \ src/dsp/FFT.cpp \ src/system/Allocators.cpp \ src/system/sysutils.cpp \ src/system/Thread.cpp \ src/StretcherChannelData.cpp \ src/StretcherImpl.cpp LIBRARY_OBJECTS := $(LIBRARY_SOURCES:.cpp=.o) $(STATIC_TARGET): $(LIBRARY_OBJECTS) rm -f $@ $(AR) rsc $@ $^ $(DYNAMIC_TARGET): $(LIBRARY_OBJECTS) $(CXX) $(DYNAMIC_LDFLAGS) $^ -o $@ $(LIBRARY_LIBS) $(LDFLAGS) bin: $(MKDIR) $@ lib: $(MKDIR) $@ install: all $(MKDIR) -p $(DESTDIR)$(INSTALL_BINDIR) $(MKDIR) -p $(DESTDIR)$(INSTALL_INCDIR) $(MKDIR) -p $(DESTDIR)$(INSTALL_LIBDIR) $(MKDIR) -p $(DESTDIR)$(INSTALL_PKGDIR) cp $(PUBLIC_INCLUDES) $(DESTDIR)$(INSTALL_INCDIR) cp $(STATIC_TARGET) $(DESTDIR)$(INSTALL_LIBDIR) rm -f $(DESTDIR)$(INSTALL_LIBDIR)/$(DYNAMIC_LIBNAME)$(DYNAMIC_ABI_VERSION) rm -f $(DESTDIR)$(INSTALL_LIBDIR)/$(DYNAMIC_LIBNAME) cp $(DYNAMIC_TARGET) $(DESTDIR)$(INSTALL_LIBDIR)/$(DYNAMIC_LIBNAME)$(DYNAMIC_FULL_VERSION) test -n "$(DYNAMIC_FULL_VERSION)" && ln -s $(DYNAMIC_LIBNAME)$(DYNAMIC_FULL_VERSION) $(DESTDIR)$(INSTALL_LIBDIR)/$(DYNAMIC_LIBNAME)$(DYNAMIC_ABI_VERSION) test -n "$(DYNAMIC_FULL_VERSION)" && ln -s $(DYNAMIC_LIBNAME)$(DYNAMIC_FULL_VERSION) $(DESTDIR)$(INSTALL_LIBDIR)/$(DYNAMIC_LIBNAME) sed "s,%PREFIX%,/usr/local," rubberband.pc.in \ > $(DESTDIR)$(INSTALL_PKGDIR)/rubberband.pc clean: rm -f $(LIBRARY_OBJECTS) distclean: clean rm -f $(STATIC_TARGET) $(DYNAMIC_TARGET) depend: makedepend -Y $(LIBRARY_SOURCES) # DO NOT DELETE src/rubberband-c.o: rubberband/rubberband-c.h src/rubberband-c.o: rubberband/RubberBandStretcher.h src/RubberBandStretcher.o: src/StretcherImpl.h src/RubberBandStretcher.o: rubberband/RubberBandStretcher.h src/dsp/Window.h src/dsp/SincWindow.h src/RubberBandStretcher.o: src/dsp/FFT.h src/base/RingBuffer.h src/RubberBandStretcher.o: src/base/Scavenger.h src/system/Thread.h src/RubberBandStretcher.o: src/system/Thread.h src/system/sysutils.h src/StretcherProcess.o: src/StretcherImpl.h rubberband/RubberBandStretcher.h src/StretcherProcess.o: src/dsp/Window.h src/dsp/SincWindow.h src/dsp/FFT.h src/base/RingBuffer.h src/StretcherProcess.o: src/base/Scavenger.h src/system/Thread.h src/StretcherProcess.o: src/system/Thread.h src/system/sysutils.h src/StretcherProcess.o: src/dsp/PercussiveAudioCurve.h src/StretcherProcess.o: src/dsp/AudioCurveCalculator.h src/StretcherProcess.o: src/dsp/HighFrequencyAudioCurve.h src/StretcherProcess.o: src/dsp/ConstantAudioCurve.h src/StretchCalculator.h src/StretcherProcess.o: src/StretcherChannelData.h src/dsp/Resampler.h src/StretcherProcess.o: src/base/Profiler.h src/system/VectorOps.h src/StretcherProcess.o: src/system/sysutils.h src/StretchCalculator.o: src/StretchCalculator.h src/system/sysutils.h src/system/Thread.o: src/system/Thread.h src/base/Profiler.o: src/base/Profiler.h src/system/sysutils.h src/dsp/AudioCurveCalculator.o: src/dsp/AudioCurveCalculator.h src/dsp/AudioCurveCalculator.o: src/system/sysutils.h src/dsp/SpectralDifferenceAudioCurve.o: src/dsp/SpectralDifferenceAudioCurve.h src/dsp/SpectralDifferenceAudioCurve.o: src/dsp/AudioCurveCalculator.h src/dsp/SpectralDifferenceAudioCurve.o: src/system/sysutils.h src/dsp/SpectralDifferenceAudioCurve.o: src/dsp/Window.h src/dsp/SincWindow.h src/dsp/SpectralDifferenceAudioCurve.o: src/system/VectorOps.h src/dsp/SpectralDifferenceAudioCurve.o: src/system/sysutils.h src/dsp/HighFrequencyAudioCurve.o: src/dsp/HighFrequencyAudioCurve.h src/dsp/HighFrequencyAudioCurve.o: src/dsp/AudioCurveCalculator.h src/dsp/HighFrequencyAudioCurve.o: src/system/sysutils.h src/dsp/SilentAudioCurve.o: src/dsp/SilentAudioCurve.h src/dsp/SilentAudioCurve.o: src/dsp/AudioCurveCalculator.h src/dsp/SilentAudioCurve.o: src/system/sysutils.h src/dsp/ConstantAudioCurve.o: src/dsp/ConstantAudioCurve.h src/dsp/ConstantAudioCurve.o: src/dsp/AudioCurveCalculator.h src/dsp/ConstantAudioCurve.o: src/system/sysutils.h src/dsp/PercussiveAudioCurve.o: src/dsp/PercussiveAudioCurve.h src/dsp/PercussiveAudioCurve.o: src/dsp/AudioCurveCalculator.h src/dsp/PercussiveAudioCurve.o: src/system/sysutils.h src/system/VectorOps.h src/dsp/PercussiveAudioCurve.o: src/system/sysutils.h src/dsp/Resampler.o: src/dsp/Resampler.h src/system/sysutils.h src/dsp/Resampler.o: src/base/Profiler.h src/dsp/FFT.o: src/dsp/FFT.h src/system/sysutils.h src/system/Thread.h src/dsp/FFT.o: src/base/Profiler.h src/system/VectorOps.h src/dsp/FFT.o: src/system/sysutils.h src/system/Allocators.o: src/system/Allocators.h src/system/VectorOps.h src/system/Allocators.o: src/system/sysutils.h src/system/sysutils.o: src/system/sysutils.h src/StretcherChannelData.o: src/StretcherChannelData.h src/StretcherImpl.h src/StretcherChannelData.o: rubberband/RubberBandStretcher.h src/dsp/Window.h src/dsp/SincWindow.h src/StretcherChannelData.o: src/dsp/FFT.h src/base/RingBuffer.h src/StretcherChannelData.o: src/base/Scavenger.h src/system/Thread.h src/StretcherChannelData.o: src/system/Thread.h src/system/sysutils.h src/StretcherChannelData.o: src/dsp/Resampler.h src/system/Allocators.h src/StretcherChannelData.o: src/system/VectorOps.h src/system/sysutils.h src/StretcherImpl.o: src/StretcherImpl.h rubberband/RubberBandStretcher.h src/StretcherImpl.o: src/dsp/Window.h src/dsp/SincWindow.h src/dsp/FFT.h src/base/RingBuffer.h src/StretcherImpl.o: src/base/Scavenger.h src/system/Thread.h src/system/Thread.h src/StretcherImpl.o: src/system/sysutils.h src/dsp/PercussiveAudioCurve.h src/StretcherImpl.o: src/dsp/AudioCurveCalculator.h src/StretcherImpl.o: src/dsp/HighFrequencyAudioCurve.h src/StretcherImpl.o: src/dsp/SpectralDifferenceAudioCurve.h src/dsp/Window.h src/dsp/SincWindow.h src/StretcherImpl.o: src/system/VectorOps.h src/system/sysutils.h src/StretcherImpl.o: src/dsp/SilentAudioCurve.h src/dsp/ConstantAudioCurve.h src/StretcherImpl.o: src/dsp/Resampler.h src/StretchCalculator.h src/StretcherImpl.o: src/StretcherChannelData.h src/base/Profiler.h main/main.o: rubberband/RubberBandStretcher.h src/system/sysutils.h main/main.o: src/base/Profiler.h