# Copyright (c) 2017 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.

lib_LTLIBRARIES += libvppcom.la libvcl_ldpreload.la

libvppcom_la_SOURCES =
libvcl_ldpreload_la_SOURCES =
libvppcom_la_DEPENDENCIES = 	\
	libsvm.la 		\
	libvlibmemoryclient.la

libvppcom_la_LIBADD = $(libvppcom_la_DEPENDENCIES) -lpthread -lrt -ldl

libvppcom_la_SOURCES +=				\
  vcl/vcl_event.c               \
  vcl/vppcom.c					\
  $(libvppinfra_la_SOURCES)			\
  $(libsvm_la_SOURCES)				\
  $(libvlibmemoryclient_la_SOURCES)

nobase_include_HEADERS +=			\
  vcl/vcl_event.h 					\
  vcl/vppcom.h

libvcl_ldpreload_la_LIBADD =  $(libvppcom_la_DEPENDENCIES) -lpthread -lrt -ldl

libvcl_ldpreload_la_SOURCES +=			\
  vcl/ldp_socket_wrapper.c			\
  vcl/ldp.c					\
  $(libvppcom_la_SOURCES)

nobase_include_HEADERS +=			\
  vcl/ldp_socket_wrapper.h			\
  vcl/ldp_glibc_socket.h			\
  vcl/ldp.h

noinst_PROGRAMS +=				\
	vcl_test_server				\
	vcl_test_client				\
	sock_test_server			\
	sock_test_client            \
	test_vcl_listener_server    \
	test_vcl_listener_client


test_vcl_listener_server_SOURCES = vcl/test_vcl_listener_server.c
test_vcl_listener_server_LDADD = libvppcom.la

test_vcl_listener_client_SOURCES = vcl/test_vcl_listener_client.c
test_vcl_listener_client_LDADD = libvppcom.la

vcl_test_server_SOURCES = vcl/vcl_test_server.c
vcl_test_server_LDADD = libvppcom.la


vcl_test_client_SOURCES = vcl/vcl_test_client.c

# Link libvcl_ldpreload.la instead of vppcom.la
# to validate that all symbols are included in
# libvcl_ldpreload.la at build time.
#
# Not recommended for production VCL apps as
# it includes extraneous code which will never
# be executed.
vcl_test_client_LDADD = libvcl_ldpreload.la

sock_test_server_SOURCES = vcl/sock_test_server.c
sock_test_client_SOURCES = vcl/sock_test_client.c

nobase_include_HEADERS +=			\
  vcl/sock_test.h

# vi:syntax=automake