Patch from Ryan Schmidt for install and various other make fixes on OS/X
This commit is contained in:
56
Makefile.osx
56
Makefile.osx
@@ -1,4 +1,5 @@
|
||||
|
||||
PREFIX := /usr/local
|
||||
CXX := g++
|
||||
CC := gcc
|
||||
ARCHFLAGS :=
|
||||
@@ -6,30 +7,41 @@ OPTFLAGS := -DNDEBUG -ffast-math -mfpmath=sse -msse -msse2 -O3 -ftree-vectorize
|
||||
|
||||
CXXFLAGS := $(ARCHFLAGS) $(OPTFLAGS) -I. -Isrc -Irubberband -I/usr/local/include -DUSE_PTHREADS -DMALLOC_IS_ALIGNED -DHAVE_VDSP -DUSE_SPEEX -DNO_THREAD_CHECKS -DNO_TIMING
|
||||
|
||||
LIBRARY_LIBS := -framework Accelerate
|
||||
|
||||
CFLAGS := $(ARCHFLAGS) $(OPTFLAGS)
|
||||
LDFLAGS := $(ARCHFLAGS) -lpthread $(LDFLAGS)
|
||||
|
||||
PROGRAM_LIBS := -L/usr/local/lib -lsndfile $(LIBRARY_LIBS)
|
||||
VAMP_PLUGIN_LIBS := -L/usr/local/lib -lvamp-sdk $(LIBRARY_LIBS)
|
||||
LIBRARY_LIBS := -framework Accelerate
|
||||
PROGRAM_LIBS := -L$(PREFIX)/lib -lsndfile $(LIBRARY_LIBS)
|
||||
VAMP_PLUGIN_LIBS := -L$(PREFIX)/lib -lvamp-sdk $(LIBRARY_LIBS)
|
||||
LADSPA_PLUGIN_LIBS := $(LIBRARY_LIBS)
|
||||
|
||||
MKDIR := mkdir
|
||||
AR := ar
|
||||
|
||||
DYNAMIC_LDFLAGS := -dynamiclib
|
||||
INSTALL_BINDIR := $(PREFIX)/bin
|
||||
INSTALL_INCDIR := $(PREFIX)/include/rubberband
|
||||
INSTALL_LIBDIR := $(PREFIX)/lib
|
||||
INSTALL_VAMPDIR := $(PREFIX)/lib/vamp
|
||||
INSTALL_LADSPADIR := $(PREFIX)/lib/ladspa
|
||||
INSTALL_LRDFDIR := $(PREFIX)/share/ladspa/rdf
|
||||
INSTALL_PKGDIR := $(PREFIX)/lib/pkgconfig
|
||||
|
||||
LIBNAME := librubberband
|
||||
|
||||
DYNAMIC_EXTENSION := .dylib
|
||||
DYNAMIC_FULL_VERSION := 2.1.0
|
||||
DYNAMIC_ABI_VERSION := 2
|
||||
DYNAMIC_LDFLAGS := -dynamiclib -install_name $(INSTALL_LIBDIR)/$(LIBNAME).$(DYNAMIC_ABI_VERSION)$(DYNAMIC_EXTENSION) -current_version $(DYNAMIC_FULL_VERSION) -compatibility_version $(DYNAMIC_ABI_VERSION)
|
||||
|
||||
PROGRAM_TARGET := bin/rubberband
|
||||
STATIC_TARGET := lib/librubberband.a
|
||||
DYNAMIC_TARGET := lib/librubberband$(DYNAMIC_EXTENSION)
|
||||
STATIC_TARGET := lib/$(LIBNAME).a
|
||||
DYNAMIC_TARGET := lib/$(LIBNAME)$(DYNAMIC_EXTENSION)
|
||||
VAMP_TARGET := lib/vamp-rubberband$(DYNAMIC_EXTENSION)
|
||||
LADSPA_TARGET := lib/ladspa-rubberband$(DYNAMIC_EXTENSION)
|
||||
|
||||
default: bin lib $(STATIC_TARGET) $(DYNAMIC_TARGET) $(PROGRAM_TARGET)
|
||||
|
||||
all: bin lib $(STATIC_TARGET) $(DYNAMIC_TARGET) $(PROGRAM_TARGET) $(VAMP_TARGET) $(LADSPA_TARGET)
|
||||
all: bin lib $(STATIC_TARGET) $(DYNAMIC_TARGET) $(PROGRAM_TARGET) $(VAMP_TARGET) $(LADSPA_TARGET)
|
||||
|
||||
static: $(STATIC_TARGET)
|
||||
dynamic: $(DYNAMIC_TARGET)
|
||||
@@ -121,10 +133,10 @@ VAMP_OBJECTS := $(VAMP_SOURCES:.cpp=.o)
|
||||
LADSPA_OBJECTS := $(LADSPA_SOURCES:.cpp=.o)
|
||||
|
||||
$(PROGRAM_TARGET): $(LIBRARY_OBJECTS) $(PROGRAM_OBJECTS)
|
||||
$(CXX) -o $@ $^ $(PROGRAM_LIBS) $(PROGRAM_LIBS) $(LDFLAGS)
|
||||
$(CXX) -o $@ $^ $(PROGRAM_LIBS) $(LDFLAGS)
|
||||
|
||||
$(STATIC_TARGET): $(LIBRARY_OBJECTS)
|
||||
$(AR) rc $@ $^
|
||||
$(AR) rsc $@ $^
|
||||
|
||||
$(DYNAMIC_TARGET): $(LIBRARY_OBJECTS)
|
||||
$(CXX) $(DYNAMIC_LDFLAGS) $^ -o $@ $(LIBRARY_LIBS) $(LDFLAGS)
|
||||
@@ -140,6 +152,30 @@ bin:
|
||||
lib:
|
||||
$(MKDIR) $@
|
||||
|
||||
install: default
|
||||
$(MKDIR) -p $(DESTDIR)$(INSTALL_BINDIR)
|
||||
$(MKDIR) -p $(DESTDIR)$(INSTALL_INCDIR)
|
||||
$(MKDIR) -p $(DESTDIR)$(INSTALL_LIBDIR)
|
||||
$(MKDIR) -p $(DESTDIR)$(INSTALL_VAMPDIR)
|
||||
$(MKDIR) -p $(DESTDIR)$(INSTALL_LADSPADIR)
|
||||
$(MKDIR) -p $(DESTDIR)$(INSTALL_LRDFDIR)
|
||||
$(MKDIR) -p $(DESTDIR)$(INSTALL_PKGDIR)
|
||||
cp $(PROGRAM_TARGET) $(DESTDIR)$(INSTALL_BINDIR)
|
||||
cp $(PUBLIC_INCLUDES) $(DESTDIR)$(INSTALL_INCDIR)
|
||||
cp $(STATIC_TARGET) $(DESTDIR)$(INSTALL_LIBDIR)
|
||||
rm -f $(DESTDIR)$(INSTALL_LIBDIR)/$(LIBNAME).$(DYNAMIC_ABI_VERSION)$(DYNAMIC_EXTENSION)
|
||||
rm -f $(DESTDIR)$(INSTALL_LIBDIR)/$(LIBNAME)$(DYNAMIC_EXTENSION)
|
||||
cp $(DYNAMIC_TARGET) $(DESTDIR)$(INSTALL_LIBDIR)/$(LIBNAME).$(DYNAMIC_FULL_VERSION)$(DYNAMIC_EXTENSION)
|
||||
ln -s $(LIBNAME).$(DYNAMIC_FULL_VERSION)$(DYNAMIC_EXTENSION) $(DESTDIR)$(INSTALL_LIBDIR)/$(LIBNAME).$(DYNAMIC_ABI_VERSION)$(DYNAMIC_EXTENSION)
|
||||
ln -s $(LIBNAME).$(DYNAMIC_FULL_VERSION)$(DYNAMIC_EXTENSION) $(DESTDIR)$(INSTALL_LIBDIR)/$(LIBNAME)$(DYNAMIC_EXTENSION)
|
||||
cp $(VAMP_TARGET) $(DESTDIR)$(INSTALL_VAMPDIR)
|
||||
cp vamp/vamp-rubberband.cat $(DESTDIR)$(INSTALL_VAMPDIR)
|
||||
cp $(LADSPA_TARGET) $(DESTDIR)$(INSTALL_LADSPADIR)
|
||||
cp ladspa/ladspa-rubberband.cat $(DESTDIR)$(INSTALL_LADSPADIR)
|
||||
cp ladspa/ladspa-rubberband.rdf $(DESTDIR)$(INSTALL_LRDFDIR)
|
||||
sed "s,%PREFIX%,$(PREFIX)," rubberband.pc.in \
|
||||
> $(DESTDIR)$(INSTALL_PKGDIR)/rubberband.pc
|
||||
|
||||
clean:
|
||||
rm -f $(LIBRARY_OBJECTS) $(PROGRAM_OBJECTS) $(LADSPA_OBJECTS) $(VAMP_OBJECTS)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user