blob: f5fa3398ea40c8d89832e1391665684857b1979b [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
Damjan Marion5f21e1b2018-08-01 14:38:36 +020022AM_CFLAGS = @CPU_FLAGS@ -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 Wallace5c7cf1c2017-10-24 04:12:18 -040071include vcl.am
Damjan Marion7cd468a2016-12-19 23:05:39 +010072
Damjan Marioncb034b92016-12-28 18:38:59 +010073SUBDIRS += plugins
Dave Barach7b0c6732017-11-06 16:06:05 -050074SUBDIRS += vpp-api/vapi
Damjan Marioncb034b92016-12-28 18:38:59 +010075
76if ENABLE_PAPI
Ole Troan3cc49712017-03-08 12:02:24 +010077include vpp-api.am
Damjan Marioncb034b92016-12-28 18:38:59 +010078SUBDIRS += vpp-api/python
79endif
80
Damjan Marion7cd468a2016-12-19 23:05:39 +010081###############################################################################
82# API
83###############################################################################
84
85include suffix-rules.mk
86
87# Set the suffix list
88apidir = $(prefix)/share/vpp/api/core
89
90api_DATA = \
91 $(patsubst %.api,%.api.json,$(API_FILES))
92
93BUILT_SOURCES += \
Damjan Marion7cd468a2016-12-19 23:05:39 +010094 $(patsubst %.api,%.api.h,$(API_FILES))
95
96endif # if ENABLE_VLIB
97endif # if ENABLE_SVM
Burt Silverman006eb472017-01-27 15:29:54 -050098
99CLEANFILES += $(BUILT_SOURCES) $(api_DATA)