1219820Sjeff
2219820SjeffINCLUDES = $(OSMV_INCLUDES)
3219820Sjeff
4219820SjeffAM_CFLAGS = -Wall $(DBGFLAGS) -D_XOPEN_SOURCE=600 -D_BSD_SOURCE=1
5219820Sjeff
6219820Sjefflib_LTLIBRARIES = libopensm.la
7219820Sjeff
8219820Sjeffif DEBUG
9219820SjeffDBGFLAGS = -ggdb -D_DEBUG_
10219820Sjeffelse
11219820SjeffDBGFLAGS = -g
12219820Sjeffendif
13219820Sjeff
14219820Sjeffif HAVE_LD_VERSION_SCRIPT
15219820Sjefflibopensm_version_script = -Wl,--version-script=$(srcdir)/libopensm.map
16219820Sjeffelse
17219820Sjefflibopensm_version_script =
18219820Sjeffendif
19219820Sjeff
20219820Sjeffopensm_api_version=$(shell grep LIBVERSION= $(srcdir)/libopensm.ver | sed 's/LIBVERSION=//')
21219820Sjeff
22219820Sjefflibopensm_la_SOURCES = osm_log.c osm_mad_pool.c osm_helper.c
23219820Sjefflibopensm_la_LDFLAGS = -version-info $(opensm_api_version) \
24219820Sjeff	-export-dynamic $(libopensm_version_script)
25219820Sjefflibopensm_la_DEPENDENCIES = $(srcdir)/libopensm.map
26219820Sjeff
27219820Sjeffsbin_PROGRAMS = opensm
28219820Sjeffopensm_DEPENDENCIES = libopensm.la
29219820Sjeffopensm_SOURCES = main.c osm_console_io.c osm_console.c osm_db_files.c \
30219820Sjeff		 osm_db_pack.c osm_drop_mgr.c \
31219820Sjeff		 osm_inform.c osm_lid_mgr.c osm_lin_fwd_rcv.c \
32219820Sjeff		 osm_link_mgr.c osm_mcast_fwd_rcv.c \
33219820Sjeff		 osm_mcast_mgr.c osm_mcast_tbl.c osm_mcm_info.c \
34219820Sjeff		 osm_mcm_port.c osm_mtree.c osm_multicast.c osm_node.c \
35219820Sjeff		 osm_node_desc_rcv.c osm_node_info_rcv.c \
36219820Sjeff		 osm_opensm.c osm_pkey.c osm_pkey_mgr.c osm_pkey_rcv.c \
37219820Sjeff		 osm_port.c osm_port_info_rcv.c \
38219820Sjeff		 osm_remote_sm.c osm_req.c \
39219820Sjeff		 osm_resp.c osm_sa.c osm_sa_class_port_info.c \
40219820Sjeff		 osm_sa_informinfo.c osm_sa_lft_record.c osm_sa_mft_record.c \
41219820Sjeff		 osm_sa_link_record.c osm_sa_mad_ctrl.c \
42219820Sjeff		 osm_sa_mcmember_record.c osm_sa_node_record.c \
43219820Sjeff		 osm_sa_path_record.c osm_sa_pkey_record.c \
44219820Sjeff		 osm_sa_portinfo_record.c osm_sa_guidinfo_record.c \
45219820Sjeff		 osm_sa_multipath_record.c \
46219820Sjeff		 osm_sa_service_record.c osm_sa_slvl_record.c \
47219820Sjeff		 osm_sa_sminfo_record.c osm_sa_vlarb_record.c \
48219820Sjeff		 osm_sa_sw_info_record.c osm_service.c \
49219820Sjeff		 osm_slvl_map_rcv.c osm_sm.c osm_sminfo_rcv.c \
50219820Sjeff		 osm_sm_mad_ctrl.c osm_sm_state_mgr.c osm_state_mgr.c \
51219820Sjeff		 osm_subnet.c osm_sw_info_rcv.c osm_switch.c \
52219820Sjeff		 osm_prtn.c osm_prtn_config.c osm_qos.c osm_router.c \
53219820Sjeff		 osm_trap_rcv.c osm_ucast_mgr.c osm_ucast_updn.c \
54219820Sjeff		 osm_ucast_lash.c osm_ucast_file.c osm_ucast_ftree.c \
55219820Sjeff		 osm_vl15intf.c osm_vl_arb_rcv.c \
56219820Sjeff		 st.c osm_perfmgr.c osm_perfmgr_db.c \
57219820Sjeff		 osm_event_plugin.c osm_dump.c osm_ucast_cache.c \
58219820Sjeff		 osm_qos_parser_y.y osm_qos_parser_l.l osm_qos_policy.c
59219820Sjeff
60219820SjeffAM_YFLAGS:= -d
61219820Sjeff
62219820Sjeff# we need to be able to load libraries from local build subtree before make install
63219820Sjeff# we always give precedence to local tree libs and then use the pre-installed ones.
64219820Sjeffopensm_LDADD = -L../complib -losmcomp -L../libvendor -losmvendor -L. -lopensm $(OSMV_LDADD)
65219820Sjeff
66219820Sjeffopensmincludedir = $(includedir)/infiniband/opensm
67219820Sjeff
68219820Sjeffopensminclude_HEADERS = \
69219820Sjeff	$(srcdir)/../include/opensm/osm_attrib_req.h \
70219820Sjeff	$(srcdir)/../include/opensm/osm_base.h \
71219820Sjeff	$(srcdir)/../include/opensm/osm_console.h \
72219820Sjeff	$(srcdir)/../include/opensm/osm_console_io.h \
73219820Sjeff	$(srcdir)/../include/opensm/osm_db.h \
74219820Sjeff	$(srcdir)/../include/opensm/osm_db_pack.h \
75219820Sjeff	$(srcdir)/../include/opensm/osm_event_plugin.h \
76219820Sjeff	$(srcdir)/../include/opensm/osm_errors.h \
77219820Sjeff	$(srcdir)/../include/opensm/osm_helper.h \
78219820Sjeff	$(srcdir)/../include/opensm/osm_inform.h \
79219820Sjeff	$(srcdir)/../include/opensm/osm_lid_mgr.h \
80219820Sjeff	$(srcdir)/../include/opensm/osm_log.h \
81219820Sjeff	$(srcdir)/../include/opensm/osm_mad_pool.h \
82219820Sjeff	$(srcdir)/../include/opensm/osm_madw.h \
83219820Sjeff	$(srcdir)/../include/opensm/osm_mcast_tbl.h \
84219820Sjeff	$(srcdir)/../include/opensm/osm_mcm_info.h \
85219820Sjeff	$(srcdir)/../include/opensm/osm_mcm_port.h \
86219820Sjeff	$(srcdir)/../include/opensm/osm_mtree.h \
87219820Sjeff	$(srcdir)/../include/opensm/osm_multicast.h \
88219820Sjeff	$(srcdir)/../include/opensm/osm_msgdef.h \
89219820Sjeff	$(srcdir)/../include/opensm/osm_node.h \
90219820Sjeff	$(srcdir)/../include/opensm/osm_opensm.h \
91219820Sjeff	$(srcdir)/../include/opensm/osm_partition.h \
92219820Sjeff	$(srcdir)/../include/opensm/osm_path.h \
93219820Sjeff	$(srcdir)/../include/opensm/osm_perfmgr.h \
94219820Sjeff	$(srcdir)/../include/opensm/osm_perfmgr_db.h \
95219820Sjeff	$(srcdir)/../include/opensm/osm_pkey.h \
96219820Sjeff	$(srcdir)/../include/opensm/osm_port.h \
97219820Sjeff	$(srcdir)/../include/opensm/osm_port_profile.h \
98219820Sjeff	$(srcdir)/../include/opensm/osm_prefix_route.h \
99219820Sjeff	$(srcdir)/../include/opensm/osm_qos_policy.h \
100219820Sjeff	$(srcdir)/../include/opensm/osm_remote_sm.h \
101219820Sjeff	$(srcdir)/../include/opensm/osm_router.h \
102219820Sjeff	$(srcdir)/../include/opensm/osm_sa.h \
103219820Sjeff	$(srcdir)/../include/opensm/osm_sa_mad_ctrl.h \
104219820Sjeff	$(srcdir)/../include/opensm/osm_service.h \
105219820Sjeff	$(srcdir)/../include/opensm/osm_sm.h \
106219820Sjeff	$(srcdir)/../include/opensm/osm_sm_mad_ctrl.h \
107219820Sjeff	$(srcdir)/../include/opensm/st.h \
108219820Sjeff	$(srcdir)/../include/opensm/osm_stats.h \
109219820Sjeff	$(srcdir)/../include/opensm/osm_subnet.h \
110219820Sjeff	$(srcdir)/../include/opensm/osm_switch.h \
111219820Sjeff	$(srcdir)/../include/opensm/osm_ucast_mgr.h \
112219820Sjeff	$(srcdir)/../include/opensm/osm_ucast_cache.h \
113219820Sjeff	$(srcdir)/../include/opensm/osm_vl15intf.h \
114219820Sjeff	$(top_builddir)/include/opensm/osm_version.h \
115219820Sjeff	$(top_builddir)/include/opensm/osm_config.h
116219820Sjeff
117219820SjeffBUILT_SOURCES = osm_version osm_qos_parser_y.h
118219820Sjeffosm_version:
119219820Sjeff	if [ -x $(top_srcdir)/../gen_ver.sh ] ; then \
120219820Sjeff		ver_file=$(top_builddir)/include/opensm/osm_version.h ; \
121219820Sjeff		osm_ver=`cat $$ver_file | sed -ne '/#define OSM_VERSION /s/^.*\"OpenSM \(.*\)\"$$/\1/p'` ; \
122219820Sjeff		ver=`$(top_srcdir)/../gen_ver.sh $(PACKAGE)` ; \
123219820Sjeff		if [ $$ver != $$osm_ver ] ; then \
124219820Sjeff			cat $$ver_file | sed -e '/#define OSM_VERSION /s/\"OpenSM .*\"/\"OpenSM '$$ver'\"/' > tmp_new_version ; \
125219820Sjeff			cat tmp_new_version > $$ver_file && rm -f tmp_new_version ; \
126219820Sjeff		fi ; \
127219820Sjeff	fi
128219820Sjeff
129219820Sjeff# files distributed as part of the srcdir
130219820SjeffEXTRA_DIST = $(srcdir)/libopensm.map $(srcdir)/libopensm.ver \
131219820Sjeff	     $(srcdir)/ChangeLog
132