]> git.sesse.net Git - vlc/blob - bindings/java/Makefile.am
--disable-libtool not needed anymore to build java bindings
[vlc] / bindings / java / Makefile.am
1 #######################################################################
2 # VLC Java Bindings
3 #######################################################################
4
5 #SUBDIRS= src
6 DIST_SUBDIRS = src
7
8 EXTRA_DIST= \
9             FAQ \
10             TODO \
11             README \
12             THANKS \
13             javadoc.xml \
14             VlcClient.java \
15             VLCExample.java
16
17
18 EXTRA_DIST+= \
19         org/videolan/jvlc/AudioIntf.java \
20         org/videolan/jvlc/Audio.java \
21         org/videolan/jvlc/GenericVideoWidget.java \
22         org/videolan/jvlc/InputIntf.java \
23         org/videolan/jvlc/Input.java \
24         org/videolan/jvlc/JLibVLC.java \
25         org/videolan/jvlc/JVLCCanvas.java \
26         org/videolan/jvlc/JVLC.java \
27         org/videolan/jvlc/JVLCPanel.java \
28         org/videolan/jvlc/PlaylistIntf.java \
29         org/videolan/jvlc/Playlist.java \
30         org/videolan/jvlc/VideoIntf.java \
31         org/videolan/jvlc/Video.java \
32         org/videolan/jvlc/VLCException.java \
33         org/videolan/jvlc/VLMIntf.java \
34         org/videolan/jvlc/VLM.java 
35
36 OBJECTS = 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/Video.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/VLM.class  org/videolan/jvlc/GenericVideoWidget.class
37
38
39 COBJECTS = src/utils.o src/video-jni.o src/audio-jni.o src/input-jni.o src/playlist-jni.o src/vlm-jni.o src/core-jni.o src/graphics-jni.o
40
41 if BUILD_JAVA
42 # Include some JAVA stuff
43 PROCESSOR_FAMILY = `uname -m | sed -e 's/^i.86/i386/' | sed -e 's/^x86_64/amd64/'`
44
45 if HAVE_WIN32
46 JINCLUDES = -I${JAVA_HOME}/include -I${JAVA_HOME}/include/win32
47 LIBJINCLUDES = -L${JAVA_HOME}/lib -ljawt
48 JCH = javah
49 JAVACXXFLAGS = `top_builddir=../.. ../../vlc-config --cflags pic` -I../../ -I ../../include $(JINCLUDES)
50 JAVALDFLAGS = -mno-cygwin -L../../src -lvlc `top_builddir=../.. ../../vlc-config --libs builtin vlc pic external` -Wl,--kill-at
51 else
52 JINCLUDES = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
53 LIBJINCLUDES = -L$(JAVA_HOME)/jre/lib/$(PROCESSOR_FAMILY) -ljawt
54 JCH = gcjh -jni
55 JAVACXXFLAGS = `top_builddir=../.. ../../vlc-config --cflags pic` -I../../ -I ../../include $(JINCLUDES)
56 JAVALDFLAGS = -L../../src -lvlc `top_builddir=../.. ../../vlc-config --libs builtin vlc pic external`
57 endif
58
59 export JINCLUDES
60
61 # Build targets
62 all: libjvlc.so VlcClient VLCExample
63
64 if HAVE_WIN32
65 libjvlc.so: $(OBJECTS)
66         $(MAKE) -C src
67         $(CXX) -shared $(COBJECTS) $(LIBJINCLUDES) $(LDFLAGS) $(JAVALDFLAGS) -o jvlc.dll
68 else
69 libjvlc.so: $(OBJECTS)  
70         $(MAKE) -C src
71         $(CXX) -shared $(COBJECTS) $(LIBJINCLUDES) $(LDFLAGS) $(JAVALDFLAGS) -o libjvlc.so
72 endif
73
74 VlcClient: $(OBJECTS)
75         $(JAVAC) VlcClient.java
76
77 VLCExample: $(OBJECTS)
78         $(JAVAC) VLCExample.java
79
80 if HAVE_WIN32
81 %.class: %.java 
82         $(JAVAC) $? 
83         $(JCH) org.videolan.jvlc.$(*F)
84 else
85 %.class: %.java
86         $(JAVAC) $?
87         $(JCH) $(@D)/$(*F) -o includes/$(*F).h
88 endif
89
90 clean-local:
91         rm -f *.class *~ org/videolan/jvlc/*.class org_videolan*.h includes/*.h src/*.o *.so *.o *.dll
92
93 endif