Add JNI target (not built by default)
This commit is contained in:
34
Makefile.in
34
Makefile.in
@@ -6,6 +6,10 @@ CXXFLAGS := -DHAVE_LIBSAMPLERATE -DHAVE_FFTW3 -DFFTW_DOUBLE_ONLY -DNO_THREAD_CHE
|
||||
CFLAGS := @CFLAGS@ $(OPTFLAGS)
|
||||
LDFLAGS := @LDFLAGS@ -lpthread $(LDFLAGS)
|
||||
|
||||
JNI_CXXFLAGS := -I$(JAVA_HOME)/include
|
||||
JAVAC := $(JAVA_HOME)/bin/javac
|
||||
JAR := $(JAVA_HOME)/bin/jar
|
||||
|
||||
LIBRARY_LIBS := @SRC_LIBS@ @FFTW_LIBS@
|
||||
PROGRAM_LIBS := @SNDFILE_LIBS@ $(LIBRARY_LIBS)
|
||||
VAMP_PLUGIN_LIBS := @Vamp_LIBS@ $(LIBRARY_LIBS)
|
||||
@@ -23,6 +27,8 @@ INSTALL_LRDFDIR := $(PREFIX)/share/ladspa/rdf
|
||||
INSTALL_PKGDIR := $(PREFIX)/lib/pkgconfig
|
||||
|
||||
LIBNAME := librubberband
|
||||
JNINAME := librubberband-jni
|
||||
JARNAME := rubberband.jar
|
||||
|
||||
DYNAMIC_EXTENSION := .so
|
||||
DYNAMIC_FULL_VERSION := 2.1.0
|
||||
@@ -34,6 +40,8 @@ LADSPA_LDFLAGS := -shared -Wl,-Bsymbolic -Wl,--version-script=ladspa/ladspa-plu
|
||||
PROGRAM_TARGET := bin/rubberband
|
||||
STATIC_TARGET := lib/$(LIBNAME).a
|
||||
DYNAMIC_TARGET := lib/$(LIBNAME)$(DYNAMIC_EXTENSION)
|
||||
JNI_TARGET := lib/$(JNINAME)$(DYNAMIC_EXTENSION)
|
||||
JAR_TARGET := lib/$(JARNAME)
|
||||
VAMP_TARGET := lib/vamp-rubberband$(DYNAMIC_EXTENSION)
|
||||
LADSPA_TARGET := lib/ladspa-rubberband$(DYNAMIC_EXTENSION)
|
||||
|
||||
@@ -42,6 +50,7 @@ all: bin lib $(PROGRAM_TARGET) $(STATIC_TARGET) $(DYNAMIC_TARGET) $(VAMP_TARGET)
|
||||
static: $(STATIC_TARGET)
|
||||
dynamic: $(DYNAMIC_TARGET)
|
||||
library: $(STATIC_TARGET) $(DYNAMIC_TARGET)
|
||||
jni: $(JNI_TARGET) $(JAR_TARGET)
|
||||
program: $(PROGRAM_TARGET)
|
||||
vamp: $(VAMP_TARGET)
|
||||
ladspa: $(LADSPA_TARGET)
|
||||
@@ -96,6 +105,12 @@ LIBRARY_SOURCES := \
|
||||
src/StretcherChannelData.cpp \
|
||||
src/StretcherImpl.cpp
|
||||
|
||||
JNI_SOURCE := \
|
||||
src/jni/RubberBandStretcherJNI.cpp
|
||||
|
||||
JAVA_SOURCE := \
|
||||
com/breakfastquay/rubberband/RubberBandStretcher.java
|
||||
|
||||
PROGRAM_SOURCES := \
|
||||
main/main.cpp
|
||||
|
||||
@@ -115,7 +130,8 @@ LADSPA_SOURCES := \
|
||||
|
||||
LIBRARY_OBJECTS := $(LIBRARY_SOURCES:.cpp=.o)
|
||||
LIBRARY_OBJECTS := $(LIBRARY_OBJECTS:.c=.o)
|
||||
|
||||
JNI_OBJECT := $(JNI_SOURCE:.cpp=.o)
|
||||
JAVA_OBJECT := $(JAVA_SOURCE:.java=.class)
|
||||
PROGRAM_OBJECTS := $(PROGRAM_SOURCES:.cpp=.o)
|
||||
VAMP_OBJECTS := $(VAMP_SOURCES:.cpp=.o)
|
||||
LADSPA_OBJECTS := $(LADSPA_SOURCES:.cpp=.o)
|
||||
@@ -129,6 +145,16 @@ $(STATIC_TARGET): $(LIBRARY_OBJECTS)
|
||||
$(DYNAMIC_TARGET): $(LIBRARY_OBJECTS)
|
||||
$(CXX) $(DYNAMIC_LDFLAGS) $^ -o $@ $(LIBRARY_LIBS) $(LDFLAGS)
|
||||
|
||||
$(JNI_OBJECT): $(JNI_SOURCE)
|
||||
$(CXX) -c $(JNI_CXXFLAGS) $(CXXFLAGS) $^ -o $@
|
||||
|
||||
$(JNI_TARGET): $(LIBRARY_OBJECTS) $(JNI_OBJECT)
|
||||
$(CXX) $(DYNAMIC_LDFLAGS) $^ -o $@ $(LIBRARY_LIBS) $(LDFLAGS)
|
||||
|
||||
$(JAR_TARGET): $(JAVA_SOURCE)
|
||||
$(JAVAC) $^
|
||||
$(JAR) cvf $@ $(JAVA_OBJECT)
|
||||
|
||||
$(VAMP_TARGET): $(LIBRARY_OBJECTS) $(VAMP_OBJECTS)
|
||||
$(CXX) $(VAMP_LDFLAGS) -o $@ $^ $(VAMP_PLUGIN_LIBS) $(LDFLAGS)
|
||||
|
||||
@@ -153,9 +179,11 @@ install: all
|
||||
cp $(STATIC_TARGET) $(DESTDIR)$(INSTALL_LIBDIR)
|
||||
rm -f $(DESTDIR)$(INSTALL_LIBDIR)/$(LIBNAME)$(DYNAMIC_EXTENSION).$(DYNAMIC_ABI_VERSION)
|
||||
rm -f $(DESTDIR)$(INSTALL_LIBDIR)/$(LIBNAME)$(DYNAMIC_EXTENSION)
|
||||
rm -f $(DESTDIR)$(INSTALL_LIBDIR)/$(JNINAME)$(DYNAMIC_EXTENSION)
|
||||
cp $(DYNAMIC_TARGET) $(DESTDIR)$(INSTALL_LIBDIR)/$(LIBNAME)$(DYNAMIC_EXTENSION).$(DYNAMIC_FULL_VERSION)
|
||||
ln -s $(LIBNAME)$(DYNAMIC_EXTENSION).$(DYNAMIC_FULL_VERSION) $(DESTDIR)$(INSTALL_LIBDIR)/$(LIBNAME)$(DYNAMIC_EXTENSION).$(DYNAMIC_ABI_VERSION)
|
||||
ln -s $(LIBNAME)$(DYNAMIC_EXTENSION).$(DYNAMIC_FULL_VERSION) $(DESTDIR)$(INSTALL_LIBDIR)/$(LIBNAME)$(DYNAMIC_EXTENSION)
|
||||
cp $(JNI_TARGET) $(DESTDIR)$(INSTALL_LIBDIR)/$(JNINAME)$(DYNAMIC_EXTENSION)
|
||||
cp $(VAMP_TARGET) $(DESTDIR)$(INSTALL_VAMPDIR)
|
||||
cp vamp/vamp-rubberband.cat $(DESTDIR)$(INSTALL_VAMPDIR)
|
||||
cp $(LADSPA_TARGET) $(DESTDIR)$(INSTALL_LADSPADIR)
|
||||
@@ -165,10 +193,10 @@ install: all
|
||||
> $(DESTDIR)$(INSTALL_PKGDIR)/rubberband.pc
|
||||
|
||||
clean:
|
||||
rm -f $(LIBRARY_OBJECTS) $(PROGRAM_OBJECTS) $(LADSPA_OBJECTS) $(VAMP_OBJECTS)
|
||||
rm -f $(LIBRARY_OBJECTS) $(JNI_OBJECT) $(JAVA_OBJECT) $(PROGRAM_OBJECTS) $(LADSPA_OBJECTS) $(VAMP_OBJECTS)
|
||||
|
||||
distclean: clean
|
||||
rm -f $(PROGRAM_TARGET) $(STATIC_TARGET) $(DYNAMIC_TARGET) $(VAMP_TARGET) $(LADSPA_TARGET)
|
||||
rm -f $(PROGRAM_TARGET) $(STATIC_TARGET) $(DYNAMIC_TARGET) $(JNI_TARGET) $(JAR_TARGET) $(VAMP_TARGET) $(LADSPA_TARGET)
|
||||
|
||||
depend:
|
||||
makedepend -Y $(LIBRARY_SOURCES) $(PROGRAM_SOURCES)
|
||||
|
||||
@@ -5,7 +5,7 @@ Rubber Band
|
||||
An audio time-stretching and pitch-shifting library and utility program.
|
||||
|
||||
Written by Chris Cannam, chris.cannam@breakfastquay.com.
|
||||
Copyright 2007-2012 Particular Programs Ltd.
|
||||
Copyright 2007-2014 Particular Programs Ltd.
|
||||
|
||||
Rubber Band is a library and utility program that permits changing the
|
||||
tempo and pitch of an audio recording independently of one another.
|
||||
|
||||
@@ -103,7 +103,7 @@ public class RubberBandStretcher
|
||||
public static final int PercussiveOptions = 0x00102000;
|
||||
|
||||
static {
|
||||
System.loadLibrary("rubberband");
|
||||
System.loadLibrary("rubberband-jni");
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user