summaryrefslogtreecommitdiffstats
path: root/vpp-japi/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'vpp-japi/Makefile.am')
-rw-r--r--vpp-japi/Makefile.am79
1 files changed, 79 insertions, 0 deletions
diff --git a/vpp-japi/Makefile.am b/vpp-japi/Makefile.am
new file mode 100644
index 00000000000..c501ace948e
--- /dev/null
+++ b/vpp-japi/Makefile.am
@@ -0,0 +1,79 @@
+# Copyright (c) 2015 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+AUTOMAKE_OPTIONS = foreign subdir-objects
+ACLOCAL_AMFLAGS = -I m4
+AM_CFLAGS = -Wall
+
+noinst_PROGRAMS =
+BUILT_SOURCES =
+bin_PROGRAMS =
+CLEANFILES =
+lib_LTLIBRARIES =
+
+nobase_include_HEADERS = \
+ japi/org_openvpp_vppjapi_vppApi.h \
+ japi/org_openvpp_vppjapi_vppConn.h
+
+lib_LTLIBRARIES += libvppjni.la
+
+libvppjni_la_SOURCES = japi/vppjni.c japi/vppapi.c
+libvppjni_la_LIBADD = -lvlibmemoryclient -lvlibapi -lsvm -lvppinfra \
+ -lpthread -lm -lrt
+libvppjni_la_LDFLAGS = -module
+
+jarfile = vppjapi-$(PACKAGE_VERSION).jar
+packagedir = org/openvpp/vppjapi
+JAVAROOT = .
+
+$(jarfile): libvppjni.la
+ cd .libs ; $(JAR) cf $(JARFLAGS) ../$@ libvppjni.so.0.0.0 ../$(packagedir)/*.class ; cd ..
+
+BUILT_SOURCES += japi/org_openvpp_vppjapi_vppConn.h japi/vppapi.c
+
+japi/org_openvpp_vppjapi_vppConn.h: \
+ japi/org/openvpp/vppjapi/vppVersion.java \
+ japi/org/openvpp/vppjapi/vppInterfaceCounters.java \
+ japi/org/openvpp/vppjapi/vppBridgeDomainDetails.java \
+ japi/org/openvpp/vppjapi/vppBridgeDomainInterfaceDetails.java \
+ japi/org/openvpp/vppjapi/vppL2Fib.java \
+ japi/org/openvpp/vppjapi/vppConn.java \
+ ../vpp/api/vpe.api.h
+ $(JAVAC) -classpath . -d . @srcdir@/japi/org/openvpp/vppjapi/vppVersion.java ;\
+ $(JAVAH) -classpath . -d japi org.openvpp.vppjapi.vppVersion ; \
+ $(JAVAC) -classpath . -d . @srcdir@/japi/org/openvpp/vppjapi/vppInterfaceCounters.java ;\
+ $(JAVAH) -classpath . -d japi org.openvpp.vppjapi.vppInterfaceCounters ; \
+ $(JAVAC) -classpath . -d . @srcdir@/japi/org/openvpp/vppjapi/vppBridgeDomainInterfaceDetails.java ;\
+ $(JAVAH) -classpath . -d japi org.openvpp.vppjapi.vppBridgeDomainInterfaceDetails ; \
+ $(JAVAC) -classpath . -d . @srcdir@/japi/org/openvpp/vppjapi/vppBridgeDomainDetails.java ;\
+ $(JAVAH) -classpath . -d japi org.openvpp.vppjapi.vppBridgeDomainDetails ; \
+ $(JAVAC) -classpath . -d . @srcdir@/japi/org/openvpp/vppjapi/vppL2Fib.java ;\
+ $(JAVAH) -classpath . -d japi org.openvpp.vppjapi.vppL2Fib ; \
+ $(JAVAC) -classpath . -d . @srcdir@/japi/org/openvpp/vppjapi/vppConn.java ; \
+ $(JAVAH) -classpath . -d japi org.openvpp.vppjapi.vppConn ;
+
+japi/vppapi.c: japi/org_openvpp_vppjapi_vppConn.h japi/org/openvpp/vppjapi/vppApiCallbacks.java
+ pushd .. ; dir=`pwd` ; popd ; \
+ instdir=`echo $${dir} | sed -e 's:build-root/build:build-root/install:'` ; \
+ vppapigen --input $${instdir}/vpp/api/vpe.api --jni japi/vppapi.c --app vpe ; \
+ vppapigen --input $${instdir}/vpp/api/vpe.api --java japi/vppApi.java --app vpe ; \
+ $(JAVAC) -classpath . -d . japi/vppApi.java ; \
+ $(JAVAH) -classpath . -d japi org.openvpp.vppjapi.vppApi ; \
+ $(JAVAC) -classpath . -d . @srcdir@/japi/org/openvpp/vppjapi/vppApiCallbacks.java ; \
+ $(JAVAH) -classpath . -d japi org.openvpp.vppjapi.vppApiCallbacks ;
+
+demo = japi/test/demo.class
+$(demo): $(jarfile)
+ $(JAVAC) -cp $(jarfile) -d $(JAVAROOT) @srcdir@/japi/test/demo.java
+
+all-local: $(jarfile) $(demo)