]> git.sesse.net Git - vlc/blob - bindings/java/Makefile.am
a54dfee12d49b662b512bdfc73e69951cd2340ea
[vlc] / bindings / java / Makefile.am
1 #######################################################################
2 # VLC Java Bindings
3 #######################################################################
4
5 if BUILD_JAVA
6
7 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
8
9 # Include some JAVA stuff
10 PROCESSOR_FAMILY = `uname -m | sed -e 's/^i.86/i386/' | sed -e 's/^x86_64/amd64/'`
11 if HAVE_WIN32
12 JINCLUDES = -I${JAVA_HOME}/include -I${JAVA_HOME}/include/win32
13 LIBJINCLUDES = -L${JAVA_HOME}/lib -ljawt
14 JCC = javac
15 JCH = javah
16 #CXX = g++ -Wall -mno-cygwin -g
17 #LDFLAGS = -mno-cygwin `vlc-config --libs external pic` -Wl,--kill-at
18 JAVALDFLAGS = -mno-cygwin -L../../src -lvlc `top_builddir=../.. ../../vlc-config --libs builtin vlc pic` -Wl,--kill-at
19 else
20 JINCLUDES = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
21 LIBJINCLUDES = -L$(JAVA_HOME)/jre/lib/$(PROCESSOR_FAMILY) -ljawt
22 JCC = gcj -g
23 JCH = gcjh -jni
24 SWT_PATH = /usr/share/java
25 # Compile flags
26 JAVACXXFLAGS = `top_builddir=../.. ../../vlc-config --cflags pic` -I../../ -I ../../include $(JINCLUDES)
27 JAVALDFLAGS = -L../../src -lvlc `top_builddir=../.. ../../vlc-config --libs builtin vlc pic`
28 endif
29
30 # Build targets
31 all: libjvlc.so VlcClient VLCExample
32
33 if HAVE_WIN32
34 libjvlc.so: vlc-libvlc-jni.o vlc-graphics-jni.o
35         $(CXX) -shared vlc-libvlc-jni.o vlc-graphics-jni.o $(LIBJINCLUDES) $(LDFLAGS) -o jvlc.dll
36 else
37 libjvlc.so: vlc-libvlc-jni.o vlc-graphics-jni.o
38         $(CXX) -shared vlc-libvlc-jni.o vlc-graphics-jni.o $(LIBJINCLUDES) $(LDFLAGS) $(JAVALDFLAGS) -o libjvlc.so
39 endif
40
41 vlc-graphics-jni.o: VlcClient
42         $(CXX) -c vlc-graphics-jni.cc $(CXXFLAGS) $(JAVACXXFLAGS)
43
44 vlc-libvlc-jni.o: VlcClient
45         $(CXX) -c vlc-libvlc-jni.cc $(CXXFLAGS) $(JAVACXXFLAGS)
46
47 VlcClient: $(OBJECTS)
48         $(JCC) -C VlcClient.java
49
50 VLCExample: $(OBJECTS)
51         $(JCC) -C VLCExample.java
52
53 %.class: %.java
54         $(JCC) -C $?
55         $(JCH) org/videolan/jvlc/$(*F)
56
57 clean:
58         rm -f *.class *~ org/videolan/jvlc/*.class org_videolan*.h *.so *.o
59
60 endif