summaryrefslogtreecommitdiffstats
path: root/lib/Makefile.am
blob: 14b7130c8a8d796ccff52eb65c256fa968ef1f09 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
## Process this file with automake to produce Makefile.in.

AM_CPPFLAGS = -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib
AM_CFLAGS = $(WERROR)
DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\"
AM_YFLAGS = -d -Dapi.prefix=@BISON_OPENBRACE@cmd_yy@BISON_CLOSEBRACE@ @BISON_VERBOSE@

command_lex.h: command_lex.c
	@if test ! -f $@; then rm -f command_lex.c; else :; fi
	@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) command_lex.c; else :; fi
command_parse.lo: command_lex.h

lib_LTLIBRARIES = libfrr.la
libfrr_la_LDFLAGS = -version-info 0:0:0 

libfrr_la_SOURCES = \
	network.c pid_output.c getopt.c getopt1.c \
	checksum.c vector.c linklist.c vty.c \
	graph.c command_parse.y command_lex.l command_match.c \
	command.c \
	sockunion.c prefix.c thread.c if.c buffer.c table.c hash.c \
	filter.c routemap.c distribute.c stream.c log.c plist.c \
	zclient.c sockopt.c md5.c if_rmap.c keychain.c privs.c \
	sigevent.c pqueue.c jhash.c workqueue.c nexthop.c json.c \
	ptm_lib.c csv.c bfd.c vrf.c systemd.c ns.c memory.c memory_vty.c \
	imsg-buffer.c imsg.c skiplist.c \
	qobj.c wheel.c \
	event_counter.c \
	grammar_sandbox.c \
	srcdest_table.c \
	spf_backoff.c \
	libfrr.c \
	strlcpy.c \
	strlcat.c \
	module.c \
	hook.c \
	# end

BUILT_SOURCES = route_types.h gitversion.h command_parse.h command_lex.h

libfrr_la_LIBADD = @LIBCAP@

if SNMP
lib_LTLIBRARIES +=  libfrrsnmp.la
endif

libfrrsnmp_la_CFLAGS = $(WERROR) $(SNMP_CFLAGS)
libfrrsnmp_la_LDFLAGS = -version-info 0:0:0
libfrrsnmp_la_LIBADD = libfrr.la $(SNMP_LIBS)
libfrrsnmp_la_SOURCES = \
	agentx.c \
	smux.c \
	snmp.c \
	#end

pkginclude_HEADERS = \
	buffer.h checksum.h filter.h getopt.h hash.h \
	if.h linklist.h log.h \
	graph.h command_match.h \
	command.h \
	memory.h network.h prefix.h routemap.h distribute.h sockunion.h \
	stream.h table.h thread.h vector.h version.h vty.h zebra.h \
	plist.h zclient.h sockopt.h smux.h md5.h if_rmap.h keychain.h \
	privs.h sigevent.h pqueue.h jhash.h zassert.h \
	workqueue.h route_types.h libospf.h nexthop.h json.h \
	ptm_lib.h csv.h bfd.h vrf.h ns.h systemd.h bitfield.h \
	fifo.h memory_vty.h mpls.h imsg.h openbsd-queue.h openbsd-tree.h \
	skiplist.h qobj.h wheel.h \
	event_counter.h \
	monotime.h \
	spf_backoff.h \
	srcdest_table.h \
	module.h \
	hook.h \
	libfrr.h \
	# end

noinst_HEADERS = \
	plist_int.h \
	log_int.h

noinst_PROGRAMS = grammar_sandbox

grammar_sandbox_SOURCES = grammar_sandbox_main.c
grammar_sandbox_LDADD = libfrr.la

EXTRA_DIST = \
	queue.h \
	command_lex.h \
	route_types.pl route_types.txt \
	gitversion.pl

route_types.h: $(srcdir)/route_types.txt $(srcdir)/route_types.pl
	@PERL@ $(srcdir)/route_types.pl < $(srcdir)/route_types.txt > $@

if GIT_VERSION

# bit of a trick here to always have up-to-date git stamps without triggering
# unneccessary rebuilds.  .PHONY causes the .tmp file to be rebuilt always,
# but if we use that on gitversion.h it'll ripple through the .c file deps.
# (even if gitversion.h's file timestamp doesn't change, make will think it
# did, because of .PHONY...)

.PHONY: gitversion.h.tmp
.SILENT: gitversion.h gitversion.h.tmp
GITH=gitversion.h
gitversion.h.tmp: $(srcdir)/../.git
	@PERL@ $(srcdir)/gitversion.pl $(srcdir) > ${GITH}.tmp
gitversion.h: gitversion.h.tmp
	{ test -f ${GITH} && diff -s -q ${GITH}.tmp ${GITH}; } || cp -v ${GITH}.tmp ${GITH}

else
.PHONY: gitversion.h
gitversion.h:
	true
endif