AM_CFLAGS = -Wall -Werror @DPDK@ @DPDK_CRYPTO@ @IPSEC@ @IPV6SR@
+BUILT_SOURCES = vnet/interface.api.h vnet/interface.api.json vnet/l2/l2.api.h \
+ vnet/l2/l2.api.json
+
libvnet_la_SOURCES =
libvnetplugin_la_SOURCES =
nobase_include_HEADERS =
vnet/devices/devices.c \
vnet/handoff.c \
vnet/interface.c \
+ vnet/interface_api.c \
vnet/interface_cli.c \
vnet/interface_format.c \
vnet/interface_output.c \
vnet/global_funcs.h \
vnet/handoff.h \
vnet/interface.h \
+ vnet/interface.api.h \
vnet/interface_funcs.h \
vnet/l3_types.h \
vnet/pipeline.h \
vnet/replication.h \
vnet/rewrite.h \
- vnet/vnet.h
+ vnet/vnet.h \
+ vnet/vnet_all_api_h.h \
+ vnet/vnet_msg_enum.h
########################################
# Policer infra
########################################
libvnet_la_SOURCES += \
vnet/l2/feat_bitmap.c \
+ vnet/l2/l2_api.c \
vnet/l2/l2_bd.c \
vnet/l2/l2_bvi.c \
vnet/l2/l2_input_classify.c \
vnet/l2/l2_fib.h \
vnet/l2/l2_rw.h \
vnet/l2/l2_xcrw.h \
- vnet/l2/l2_classify.h
+ vnet/l2/l2_classify.h \
+ vnet/l2/l2.api.h
########################################
# Layer 2 protocol: SRP
vnet/mpls/mpls_features.c \
vnet/mpls/node.c \
vnet/mpls/interface.c \
- vnet/mpls/policy_encap.c \
+ vnet/mpls/mpls_tunnel.c \
vnet/mpls/pg.c
nobase_include_HEADERS += \
vnet/mpls/mpls.h \
vnet/mpls/mpls_types.h \
+ vnet/mpls/mpls_tunnel.h \
vnet/mpls/packet.h \
vnet/mpls/error.def
vnet/fib/fib_entry_src_mpls.c \
vnet/fib/fib_entry_src_lisp.c \
vnet/fib/fib_entry_cover.c \
+ vnet/fib/fib_entry_delegate.c \
vnet/fib/fib_path_list.c \
vnet/fib/fib_path.c \
vnet/fib/fib_path_ext.c \
vnet/fib/fib_table.h \
vnet/fib/fib_node.h \
vnet/fib/fib_node_list.h \
- vnet/fib/fib_entry.h
+ vnet/fib/fib_entry.h \
+ vnet/fib/fib_entry_delegate.h
########################################
# ADJ
pcap2pg_LDADD = libvnet.la -l:libvppinfra.a -lpthread -lm -ldl
noinst_PROGRAMS += pcap2pg
+
+# Set the suffix list
+SUFFIXES = .api.h .api .api.json
+
+# install the API definition, so we can produce java bindings, etc.
+
+apidir = $(prefix)/vnet
+api_DATA = vnet/interface.api.json vnet/l2/l2.api.json
+
+# The actual %.api.h rule is in .../build-data/packages/suffix-rules.mk
+# and requires a symbolic link at the top of the vnet source tree
+
+include $(top_srcdir)/suffix-rules.mk