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