]>
Commit | Line | Data |
---|---|---|
1 | ## Process this file with automake to produce Makefile.in. | |
2 | ||
3 | AUTOMAKE_OPTIONS = subdir-objects 1.12 | |
4 | ACLOCAL_AMFLAGS = -I m4 | |
5 | ||
6 | AM_CFLAGS = \ | |
7 | $(LIBYANG_CFLAGS) \ | |
8 | $(SQLITE3_CFLAGS) \ | |
9 | $(UNWIND_CFLAGS) \ | |
10 | $(SAN_FLAGS) \ | |
11 | $(WERROR) \ | |
12 | # end | |
13 | AM_CPPFLAGS = \ | |
14 | -I$(top_srcdir) -I$(top_srcdir)/include -I$(top_srcdir)/lib \ | |
15 | -I$(top_builddir) -I$(top_builddir)/include -I$(top_builddir)/lib \ | |
16 | $(LUA_INCLUDE) \ | |
17 | # end | |
18 | AM_LDFLAGS = \ | |
19 | -export-dynamic \ | |
20 | $(AC_LDFLAGS) \ | |
21 | $(SAN_FLAGS) \ | |
22 | # end | |
23 | DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\" -DCONFDATE=$(CONFDATE) | |
24 | ||
25 | AR_FLAGS = @AR_FLAGS@ | |
26 | ARFLAGS = @ARFLAGS@ | |
27 | RANLIB = @RANLIB@ | |
28 | ||
29 | # these two targets are provided to easily grab autoconf/Makefile variables | |
30 | # you can use either: | |
31 | # eval `make VARFD=3 shvar-CFLAGS 3>&1 1>&2` | |
32 | # CFLAGS="`make VARFD=3 var-CFLAGS 3>&1 1>&2`" | |
33 | # where the former can be used to set several variables at once. Note the | |
34 | # fd redirections -- this is to prevent garbage from make rebuilding other | |
35 | # targets from causing issues. | |
36 | .PHONY: shvar-% var-% | |
37 | VARFD ?= 1 | |
38 | shvar-%: | |
39 | @echo "$*=\"$($*)\"" >&$(VARFD) | |
40 | var-%: | |
41 | @echo "$($*)" >&$(VARFD) | |
42 | ||
43 | if ONLY_CLIPPY | |
44 | .DEFAULT_GOAL := clippy-only | |
45 | endif | |
46 | clippy-only: Makefile lib/clippy config.h | |
47 | .PHONY: clippy-only | |
48 | ||
49 | # overwriting these vars breaks cross-compilation. let's be helpful and warn. | |
50 | # | |
51 | # note: "#AUTODERP# " will be removed from Makefile by configure. These are | |
52 | # GNU make directives & automake will f*ck them up by trying to process them | |
53 | # as automake directives. | |
54 | # | |
55 | #AUTODERP# null= | |
56 | #AUTODERP# SPACE=$(null) $(null) | |
57 | #AUTODERP# mkcheck_CC = $(findstring $(SPACE)CC=, $(SPACE)$(MAKEOVERRIDES)) | |
58 | #AUTODERP# mkcheck_CFLAGS = $(findstring $(SPACE)CFLAGS=, $(SPACE)$(MAKEOVERRIDES)) | |
59 | #AUTODERP# mkcheck_CPPFLAGS = $(findstring $(SPACE)CPPFLAGS=,$(SPACE)$(MAKEOVERRIDES)) | |
60 | #AUTODERP# mkcheck_CCLD = $(findstring $(SPACE)CCLD=, $(SPACE)$(MAKEOVERRIDES)) | |
61 | #AUTODERP# mkcheck_LD = $(findstring $(SPACE)LD=, $(SPACE)$(MAKEOVERRIDES)) | |
62 | #AUTODERP# mkcheck_LDFLAGS = $(findstring $(SPACE)LDFLAGS=, $(SPACE)$(MAKEOVERRIDES)) | |
63 | #AUTODERP# # | |
64 | #AUTODERP# ifneq ($(mkcheck_CC),) | |
65 | #AUTODERP# $(warning WARNING: you have overwritten the "CC" variable on the make command line.) | |
66 | #AUTODERP# endif | |
67 | #AUTODERP# ifneq ($(mkcheck_CFLAGS),) | |
68 | #AUTODERP# $(warning WARNING: you have overwritten the "CFLAGS" variable on the make command line.) | |
69 | #AUTODERP# endif | |
70 | #AUTODERP# ifneq ($(mkcheck_CPPFLAGS),) | |
71 | #AUTODERP# $(warning WARNING: you have overwritten the "CPPFLAGS" variable on the make command line.) | |
72 | #AUTODERP# endif | |
73 | #AUTODERP# ifneq ($(mkcheck_CCLD),) | |
74 | #AUTODERP# $(warning WARNING: you have overwritten the "CCLD" variable on the make command line.) | |
75 | #AUTODERP# endif | |
76 | #AUTODERP# ifneq ($(mkcheck_LD),) | |
77 | #AUTODERP# $(warning WARNING: you have overwritten the "LD" variable on the make command line.) | |
78 | #AUTODERP# endif | |
79 | #AUTODERP# ifneq ($(mkcheck_LDFLAGS),) | |
80 | #AUTODERP# $(warning WARNING: you have overwritten the "LDFLAGS" variable on the make command line.) | |
81 | #AUTODERP# endif | |
82 | #AUTODERP# # | |
83 | #AUTODERP# ifneq ($(mkcheck_CC)$(mkcheck_CFLAGS)$(mkcheck_CPPFLAGS)$(mkcheck_CCLD)$(mkcheck_LD)$(mkcheck_LDFLAGS),) | |
84 | #AUTODERP# $(warning ------) | |
85 | #AUTODERP# $(warning While overwriting these variables works most of the time, it is not recommended and can cause confusing build errors.) | |
86 | #AUTODERP# $(warning This is especially problematic when cross-compiling, since tools that run on the build system during the build process will not be compiled correctly.) | |
87 | #AUTODERP# $(warning All of these variables should be supplied to 'configure', and they will be remembered and correctly applied during 'make'.) | |
88 | #AUTODERP# $(warning ------) | |
89 | #AUTODERP# endif | |
90 | ||
91 | EXTRA_DIST = | |
92 | BUILT_SOURCES = | |
93 | CLEANFILES = | |
94 | DISTCLEANFILES = | |
95 | ||
96 | examplesdir = $(exampledir) | |
97 | ||
98 | bin_PROGRAMS = | |
99 | sbin_PROGRAMS = | |
100 | sbin_SCRIPTS = | |
101 | noinst_PROGRAMS = | |
102 | noinst_HEADERS = | |
103 | noinst_LIBRARIES = | |
104 | nodist_noinst_DATA = | |
105 | lib_LTLIBRARIES = | |
106 | module_LTLIBRARIES = | |
107 | pkginclude_HEADERS = | |
108 | nodist_pkginclude_HEADERS = | |
109 | dist_examples_DATA = | |
110 | dist_yangmodels_DATA = | |
111 | man_MANS = | |
112 | vtysh_scan = | |
113 | ||
114 | ## libtool, the self-made GNU scourge | |
115 | ## ... this should fix relinking | |
116 | ## ... and AUTOMAKE_DUMMY is needed to prevent automake from treating this | |
117 | ## as overriding the normal targets... | |
118 | $(AUTOMAKE_DUMMY)install-moduleLTLIBRARIES: install-libLTLIBRARIES | |
119 | $(AUTOMAKE_DUMMY)install-binPROGRAMS: install-libLTLIBRARIES | |
120 | $(AUTOMAKE_DUMMY)install-sbinPROGRAMS: install-libLTLIBRARIES | |
121 | ||
122 | include doc/subdir.am | |
123 | include doc/user/subdir.am | |
124 | include doc/manpages/subdir.am | |
125 | include doc/developer/subdir.am | |
126 | include include/subdir.am | |
127 | include lib/subdir.am | |
128 | include mlag/subdir.am | |
129 | include zebra/subdir.am | |
130 | include watchfrr/subdir.am | |
131 | include qpb/subdir.am | |
132 | include fpm/subdir.am | |
133 | include grpc/subdir.am | |
134 | include tools/subdir.am | |
135 | include solaris/subdir.am | |
136 | ||
137 | include bgpd/subdir.am | |
138 | include bgpd/rfp-example/librfp/subdir.am | |
139 | include bgpd/rfp-example/rfptest/subdir.am | |
140 | include ripd/subdir.am | |
141 | include ripngd/subdir.am | |
142 | include ospfd/subdir.am | |
143 | include ospf6d/subdir.am | |
144 | include ospfclient/subdir.am | |
145 | include isisd/subdir.am | |
146 | include nhrpd/subdir.am | |
147 | include ldpd/subdir.am | |
148 | include babeld/subdir.am | |
149 | include eigrpd/subdir.am | |
150 | include sharpd/subdir.am | |
151 | include pimd/subdir.am | |
152 | include pbrd/subdir.am | |
153 | include staticd/subdir.am | |
154 | include bfdd/subdir.am | |
155 | include yang/subdir.am | |
156 | include yang/libyang_plugins/subdir.am | |
157 | include vrrpd/subdir.am | |
158 | ||
159 | include vtysh/subdir.am | |
160 | include tests/subdir.am | |
161 | include tests/topotests/subdir.am | |
162 | ||
163 | if PKGSRC | |
164 | rcdir=@pkgsrcrcdir@ | |
165 | rc_SCRIPTS = \ | |
166 | pkgsrc/bgpd.sh \ | |
167 | pkgsrc/ospf6d.sh \ | |
168 | pkgsrc/ospfd.sh \ | |
169 | pkgsrc/ripd.sh \ | |
170 | pkgsrc/ripngd.sh \ | |
171 | pkgsrc/zebra.sh \ | |
172 | # end | |
173 | endif | |
174 | ||
175 | EXTRA_DIST += \ | |
176 | aclocal.m4 \ | |
177 | README.md \ | |
178 | m4/README.txt \ | |
179 | m4/libtool-whole-archive.patch \ | |
180 | config.version \ | |
181 | changelog-auto \ | |
182 | changelog-auto.in \ | |
183 | \ | |
184 | python/clidef.py \ | |
185 | python/clippy/__init__.py \ | |
186 | \ | |
187 | redhat/frr.logrotate \ | |
188 | redhat/frr.pam \ | |
189 | redhat/frr.spec \ | |
190 | \ | |
191 | snapcraft/snapcraft.yaml \ | |
192 | snapcraft/README.snap_build.md \ | |
193 | snapcraft/README.usage.md \ | |
194 | snapcraft/extra_version_info.txt \ | |
195 | snapcraft/scripts \ | |
196 | snapcraft/defaults \ | |
197 | snapcraft/helpers \ | |
198 | snapcraft/snap \ | |
199 | babeld/Makefile \ | |
200 | bgpd/Makefile \ | |
201 | bgpd/rfp-example/librfp/Makefile \ | |
202 | bgpd/rfp-example/rfptest/Makefile \ | |
203 | doc/Makefile \ | |
204 | doc/developer/Makefile \ | |
205 | doc/manpages/Makefile \ | |
206 | doc/user/Makefile \ | |
207 | eigrpd/Makefile \ | |
208 | fpm/Makefile \ | |
209 | grpc/Makefile \ | |
210 | isisd/Makefile \ | |
211 | ldpd/Makefile \ | |
212 | lib/Makefile \ | |
213 | nhrpd/Makefile \ | |
214 | ospf6d/Makefile \ | |
215 | ospfclient/Makefile \ | |
216 | ospfd/Makefile \ | |
217 | pbrd/Makefile \ | |
218 | pimd/Makefile \ | |
219 | qpb/Makefile \ | |
220 | ripd/Makefile \ | |
221 | ripngd/Makefile \ | |
222 | staticd/Makefile \ | |
223 | tests/Makefile \ | |
224 | tools/Makefile \ | |
225 | vtysh/Makefile \ | |
226 | watchfrr/Makefile \ | |
227 | zebra/Makefile \ | |
228 | vrrpd/Makefile \ | |
229 | # end | |
230 | ||
231 | noinst_HEADERS += defaults.h | |
232 | ||
233 | clean-local: clean-python | |
234 | .PHONY: clean-python | |
235 | clean-python: | |
236 | find . -name __pycache__ -o -name .pytest_cache | xargs rm -rf | |
237 | find . -name "*.pyc" -o -name "*_clippy.c" | xargs rm -f | |
238 | ||
239 | redistclean: | |
240 | $(MAKE) distclean CONFIG_CLEAN_FILES="$(filter-out $(EXTRA_DIST), $(CONFIG_CLEAN_FILES))" | |
241 | ||
242 | indent: | |
243 | tools/indent.py `find sharpd bgpd eigrpd include isisd lib nhrpd ospf6d ospfd pimd qpb ripd vtysh zebra -name '*.[ch]' | grep -v include/linux` | |
244 | ||
245 | if HAVE_GCOV | |
246 | ||
247 | coverage: check | |
248 | @ find . -name '*.o' -exec gcov {} \; | |
249 | ||
250 | yorn: | |
251 | @ echo "OK to upload coverage to https://coverage.io [y/N]:" | |
252 | @ read yn; test "$$yn" = "y" | |
253 | ||
254 | upload-check-coverage: | |
255 | @ if [ "x${COMMIT}" = "x" ]; then echo "COMMIT required"; exit 1; fi | |
256 | @ if [ "x${TOKEN}" = "x" ]; then echo "TOKEN required"; exit 1; fi | |
257 | curl -s https://codecov.io/bash | bash -s - -C ${COMMIT} -t ${TOKEN} | |
258 | ||
259 | force-check-coverage: coverage upload-check-coverage | |
260 | ||
261 | check-coverage: coverage yorn upload-check-coverage | |
262 | ||
263 | endif |