#
# $XORP$
#

SubDir TOP pim ;
SubIncludeOnce TOP libcomm ;
SubIncludeOnce TOP libxorp ;
SubIncludeOnce TOP xrl interfaces ;
SubIncludeOnce TOP xrl targets ;
SubIncludeOnce TOP libxipc ;
SubIncludeOnce TOP libproto ;
SubIncludeOnce TOP libfeaclient ;
SubIncludeOnce TOP mrt ;
SubIncludeOnce TOP cli ;
SubIncludeOnce TOP cli libtecla ;
SubIncludeOnce TOP fea ;
SubIncludeOnce TOP fib2mrib ;
SubIncludeOnce TOP rib ;
SubIncludeOnce TOP mld6igmp ;
SubDir TOP pim ;

LINKLIBS_PIM_COMMON = 
	libpim
	libmld6igmpxif
	libpimbase
	libmld6igmp
	libmfeaxif
	libmld6igmpclientxif
	libmld6igmpbase
	librib
	libftixif
	libfeaifmgrxif
	libribxif
	libribclientxif
	libribbase
	libfindereventnotifierxif
	libprofileclientxif
	libfea
	libfeafibclientxif
	libfeaifmgrclientxif
	libfearawpkt4client
	libfearawpkt6client
	libfeabase
	libfeaifmgrxif
	libclimanagerxif
	libmfeaclientxif
	libmfeabase
	libmrt
	libcli
	libtecla
	libcliprocessorxif
	libclibase
	libprofileclientxif
	libproto
	libfinder
	libxipc
	libcomm
	libxorp
	;

Main xorp_pimsm4 : xorp_pimsm4.cc ;
Main xorp_pimsm6 : xorp_pimsm6.cc ;
LinkLibraries xorp_pimsm4 xorp_pimsm6 : 
	$(LINKLIBS_PIM_COMMON)
	;

Library libpim :
	pim_bsr.cc
	pim_config.cc
	pim_mfc.cc
	pim_mre.cc
	pim_mre_assert.cc
	pim_mre_data.cc
	pim_mre_join_prune.cc
	pim_mre_register.cc
	pim_mre_rpf.cc
	pim_mre_task.cc
	pim_mre_track_state.cc
	pim_mrib_table.cc
	pim_mrt.cc
	pim_mrt_mfc.cc
	pim_mrt_task.cc
	pim_nbr.cc
	pim_node.cc
	pim_node_cli.cc
	pim_proto_assert.cc
	pim_proto_bootstrap.cc
	pim_proto_cand_rp_adv.cc
	pim_proto_graft.cc
	pim_proto_graft_ack.cc
	pim_proto_hello.cc
	pim_proto_join_prune.cc
	pim_proto_join_prune_message.cc
	pim_proto_register.cc
	pim_proto_register_stop.cc
	pim_rp.cc
	pim_scope_zone_table.cc
	pim_vif.cc
	xrl_pim_node.cc
	;

if $(MAKE_CHECK) {

 MainFromObjects test_pim :
	test_pim$(SUFOBJ)
	rib_manager$(SUFOBJ) xrl_target$(SUFOBJ) redist_xrl$(SUFOBJ) ;
 Objects test_pim.cc ;
 LinkLibraries test_pim :
	$(LINKLIBS_PIM_COMMON)
	libfib2mrib
	libpolicybackend
	libpolicycommon
	libfeaclient
	libfeaifmgrmirrorxif
	libfeaifmgrreplicatorxif
	libfeaifmgrmirrorbase
	libfib2mribbase
	libftixif
	libfeafibxif
	libsocket4userxif
	libsocket4xif
	libredist4xif
	libredisttransaction4xif
	libsocket6userxif
	libsocket6xif
	libredist6xif
	libpolicyredist4xif
	libpolicyredist6xif
	libredisttransaction6xif
	libfindereventnotifierxif
	libsocketserverbase
	libxorp
	;
 SEARCH_SOURCE = $(TOP)/rib ;
 Objects rib_manager.cc xrl_target.cc redist_xrl.cc ;
} # MAKE_CHECK

InstallBin $(PREFIX)/pim : xorp_pimsm4 xorp_pimsm6 ;
