Initial commit of vpp code.
[vpp.git] / vlib-api / Makefile.am
1 # Copyright (c) 2015 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
17
18 lib_LTLIBRARIES = libvlibapi.la libvlibmemory.la libvlibmemoryclient.la \
19                   libvlibsocket.la
20
21 libvlibapi_la_SOURCES =                         \
22         vlibapi/api.h                           \
23         vlibapi/api_shared.c
24
25 nobase_include_HEADERS = vlibapi/api.h
26
27 libvlibmemory_la_SOURCES =                      \
28         vlibmemory/api.h                        \
29         vlibmemory/memclnt.api                  \
30         vlibmemory/memory_shared.c              \
31         vlibmemory/memory_vlib.c                \
32         vlibmemory/vl_memory_api_h.h            \
33         vlibmemory/vl_memory_msg_enum.h         \
34         vlibmemory/unix_shared_memory_queue.c   \
35         vlibmemory/unix_shared_memory_queue.h 
36
37 libvlibmemoryclient_la_SOURCES =                \
38         vlibmemory/api.h                        \
39         vlibmemory/memclnt.api                  \
40         vlibmemory/memory_shared.c              \
41         vlibmemory/memory_client.c              \
42         vlibmemory/vl_memory_api_h.h            \
43         vlibmemory/vl_memory_msg_enum.h         \
44         vlibmemory/unix_shared_memory_queue.c   \
45         vlibmemory/unix_shared_memory_queue.h 
46
47 nobase_include_HEADERS +=                       \
48         vlibmemory/api.h                        \
49         vlibmemory/vl_memory_api_h.h            \
50         vlibmemory/vl_memory_msg_enum.h         \
51         vlibmemory/unix_shared_memory_queue.h   \
52         vlibmemory/memclnt.api.h
53
54 libvlibsocket_la_SOURCES =                      \
55         vlibsocket/api.h                        \
56         vlibsocket/sockclnt.api                 \
57         vlibsocket/sockclnt_vlib.c              \
58         vlibsocket/socksvr_vlib.c               \
59         vlibsocket/vl_socket_api_h.h            \
60         vlibsocket/vl_socket_msg_enum.h
61
62 nobase_include_HEADERS +=                       \
63         vlibsocket/api.h                        \
64         vlibsocket/vl_socket_api_h.h            \
65         vlibsocket/vl_socket_msg_enum.h         \
66         vlibsocket/sockclnt.api.h
67
68 noinst_PROGRAMS = sock_test
69
70 sock_test_SOURCES = vlibsocket/sock_test.c 
71 sock_test_LDADD = 
72
73 BUILT_SOURCES = vlibsocket/sockclnt.api.h vlibmemory/memclnt.api.h 
74
75 SUFFIXES = .api.h .api
76
77 %.api.h: %.api
78         @echo "  APIGEN  " $@ ;                                 \
79         @mkdir -p `dirname $@` ;                                \
80         $(CC) $(CPPFLAGS) -E -P -C -x c $^                      \
81         | vppapigen --input - --output $@ --show-name $@