# VLC Java Bindings
#######################################################################
+SUBDIRS= . src
+
+EXTRA_DIST= \
+ FAQ \
+ TODO \
+ README \
+ THANKS \
+ javadoc.xml \
+ VlcClient.java \
+ VLCExample.java
+
+EXTRA_DIST+= \
+ org/videolan/jvlc/AudioIntf.java \
+ org/videolan/jvlc/Audio.java \
+ org/videolan/jvlc/GenericVideoWidget.java \
+ org/videolan/jvlc/InputIntf.java \
+ org/videolan/jvlc/Input.java \
+ org/videolan/jvlc/JLibVLC.java \
+ org/videolan/jvlc/JVLCCanvas.java \
+ org/videolan/jvlc/JVLC.java \
+ org/videolan/jvlc/JVLCPanel.java \
+ org/videolan/jvlc/PlaylistIntf.java \
+ org/videolan/jvlc/Playlist.java \
+ org/videolan/jvlc/VideoIntf.java \
+ org/videolan/jvlc/Video.java \
+ org/videolan/jvlc/VLCException.java \
+ org/videolan/jvlc/VLMIntf.java \
+ org/videolan/jvlc/VLM.java
+
if BUILD_JAVA
-OBJECTS = org/videolan/jvlc/AudioIntf.class org/videolan/jvlc/InputIntf.class org/videolan/jvlc/PlaylistIntf.class org/videolan/jvlc/VideoIntf.class org/videolan/jvlc/JLibVLC.class org/videolan/jvlc/JVLC.class org/videolan/jvlc/JVLCCanvas.class org/videolan/jvlc/JVLCPanel.class org/videolan/jvlc/VLMIntf.class org/videolan/jvlc/Playlist.class org/videolan/jvlc/GenericVideoWidget.class
+OBJECTS = org/videolan/jvlc/VLM.class org/videolan/jvlc/VLCException.class org/videolan/jvlc/Playlist.class org/videolan/jvlc/AudioIntf.class org/videolan/jvlc/Audio.class org/videolan/jvlc/InputIntf.class org/videolan/jvlc/Input.class org/videolan/jvlc/PlaylistIntf.class org/videolan/jvlc/VideoIntf.class org/videolan/jvlc/JVLCCanvas.class org/videolan/jvlc/Video.class org/videolan/jvlc/JLibVLC.class org/videolan/jvlc/JVLC.class org/videolan/jvlc/JVLCPanel.class org/videolan/jvlc/VLMIntf.class org/videolan/jvlc/GenericVideoWidget.class
-# Include some JAVA stuff
PROCESSOR_FAMILY = `uname -m | sed -e 's/^i.86/i386/' | sed -e 's/^x86_64/amd64/'`
+
if HAVE_WIN32
JINCLUDES = -I${JAVA_HOME}/include -I${JAVA_HOME}/include/win32
LIBJINCLUDES = -L${JAVA_HOME}/lib -ljawt
-JCC = javac
JCH = javah
-JCC_FLAGS =
-#CXX = g++ -Wall -mno-cygwin -g
-#LDFLAGS = -mno-cygwin `vlc-config --libs external pic` -Wl,--kill-at
-JAVACXXFLAGS = `top_builddir=../.. ../../vlc-config --cflags pic` -I../../ -I ../../include $(JINCLUDES)
-JAVALDFLAGS = -mno-cygwin -L../../src -lvlc `top_builddir=../.. ../../vlc-config --libs builtin vlc pic` -Wl,--kill-at
else
JINCLUDES = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
LIBJINCLUDES = -L$(JAVA_HOME)/jre/lib/$(PROCESSOR_FAMILY) -ljawt
-JCC = gcj -g
JCH = gcjh -jni
-SWT_PATH = /usr/share/java
-# Compile flags
-JCC_FLAGS = -C
-JAVACXXFLAGS = `top_builddir=../.. ../../vlc-config --cflags pic` -I../../ -I ../../include $(JINCLUDES)
-JAVALDFLAGS = -L../../src -lvlc `top_builddir=../.. ../../vlc-config --libs builtin vlc pic`
endif
+export JINCLUDES
+export LIBJINCLUDES
+
# Build targets
-all: libjvlc.so VlcClient VLCExample
if HAVE_WIN32
-libjvlc.so: vlc-libvlc-jni.o vlc-graphics-jni.o
- $(CXX) -shared vlc-libvlc-jni.o vlc-graphics-jni.o $(LIBJINCLUDES) $(LDFLAGS) $(JAVALDFLAGS) -o jvlc.dll
+%.class: %.java
+ $(JAVAC) $?
+ $(JCH) -o includes/$(*F).h org.videolan.jvlc.$(*F)
else
-libjvlc.so: vlc-libvlc-jni.o vlc-graphics-jni.o
- $(CXX) -shared vlc-libvlc-jni.o vlc-graphics-jni.o $(LIBJINCLUDES) $(LDFLAGS) $(JAVALDFLAGS) -o libjvlc.so
+%.class: %.java
+ $(JAVAC) $?
+ $(JCH) $(@D)/$(*F) -o includes/$(*F).h
endif
-vlc-graphics-jni.o: VlcClient
- $(CXX) -c vlc-graphics-jni.cc $(CXXFLAGS) $(JAVACXXFLAGS)
-
-vlc-libvlc-jni.o: VlcClient
- $(CXX) -c vlc-libvlc-jni.cc $(CXXFLAGS) $(JAVACXXFLAGS)
-
VlcClient: $(OBJECTS)
- $(JCC) $(JCC_FLAGS) VlcClient.java
+ $(JAVAC) VlcClient.java
VLCExample: $(OBJECTS)
- $(JCC) $(JCC_FLAGS) VLCExample.java
+ $(JAVAC) VLCExample.java
-%.class: %.java
- $(JCC) $(JCC_FLAGS) $?
- $(JCH) org/videolan/jvlc/$(*F)
+all-am: VlcClient VLCExample
-clean:
- rm -f *.class *~ org/videolan/jvlc/*.class org_videolan*.h *.so *.o
+clean-local:
+ rm -f *.class *~ org/videolan/jvlc/*.class org_videolan*.h includes/*.h src/*.o *.so *.o *.dll
-endif
\ No newline at end of file
+endif