blob: 5daaa48e9df48d0b0e98751de64d61a7d54b643b [file] [log] [blame]
Damjan Marion7cd468a2016-12-19 23:05:39 +01001# 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###############################################################################
15# Global Defines
16###############################################################################
17
18AUTOMAKE_OPTIONS = foreign subdir-objects
19ACLOCAL_AMFLAGS = -I m4
Damjan Marion724f64c2017-01-11 11:11:00 +010020AM_LIBTOOLFLAGS = --quiet
Damjan Marion7cd468a2016-12-19 23:05:39 +010021
22AM_CFLAGS = -Wall
23
24SUBDIRS = .
25SUFFIXES = .api.h .api .api.json
26API_FILES =
27noinst_HEADERS =
28dist_bin_SCRIPTS =
29lib_LTLIBRARIES =
30BUILT_SOURCES =
Burt Silverman006eb472017-01-27 15:29:54 -050031CLEANFILES =
Padraig Connolly69915cb2017-01-10 17:10:39 +000032install-data-local:
33 @echo "Building vppctl command list..."
34 @DIR_SEARCH="$(srcdir)" ; \
35 DIR_EXCLUDE="examples" ; \
36 GREP_TIME=`time (grep -wIr "\.path = " $$DIR_SEARCH --exclude-dir=$$DIR_EXCLUDE \
37 | cut -d '"' -f2 | sort -u > $(srcdir)/scripts/vppctl-cmd-list) 2>&1` ; \
38 GREP_TIME=`echo $$GREP_TIME | awk '{print $$2}'` ; \
39 echo "Command list built, Time taken: $$GREP_TIME"
Damjan Marion7cd468a2016-12-19 23:05:39 +010040
41###############################################################################
Damjan Marion7cd468a2016-12-19 23:05:39 +010042# Components
43###############################################################################
44
45include vppinfra.am
46include vppapigen.am
47
48if ENABLE_PERFTOOL
49include perftool.am
50endif
51
52if ENABLE_G2
53include g2.am
54endif
55
56if ENABLE_SVM
57include svm.am
58endif
59
60if ENABLE_VLIB
61include vlib.am
62endif
63
64if ENABLE_SVM
65if ENABLE_VLIB
66include vlib-api.am
67include vnet.am
68include vpp.am
69include vpp-api-test.am
Dave Barach68b0fb02017-02-28 15:15:56 -050070include uri.am
Damjan Marion7cd468a2016-12-19 23:05:39 +010071
Damjan Marioncb034b92016-12-28 18:38:59 +010072SUBDIRS += plugins
73
74if ENABLE_PAPI
75SUBDIRS += vpp-api/python
76endif
77
78if ENABLE_JAPI
79SUBDIRS += vpp-api/java
80endif
Damjan Marion7cd468a2016-12-19 23:05:39 +010081
82###############################################################################
83# API
84###############################################################################
85
86include suffix-rules.mk
87
88# Set the suffix list
89apidir = $(prefix)/share/vpp/api/core
90
91api_DATA = \
92 $(patsubst %.api,%.api.json,$(API_FILES))
93
94BUILT_SOURCES += \
Damjan Marion7cd468a2016-12-19 23:05:39 +010095 $(patsubst %.api,%.api.h,$(API_FILES))
96
97endif # if ENABLE_VLIB
98endif # if ENABLE_SVM
Burt Silverman006eb472017-01-27 15:29:54 -050099
100CLEANFILES += $(BUILT_SOURCES) $(api_DATA)