1
2INCLUDES = $(OSMV_INCLUDES)
3
4AM_CFLAGS = -Wall $(DBGFLAGS) -D_XOPEN_SOURCE=600 -D_BSD_SOURCE=1
5
6lib_LTLIBRARIES = libopensm.la
7
8if DEBUG
9DBGFLAGS = -ggdb -D_DEBUG_
10else
11DBGFLAGS = -g
12endif
13
14if HAVE_LD_VERSION_SCRIPT
15libopensm_version_script = -Wl,--version-script=$(srcdir)/libopensm.map
16else
17libopensm_version_script =
18endif
19
20opensm_api_version=$(shell grep LIBVERSION= $(srcdir)/libopensm.ver | sed 's/LIBVERSION=//')
21
22libopensm_la_SOURCES = osm_log.c osm_mad_pool.c osm_helper.c
23libopensm_la_LDFLAGS = -version-info $(opensm_api_version) \
24	-export-dynamic $(libopensm_version_script)
25libopensm_la_DEPENDENCIES = $(srcdir)/libopensm.map
26
27sbin_PROGRAMS = opensm
28opensm_DEPENDENCIES = libopensm.la
29opensm_SOURCES = main.c osm_console_io.c osm_console.c osm_db_files.c \
30		 osm_db_pack.c osm_drop_mgr.c \
31		 osm_inform.c osm_lid_mgr.c osm_lin_fwd_rcv.c \
32		 osm_link_mgr.c osm_mcast_fwd_rcv.c \
33		 osm_mcast_mgr.c osm_mcast_tbl.c osm_mcm_info.c \
34		 osm_mcm_port.c osm_mtree.c osm_multicast.c osm_node.c \
35		 osm_node_desc_rcv.c osm_node_info_rcv.c \
36		 osm_opensm.c osm_pkey.c osm_pkey_mgr.c osm_pkey_rcv.c \
37		 osm_port.c osm_port_info_rcv.c \
38		 osm_remote_sm.c osm_req.c \
39		 osm_resp.c osm_sa.c osm_sa_class_port_info.c \
40		 osm_sa_informinfo.c osm_sa_lft_record.c osm_sa_mft_record.c \
41		 osm_sa_link_record.c osm_sa_mad_ctrl.c \
42		 osm_sa_mcmember_record.c osm_sa_node_record.c \
43		 osm_sa_path_record.c osm_sa_pkey_record.c \
44		 osm_sa_portinfo_record.c osm_sa_guidinfo_record.c \
45		 osm_sa_multipath_record.c \
46		 osm_sa_service_record.c osm_sa_slvl_record.c \
47		 osm_sa_sminfo_record.c osm_sa_vlarb_record.c \
48		 osm_sa_sw_info_record.c osm_service.c \
49		 osm_slvl_map_rcv.c osm_sm.c osm_sminfo_rcv.c \
50		 osm_sm_mad_ctrl.c osm_sm_state_mgr.c osm_state_mgr.c \
51		 osm_subnet.c osm_sw_info_rcv.c osm_switch.c \
52		 osm_prtn.c osm_prtn_config.c osm_qos.c osm_router.c \
53		 osm_trap_rcv.c osm_ucast_mgr.c osm_ucast_updn.c \
54		 osm_ucast_lash.c osm_ucast_file.c osm_ucast_ftree.c \
55		 osm_vl15intf.c osm_vl_arb_rcv.c \
56		 st.c osm_perfmgr.c osm_perfmgr_db.c \
57		 osm_event_plugin.c osm_dump.c osm_ucast_cache.c \
58		 osm_qos_parser_y.y osm_qos_parser_l.l osm_qos_policy.c
59
60AM_YFLAGS:= -d
61
62# we need to be able to load libraries from local build subtree before make install
63# we always give precedence to local tree libs and then use the pre-installed ones.
64opensm_LDADD = -L../complib -losmcomp -L../libvendor -losmvendor -L. -lopensm $(OSMV_LDADD)
65
66opensmincludedir = $(includedir)/infiniband/opensm
67
68opensminclude_HEADERS = \
69	$(srcdir)/../include/opensm/osm_attrib_req.h \
70	$(srcdir)/../include/opensm/osm_base.h \
71	$(srcdir)/../include/opensm/osm_console.h \
72	$(srcdir)/../include/opensm/osm_console_io.h \
73	$(srcdir)/../include/opensm/osm_db.h \
74	$(srcdir)/../include/opensm/osm_db_pack.h \
75	$(srcdir)/../include/opensm/osm_event_plugin.h \
76	$(srcdir)/../include/opensm/osm_errors.h \
77	$(srcdir)/../include/opensm/osm_helper.h \
78	$(srcdir)/../include/opensm/osm_inform.h \
79	$(srcdir)/../include/opensm/osm_lid_mgr.h \
80	$(srcdir)/../include/opensm/osm_log.h \
81	$(srcdir)/../include/opensm/osm_mad_pool.h \
82	$(srcdir)/../include/opensm/osm_madw.h \
83	$(srcdir)/../include/opensm/osm_mcast_tbl.h \
84	$(srcdir)/../include/opensm/osm_mcm_info.h \
85	$(srcdir)/../include/opensm/osm_mcm_port.h \
86	$(srcdir)/../include/opensm/osm_mtree.h \
87	$(srcdir)/../include/opensm/osm_multicast.h \
88	$(srcdir)/../include/opensm/osm_msgdef.h \
89	$(srcdir)/../include/opensm/osm_node.h \
90	$(srcdir)/../include/opensm/osm_opensm.h \
91	$(srcdir)/../include/opensm/osm_partition.h \
92	$(srcdir)/../include/opensm/osm_path.h \
93	$(srcdir)/../include/opensm/osm_perfmgr.h \
94	$(srcdir)/../include/opensm/osm_perfmgr_db.h \
95	$(srcdir)/../include/opensm/osm_pkey.h \
96	$(srcdir)/../include/opensm/osm_port.h \
97	$(srcdir)/../include/opensm/osm_port_profile.h \
98	$(srcdir)/../include/opensm/osm_prefix_route.h \
99	$(srcdir)/../include/opensm/osm_qos_policy.h \
100	$(srcdir)/../include/opensm/osm_remote_sm.h \
101	$(srcdir)/../include/opensm/osm_router.h \
102	$(srcdir)/../include/opensm/osm_sa.h \
103	$(srcdir)/../include/opensm/osm_sa_mad_ctrl.h \
104	$(srcdir)/../include/opensm/osm_service.h \
105	$(srcdir)/../include/opensm/osm_sm.h \
106	$(srcdir)/../include/opensm/osm_sm_mad_ctrl.h \
107	$(srcdir)/../include/opensm/st.h \
108	$(srcdir)/../include/opensm/osm_stats.h \
109	$(srcdir)/../include/opensm/osm_subnet.h \
110	$(srcdir)/../include/opensm/osm_switch.h \
111	$(srcdir)/../include/opensm/osm_ucast_mgr.h \
112	$(srcdir)/../include/opensm/osm_ucast_cache.h \
113	$(srcdir)/../include/opensm/osm_vl15intf.h \
114	$(top_builddir)/include/opensm/osm_version.h \
115	$(top_builddir)/include/opensm/osm_config.h
116
117BUILT_SOURCES = osm_version osm_qos_parser_y.h
118osm_version:
119	if [ -x $(top_srcdir)/../gen_ver.sh ] ; then \
120		ver_file=$(top_builddir)/include/opensm/osm_version.h ; \
121		osm_ver=`cat $$ver_file | sed -ne '/#define OSM_VERSION /s/^.*\"OpenSM \(.*\)\"$$/\1/p'` ; \
122		ver=`$(top_srcdir)/../gen_ver.sh $(PACKAGE)` ; \
123		if [ $$ver != $$osm_ver ] ; then \
124			cat $$ver_file | sed -e '/#define OSM_VERSION /s/\"OpenSM .*\"/\"OpenSM '$$ver'\"/' > tmp_new_version ; \
125			cat tmp_new_version > $$ver_file && rm -f tmp_new_version ; \
126		fi ; \
127	fi
128
129# files distributed as part of the srcdir
130EXTRA_DIST = $(srcdir)/libopensm.map $(srcdir)/libopensm.ver \
131	     $(srcdir)/ChangeLog
132