blob: 68cff7852ef1a15495797f395e0885e2232d8c8d [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
81if ENABLE_JAPI
82SUBDIRS += vpp-api/java
83endif
Damjan Marion7cd468a2016-12-19 23:05:39 +010084
85###############################################################################
86# API
87###############################################################################
88
89include suffix-rules.mk
90
91# Set the suffix list
92apidir = $(prefix)/share/vpp/api/core
93
94api_DATA = \
95 $(patsubst %.api,%.api.json,$(API_FILES))
96
97BUILT_SOURCES += \
Damjan Marion7cd468a2016-12-19 23:05:39 +010098 $(patsubst %.api,%.api.h,$(API_FILES))
99
100endif # if ENABLE_VLIB
101endif # if ENABLE_SVM
Burt Silverman006eb472017-01-27 15:29:54 -0500102
103CLEANFILES += $(BUILT_SOURCES) $(api_DATA)