VPP-76:APIs for Proof of transit feature added to iOAM
[vpp.git] / plugins / Makefile.am
1 # Copyright (c) 2016 Cisco and/or its affiliates.
2 # Licensed under the Apache License, Version 2.0 (the "License");
3 # you may not use this file except in compliance with the License.
4 # You may obtain a copy of the License at:
5 #
6 #     http://www.apache.org/licenses/LICENSE-2.0
7 #
8 # Unless required by applicable law or agreed to in writing, software
9 # distributed under the License is distributed on an "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 # See the License for the specific language governing permissions and
12 # limitations under the License.
13
14 AUTOMAKE_OPTIONS = foreign subdir-objects
15
16 AM_CFLAGS = -Wall -I@TOOLKIT_INCLUDE@
17
18
19 ########################################
20 # SIXRD (RFC5969)
21 ########################################
22 libsixrd_plugin_la_SOURCES = plugins/sixrd/sixrd.c plugins/sixrd/ip4_sixrd.c plugins/sixrd/ip6_sixrd.c
23 nobase_include_HEADERS = plugins/sixrd/sixrd.h
24
25 libsixrd_plugin_la_LDFLAGS = -module
26 BUILT_SOURCES =
27
28 lib_LTLIBRARIES = libsixrd_plugin.la
29
30 ########################################
31 # iOAM Proof of Transit
32 ########################################
33
34 ioam_pot_plugin_la_SOURCES = plugins/ioam/lib-pot/pot_util.c plugins/ioam/encap/ip6_ioam_pot.c \
35         plugins/ioam/lib-pot/pot_util.h plugins/ioam/lib-pot/math64.h plugins/ioam/lib-pot/pot_api.c
36 ioam_pot_plugin_la_LDFLAGS = -module
37
38 BUILT_SOURCES = plugins/ioam/lib-pot/pot.api.h
39 SUFFIXES = .api.h .api
40
41 %.api.h: %.api
42         mkdir -p `dirname $@` ; \
43         $(CC) $(CPPFLAGS) -E -P -C -x c $^ \
44         | vppapigen --input - --output $@ --show-name $@
45
46 nobase_include_HEADERS =                        \
47   plugins/ioam/lib-pot/pot_all_api_h.h          \
48   plugins/ioam/lib-pot/pot_msg_enum.h           \
49   plugins/ioam/lib-pot/pot.api.h                \
50   plugins/ioam/lib-pot/pot_util.h               \
51   plugins/ioam/lib-pot/math64.h
52
53 ioam_pot_test_plugin_la_SOURCES = plugins/ioam/lib-pot/pot_test.c plugins/ioam/lib-pot/pot_plugin.api.h
54 ioam_pot_test_plugin_la_LDFLAGS = -module
55
56 lib_LTLIBRARIES += ioam_pot_plugin.la ioam_pot_test_plugin.la
57
58 if WITH_PLUGIN_TOOLKIT
59 install-data-hook:
60         mkdir /usr/lib/vpp_plugins || true
61         mkdir /usr/lib/vpp_api_test_plugins || true
62         cp $(prefix)/lib/sixrd_plugin.so.*.*.* /usr/lib/vpp_plugins
63         cp $(prefix)/lib/ioam_pot_plugin.so.*.*.* /usr/lib/vpp_plugins
64         cp $(prefix)/lib/ioam_pot_test_plugin.so.*.*.* \
65                 /usr/lib/vpp_api_test_plugins
66 endif