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