#
# isisd
#

if ISISD
noinst_LIBRARIES += isisd/libisis.a
sbin_PROGRAMS += isisd/isisd
vtysh_daemons += isisd
if SNMP
module_LTLIBRARIES += isisd/isisd_snmp.la
endif
man8 += $(MANBUILD)/frr-isisd.8
endif

if FABRICD
noinst_LIBRARIES += isisd/libfabric.a
sbin_PROGRAMS += isisd/fabricd
vtysh_daemons += fabricd
endif

noinst_HEADERS += \
	isisd/isis_affinitymap.h \
	isisd/isis_adjacency.h \
	isisd/isis_bfd.h \
	isisd/isis_circuit.h \
	isisd/isis_common.h \
	isisd/isis_constants.h \
	isisd/isis_csm.h \
	isisd/isis_dr.h \
	isisd/isis_dynhn.h \
	isisd/isis_errors.h \
	isisd/isis_events.h \
	isisd/isis_flags.h \
	isisd/isis_ldp_sync.h \
	isisd/isis_lfa.h \
	isisd/isis_lsp.h \
	isisd/isis_misc.h \
	isisd/isis_mt.h \
	isisd/isis_nb.h \
	isisd/isis_network.h \
	isisd/isis_pdu.h \
	isisd/isis_pdu_counter.h \
	isisd/isis_redist.h \
	isisd/isis_route.h \
	isisd/isis_routemap.h \
	isisd/isis_spf.h \
	isisd/isis_spf_private.h \
	isisd/isis_sr.h \
	isisd/isis_flex_algo.h \
	isisd/isis_srv6.h \
	isisd/isis_te.h \
	isisd/isis_tlvs.h \
	isisd/isis_tx_queue.h \
	isisd/isis_zebra.h \
	isisd/isisd.h \
	isisd/iso_checksum.h \
	isisd/fabricd.h \
	# end

LIBISIS_SOURCES = \
	isisd/isis_affinitymap.c \
	isisd/isis_adjacency.c \
	isisd/isis_bfd.c \
	isisd/isis_circuit.c \
	isisd/isis_csm.c \
	isisd/isis_dr.c \
	isisd/isis_dynhn.c \
	isisd/isis_errors.c \
	isisd/isis_events.c \
	isisd/isis_flags.c \
	isisd/isis_ldp_sync.c \
	isisd/isis_lfa.c \
	isisd/isis_lsp.c \
	isisd/isis_misc.c \
	isisd/isis_mt.c \
	isisd/isis_pdu.c \
	isisd/isis_pdu_counter.c \
	isisd/isis_redist.c \
	isisd/isis_route.c \
	isisd/isis_routemap.c \
	isisd/isis_spf.c \
	isisd/isis_sr.c \
	isisd/isis_flex_algo.c \
	isisd/isis_srv6.c \
	isisd/isis_te.c \
	isisd/isis_tlvs.c \
	isisd/isis_tx_queue.c \
	isisd/isis_zebra.c \
	isisd/isisd.c \
	isisd/iso_checksum.c \
	isisd/fabricd.c \
	# end

ISIS_SOURCES = \
	isisd/isis_bpf.c \
	isisd/isis_dlpi.c \
	isisd/isis_main.c \
	isisd/isis_pfpacket.c \
	# end

ISIS_LDADD_COMMON = lib/libfrr.la $(LIBCAP) $(LIBYANG_LIBS)

# Building isisd

isisd_libisis_a_SOURCES = \
	$(LIBISIS_SOURCES) \
	isisd/isis_nb.c \
	isisd/isis_nb_config.c \
	isisd/isis_nb_notifications.c \
	isisd/isis_nb_state.c \
	isisd/isis_cli.c \
	#end

clippy_scan += \
	isisd/isis_cli.c \
	# end

isisd_isisd_LDADD = isisd/libisis.a $(ISIS_LDADD_COMMON)
isisd_isisd_SOURCES = $(ISIS_SOURCES)
nodist_isisd_isisd_SOURCES = \
	yang/frr-isisd.yang.c \
	# end

isisd_isisd_snmp_la_SOURCES = isisd/isis_snmp.c
isisd_isisd_snmp_la_CFLAGS = $(AM_CFLAGS) $(SNMP_CFLAGS) -std=gnu11
isisd_isisd_snmp_la_LDFLAGS = $(MODULE_LDFLAGS)
isisd_isisd_snmp_la_LIBADD = lib/libfrrsnmp.la

# Building fabricd

FABRICD_CPPFLAGS = -DFABRICD=1 $(AM_CPPFLAGS)

isisd_libfabric_a_SOURCES = \
	$(LIBISIS_SOURCES) \
	isisd/isis_vty_fabricd.c \
	#end
isisd_libfabric_a_CPPFLAGS = $(FABRICD_CPPFLAGS)
isisd_fabricd_LDADD = isisd/libfabric.a $(ISIS_LDADD_COMMON)
isisd_fabricd_SOURCES = $(ISIS_SOURCES)
isisd_fabricd_CPPFLAGS = $(FABRICD_CPPFLAGS)
