]> git.sesse.net Git - vlc/blob - bindings/java/Makefile.am
Java bindings by Filippo Carone.
[vlc] / bindings / java / Makefile.am
1 #######################################################################
2 # VLC Java Bindings
3 #######################################################################
4
5 if BUILD_JAVA
6
7 OBJECTS = org/videolan/jvlc/JVLCNoSuchVariableNameException.class org/videolan/jvlc/JVLCBoolVariable.class org/videolan/jvlc/JVLCIntVariable.class org/videolan/jvlc/JVLCTimeVariable.class org/videolan/jvlc/JVLCVarValue.class org/videolan/jvlc/JVLCVariable.class org/videolan/jvlc/JVLCFloatVariable.class org/videolan/jvlc/JVLCStringVariable.class org/videolan/jvlc/JVLCVarVariable.class org/videolan/jvlc/JVLC.class org/videolan/jvlc/JVLCCanvas.class
8
9 JNIHEADERS = org/videolan/jvlc/JVLCNoSuchVariableNameException.h org_videolan_jvlc_JVLCBoolVariable.h org_videolan_jvlc_JVLCFloatVariable.h org_videolan_jvlc_JVLC.h org_videolan_jvlc_JVLCIntVariable.h org_videolan_jvlc_JVLCStringVariable.h org_videolan_jvlc_JVLCTimeVariable.h org_videolan_jvlc_JVLCVariable.h org_videolan_jvlc_JVLCVarValue.h org_videolan_jvlc_JVLCVarVariable.h org_videolan_jvlc_JVLCCanvas.h
10
11 # Include some JAVA stuff
12 JINCLUDES = -I${JAVA_HOME}/include -I${JAVA_HOME}/include/linux
13 LIBJINCLUDES = -L${JAVA_HOME}/jre/lib/i386 -ljawt
14
15 # Binaries
16 JCC = gcj -g
17 JCH = gcjh -jni
18
19 # Compile flags
20 CXXFLAGS += `top_builddir=../.. ../../vlc-config --cflags` -I../../ -I ../../include ${JINCLUDES}
21 LDFLAGS += -L../../lib -lvlc_pic -fPIC  `top_builddir=../.. ../../vlc-config --libs builtin pic`
22
23 # Build targets
24 all: libjvlc.so VlcClient
25
26 # FIXME: -ldbus-1 and -lhal are UGLY
27 # Problem is vlc-config --libs builtin does not output what is needed to build
28 # vlc. We need to clean up vlc-config first
29 libjvlc.so: vlc-glue-jni.o vlc-graphics-jni.o
30         $(CXX) -ldbus-1 -lhal -shared vlc-glue-jni.o vlc-graphics-jni.o $(LIBJINCLUDES) ${LDFLAGS} -o libjvlc.so
31
32 vlc-graphics-jni.o: VlcClient
33         $(CXX) -c vlc-graphics-jni.cc $(CXXFLAGS)
34
35 vlc-glue-jni.o: VlcClient
36         $(CXX) -c vlc-glue-jni.cc $(CXXFLAGS)
37
38 VlcClient: $(OBJECTS)
39         $(JCC) -C VlcClient.java
40
41 %.class: %.java
42         $(JCC) -C $?
43         $(JCH) org/videolan/jvlc/$(*F)
44
45 clean:
46         rm -f *.class *~ org/videolan/jvlc/*.class org_videolan*.h *.so *.o
47
48 endif