]> git.proxmox.com Git - mirror_frr.git/blob - Makefile.am
Merge pull request #3506 from opensourcerouting/6.0-init-fixes
[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 debianpkg/subdir.am
122 include solaris/subdir.am
123
124 include bgpd/subdir.am
125 include bgpd/rfp-example/librfp/subdir.am
126 include bgpd/rfp-example/rfptest/subdir.am
127 include ripd/subdir.am
128 include ripngd/subdir.am
129 include ospfd/subdir.am
130 include ospf6d/subdir.am
131 include ospfclient/subdir.am
132 include isisd/subdir.am
133 include nhrpd/subdir.am
134 include ldpd/subdir.am
135 include babeld/subdir.am
136 include eigrpd/subdir.am
137 include sharpd/subdir.am
138 include pimd/subdir.am
139 include pbrd/subdir.am
140 include staticd/subdir.am
141 include bfdd/subdir.am
142
143 include vtysh/subdir.am
144 include tests/subdir.am
145
146 if PKGSRC
147 rcdir=@pkgsrcrcdir@
148 rc_SCRIPTS = \
149 pkgsrc/bgpd.sh \
150 pkgsrc/ospf6d.sh \
151 pkgsrc/ospfd.sh \
152 pkgsrc/ripd.sh \
153 pkgsrc/ripngd.sh \
154 pkgsrc/zebra.sh \
155 # end
156 endif
157
158 EXTRA_DIST += \
159 aclocal.m4 \
160 README.md \
161 m4/README.txt \
162 config.version \
163 \
164 python/clidef.py \
165 python/clippy/__init__.py \
166 \
167 redhat/frr.init \
168 redhat/frr.service \
169 redhat/daemons \
170 redhat/frr.logrotate \
171 redhat/frr.pam \
172 redhat/frr.spec \
173 redhat/README.rpm_build.md \
174 \
175 snapcraft/snapcraft.yaml \
176 snapcraft/README.snap_build.md \
177 snapcraft/README.usage.md \
178 snapcraft/extra_version_info.txt \
179 snapcraft/scripts \
180 snapcraft/defaults \
181 snapcraft/helpers \
182 snapcraft/snap \
183 \
184 babeld/Makefile \
185 bgpd/Makefile \
186 bgpd/rfp-example/librfp/Makefile \
187 bgpd/rfp-example/rfptest/Makefile \
188 doc/Makefile \
189 doc/developer/Makefile \
190 doc/manpages/Makefile \
191 doc/user/Makefile \
192 eigrpd/Makefile \
193 fpm/Makefile \
194 isisd/Makefile \
195 ldpd/Makefile \
196 lib/Makefile \
197 nhrpd/Makefile \
198 ospf6d/Makefile \
199 ospfclient/Makefile \
200 ospfd/Makefile \
201 pbrd/Makefile \
202 pimd/Makefile \
203 ports/Makefile \
204 qpb/Makefile \
205 ripd/Makefile \
206 ripngd/Makefile \
207 staticd/Makefile \
208 tests/Makefile \
209 tools/Makefile \
210 vtysh/Makefile \
211 watchfrr/Makefile \
212 zebra/Makefile \
213 # end
214
215 noinst_HEADERS += defaults.h
216
217 clean-local: clean-python
218 .PHONY: clean-python
219 clean-python:
220 find -name __pycache__ -o -name .pytest_cache | xargs rm -rf
221 find -name "*.pyc" -o -name "*_clippy.c" | xargs rm -f
222
223 redistclean:
224 $(MAKE) distclean CONFIG_CLEAN_FILES="$(filter-out $(EXTRA_DIST), $(CONFIG_CLEAN_FILES))"
225
226 indent:
227 tools/indent.py `find sharpd bgpd eigrpd include isisd lib nhrpd ospf6d ospfd pimd qpb ripd vtysh zebra -name '*.[ch]' | grep -v include/linux`
228
229 if HAVE_GCOV
230
231 coverage: check
232 @ find . -name '*.o' -exec gcov {} \;
233
234 yorn:
235 @ echo "OK to upload coverage to https://coverage.io [y/N]:"
236 @ read yn; test "$$yn" = "y"
237
238 upload-check-coverage:
239 @ if [ "x${COMMIT}" = "x" ]; then echo "COMMIT required"; exit 1; fi
240 @ if [ "x${TOKEN}" = "x" ]; then echo "TOKEN required"; exit 1; fi
241 curl -s https://codecov.io/bash | bash -s - -C ${COMMIT} -t ${TOKEN}
242
243 force-check-coverage: coverage upload-check-coverage
244
245 check-coverage: coverage yorn upload-check-coverage
246
247 endif