]> git.proxmox.com Git - mirror_frr.git/blame - Makefile.am
Merge pull request #3433 from opensourcerouting/init-6.0
[mirror_frr.git] / Makefile.am
CommitLineData
718e3744 1## Process this file with automake to produce Makefile.in.
2
4a121f99 3AUTOMAKE_OPTIONS = subdir-objects 1.12
b1c41d1c 4ACLOCAL_AMFLAGS = -I m4
4a121f99 5
b1c41d1c 6AM_CFLAGS = \
eb4569b6
DL
7 $(SAN_FLAGS) \
8 $(WERROR) \
9 # end
b1c41d1c 10AM_CPPFLAGS = \
b1c41d1c
DL
11 -I$(top_srcdir) -I$(top_srcdir)/include -I$(top_srcdir)/lib \
12 -I$(top_builddir) -I$(top_builddir)/include -I$(top_builddir)/lib
ba661bd4 13AM_LDFLAGS = \
eb4569b6
DL
14 -export-dynamic \
15 $(SAN_FLAGS) \
16 # end
62d21cc6 17DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\" -DCONFDATE=$(CONFDATE)
64d44794 18LIBCAP = @LIBCAP@
4a121f99 19
80055e84
DL
20AR_FLAGS = @AR_FLAGS@
21ARFLAGS = @ARFLAGS@
22RANLIB = @RANLIB@
23
66a8a7a4
DL
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-%
32VARFD ?= 1
33shvar-%:
34 @echo "$*=\"$($*)\"" >&$(VARFD)
35var-%:
36 @echo "$($*)" >&$(VARFD)
37
5f20d9ef
DL
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
4a121f99
DL
80EXTRA_DIST =
81BUILT_SOURCES =
0f8b5fd5 82CLEANFILES =
255436ef 83DISTCLEANFILES =
4a121f99 84
64d44794
DL
85examplesdir = $(exampledir)
86
4a121f99
DL
87bin_PROGRAMS =
88sbin_PROGRAMS =
bd354725 89sbin_SCRIPTS =
4a121f99
DL
90noinst_PROGRAMS =
91noinst_HEADERS =
92noinst_LIBRARIES =
a7c6b8e0 93nodist_noinst_DATA =
4a121f99 94lib_LTLIBRARIES =
64d44794 95module_LTLIBRARIES =
4a121f99 96pkginclude_HEADERS =
70d27c5b 97nodist_pkginclude_HEADERS =
64d44794 98dist_examples_DATA =
a7c6b8e0 99man_MANS =
e5410310 100vtysh_scan =
4a121f99 101
6a35bfba
DL
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
a7c6b8e0
DL
110include doc/subdir.am
111include doc/user/subdir.am
112include doc/manpages/subdir.am
113include doc/developer/subdir.am
ba777396 114include include/subdir.am
4a121f99 115include lib/subdir.am
64d44794 116include zebra/subdir.am
bd354725 117include watchfrr/subdir.am
0f8b5fd5
DL
118include qpb/subdir.am
119include fpm/subdir.am
bd354725 120include tools/subdir.am
bd2e9432 121include debianpkg/subdir.am
9eeccf82 122include solaris/subdir.am
4a121f99 123
c12fcb4c
DL
124include bgpd/subdir.am
125include bgpd/rfp-example/librfp/subdir.am
126include bgpd/rfp-example/rfptest/subdir.am
7f269117
DL
127include ripd/subdir.am
128include ripngd/subdir.am
afca0690
DL
129include ospfd/subdir.am
130include ospf6d/subdir.am
131include ospfclient/subdir.am
86e463cf 132include isisd/subdir.am
cde8cd9d 133include nhrpd/subdir.am
30237d29 134include ldpd/subdir.am
b6f5781c
DL
135include babeld/subdir.am
136include eigrpd/subdir.am
8a71d93d 137include sharpd/subdir.am
35a3c3c1 138include pimd/subdir.am
e5c83d9b 139include pbrd/subdir.am
7e24fdf3 140include staticd/subdir.am
7134904b 141include bfdd/subdir.am
7f269117 142
6ea061a2 143include vtysh/subdir.am
97fb7f12 144include tests/subdir.am
718e3744 145
53d93be1
DL
146if PKGSRC
147rcdir=@pkgsrcrcdir@
148rc_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
156endif
157
158EXTRA_DIST += \
53d93be1 159 aclocal.m4 \
64e350df 160 README.md \
53d93be1 161 m4/README.txt \
1ae84a35 162 config.version \
53d93be1
DL
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 \
9979b4a8
DL
184 babeld/Makefile \
185 bgpd/Makefile \
186 bgpd/rfp-example/librfp/Makefile \
187 bgpd/rfp-example/rfptest/Makefile \
a7c6b8e0
DL
188 doc/Makefile \
189 doc/developer/Makefile \
190 doc/manpages/Makefile \
191 doc/user/Makefile \
9979b4a8
DL
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 \
53d93be1 213 # end
0fc42949 214
4a121f99 215noinst_HEADERS += defaults.h
da5a0d00 216
255436ef
DL
217clean-local: clean-python
218.PHONY: clean-python
219clean-python:
220 find -name __pycache__ -o -name .pytest_cache | xargs rm -rf
221 find -name "*.pyc" -o -name "*_clippy.c" | xargs rm -f
222
9d86ee74
DL
223redistclean:
224 $(MAKE) distclean CONFIG_CLEAN_FILES="$(filter-out $(EXTRA_DIST), $(CONFIG_CLEAN_FILES))"
225
da5a0d00
LB
226indent:
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`
83284209
AJ
228
229if HAVE_GCOV
230
231coverage: check
232 @ find . -name '*.o' -exec gcov {} \;
233
234yorn:
235 @ echo "OK to upload coverage to https://coverage.io [y/N]:"
236 @ read yn; test "$$yn" = "y"
237
238upload-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
243force-check-coverage: coverage upload-check-coverage
244
245check-coverage: coverage yorn upload-check-coverage
246
247endif