blob: 6f146fea4a75204afba8cd3c16079e1f097961ca [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
Neale Ranns812ed392017-10-16 04:20:13 -070023AM_CXXFLAGS = -Wall -std=gnu++11
Damjan Marion7cd468a2016-12-19 23:05:39 +010024
25SUBDIRS = .
26SUFFIXES = .api.h .api .api.json
27API_FILES =
28noinst_HEADERS =
29dist_bin_SCRIPTS =
30lib_LTLIBRARIES =
31BUILT_SOURCES =
Burt Silverman006eb472017-01-27 15:29:54 -050032CLEANFILES =
Padraig Connolly69915cb2017-01-10 17:10:39 +000033install-data-local:
34 @echo "Building vppctl command list..."
35 @DIR_SEARCH="$(srcdir)" ; \
36 DIR_EXCLUDE="examples" ; \
37 GREP_TIME=`time (grep -wIr "\.path = " $$DIR_SEARCH --exclude-dir=$$DIR_EXCLUDE \
38 | cut -d '"' -f2 | sort -u > $(srcdir)/scripts/vppctl-cmd-list) 2>&1` ; \
39 GREP_TIME=`echo $$GREP_TIME | awk '{print $$2}'` ; \
40 echo "Command list built, Time taken: $$GREP_TIME"
Damjan Marion7cd468a2016-12-19 23:05:39 +010041
42###############################################################################
Damjan Marion7cd468a2016-12-19 23:05:39 +010043# Components
44###############################################################################
45
46include vppinfra.am
47include vppapigen.am
48
49if ENABLE_PERFTOOL
50include perftool.am
51endif
52
53if ENABLE_G2
54include g2.am
55endif
56
57if ENABLE_SVM
58include svm.am
59endif
60
61if ENABLE_VLIB
62include vlib.am
63endif
64
65if ENABLE_SVM
66if ENABLE_VLIB
67include vlib-api.am
68include vnet.am
69include vpp.am
70include vpp-api-test.am
Dave Barach68b0fb02017-02-28 15:15:56 -050071include uri.am
Dave Wallace5c7cf1c2017-10-24 04:12:18 -040072include vcl.am
Damjan Marion7cd468a2016-12-19 23:05:39 +010073
Damjan Marioncb034b92016-12-28 18:38:59 +010074SUBDIRS += plugins
Dave Barach7b0c6732017-11-06 16:06:05 -050075SUBDIRS += vpp-api/vapi
Damjan Marioncb034b92016-12-28 18:38:59 +010076
77if ENABLE_PAPI
Ole Troan3cc49712017-03-08 12:02:24 +010078include vpp-api.am
Damjan Marioncb034b92016-12-28 18:38:59 +010079SUBDIRS += vpp-api/python
80endif
81
82if ENABLE_JAPI
83SUBDIRS += vpp-api/java
84endif
Damjan Marion7cd468a2016-12-19 23:05:39 +010085
Dave Barach7b0c6732017-11-06 16:06:05 -050086if ENABLE_VOM
Neale Ranns812ed392017-10-16 04:20:13 -070087SUBDIRS += vpp-api/vom
Dave Barach7b0c6732017-11-06 16:06:05 -050088endif
Klement Sekera8f2a4ea2017-05-04 06:15:18 +020089
Damjan Marion7cd468a2016-12-19 23:05:39 +010090###############################################################################
91# API
92###############################################################################
93
94include suffix-rules.mk
95
96# Set the suffix list
97apidir = $(prefix)/share/vpp/api/core
98
99api_DATA = \
100 $(patsubst %.api,%.api.json,$(API_FILES))
101
102BUILT_SOURCES += \
Damjan Marion7cd468a2016-12-19 23:05:39 +0100103 $(patsubst %.api,%.api.h,$(API_FILES))
104
105endif # if ENABLE_VLIB
106endif # if ENABLE_SVM
Burt Silverman006eb472017-01-27 15:29:54 -0500107
108CLEANFILES += $(BUILT_SOURCES) $(api_DATA)