]> git.proxmox.com Git - mirror_frr.git/blame - Makefile.am
Merge pull request #3717 from qlyoung/fix-systemd-deps-6.0.3
[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
9eeccf82 121include solaris/subdir.am
4a121f99 122
c12fcb4c
DL
123include bgpd/subdir.am
124include bgpd/rfp-example/librfp/subdir.am
125include bgpd/rfp-example/rfptest/subdir.am
7f269117
DL
126include ripd/subdir.am
127include ripngd/subdir.am
afca0690
DL
128include ospfd/subdir.am
129include ospf6d/subdir.am
130include ospfclient/subdir.am
86e463cf 131include isisd/subdir.am
cde8cd9d 132include nhrpd/subdir.am
30237d29 133include ldpd/subdir.am
b6f5781c
DL
134include babeld/subdir.am
135include eigrpd/subdir.am
8a71d93d 136include sharpd/subdir.am
35a3c3c1 137include pimd/subdir.am
e5c83d9b 138include pbrd/subdir.am
7e24fdf3 139include staticd/subdir.am
7134904b 140include bfdd/subdir.am
7f269117 141
6ea061a2 142include vtysh/subdir.am
97fb7f12 143include tests/subdir.am
718e3744 144
53d93be1
DL
145if PKGSRC
146rcdir=@pkgsrcrcdir@
147rc_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
155endif
156
157EXTRA_DIST += \
53d93be1 158 aclocal.m4 \
64e350df 159 README.md \
53d93be1 160 m4/README.txt \
1ae84a35 161 config.version \
02dfaaf5
DL
162 changelog-auto \
163 changelog-auto.in \
53d93be1
DL
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 \
9979b4a8
DL
185 babeld/Makefile \
186 bgpd/Makefile \
187 bgpd/rfp-example/librfp/Makefile \
188 bgpd/rfp-example/rfptest/Makefile \
a7c6b8e0
DL
189 doc/Makefile \
190 doc/developer/Makefile \
191 doc/manpages/Makefile \
192 doc/user/Makefile \
9979b4a8
DL
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 \
53d93be1 214 # end
0fc42949 215
4a121f99 216noinst_HEADERS += defaults.h
da5a0d00 217
255436ef
DL
218clean-local: clean-python
219.PHONY: clean-python
220clean-python:
221 find -name __pycache__ -o -name .pytest_cache | xargs rm -rf
222 find -name "*.pyc" -o -name "*_clippy.c" | xargs rm -f
223
9d86ee74
DL
224redistclean:
225 $(MAKE) distclean CONFIG_CLEAN_FILES="$(filter-out $(EXTRA_DIST), $(CONFIG_CLEAN_FILES))"
226
da5a0d00
LB
227indent:
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`
83284209
AJ
229
230if HAVE_GCOV
231
232coverage: check
233 @ find . -name '*.o' -exec gcov {} \;
234
235yorn:
236 @ echo "OK to upload coverage to https://coverage.io [y/N]:"
237 @ read yn; test "$$yn" = "y"
238
239upload-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
244force-check-coverage: coverage upload-check-coverage
245
246check-coverage: coverage yorn upload-check-coverage
247
248endif