1INCLUDES = -I$(srcdir)/include
2
3lib_LTLIBRARIES = src/libibverbs.la
4
5AM_CFLAGS = -g -Wall -D_GNU_SOURCE
6
7src_libibverbs_la_CFLAGS = $(AM_CFLAGS) -DIBV_CONFIG_DIR=\"$(sysconfdir)/libibverbs.d\"
8
9libibverbs_version_script = @LIBIBVERBS_VERSION_SCRIPT@
10
11src_libibverbs_la_SOURCES = src/cmd.c src/compat-1_0.c src/device.c src/init.c \
12			    src/marshall.c src/memory.c src/sysfs.c src/verbs.c \
13			    src/enum_strs.c
14src_libibverbs_la_LDFLAGS = -version-info 1 -export-dynamic \
15    $(libibverbs_version_script)
16src_libibverbs_la_DEPENDENCIES = $(srcdir)/src/libibverbs.map
17
18bin_PROGRAMS = examples/ibv_devices examples/ibv_devinfo \
19    examples/ibv_asyncwatch examples/ibv_rc_pingpong examples/ibv_uc_pingpong \
20    examples/ibv_ud_pingpong examples/ibv_srq_pingpong
21examples_ibv_devices_SOURCES = examples/device_list.c
22examples_ibv_devices_LDADD = $(top_builddir)/src/libibverbs.la
23examples_ibv_devinfo_SOURCES = examples/devinfo.c
24examples_ibv_devinfo_LDADD = $(top_builddir)/src/libibverbs.la
25examples_ibv_rc_pingpong_SOURCES = examples/rc_pingpong.c examples/pingpong.c
26examples_ibv_rc_pingpong_LDADD = $(top_builddir)/src/libibverbs.la
27examples_ibv_uc_pingpong_SOURCES = examples/uc_pingpong.c examples/pingpong.c
28examples_ibv_uc_pingpong_LDADD = $(top_builddir)/src/libibverbs.la
29examples_ibv_ud_pingpong_SOURCES = examples/ud_pingpong.c examples/pingpong.c
30examples_ibv_ud_pingpong_LDADD = $(top_builddir)/src/libibverbs.la
31examples_ibv_srq_pingpong_SOURCES = examples/srq_pingpong.c examples/pingpong.c
32examples_ibv_srq_pingpong_LDADD = $(top_builddir)/src/libibverbs.la
33examples_ibv_asyncwatch_SOURCES = examples/asyncwatch.c
34examples_ibv_asyncwatch_LDADD = $(top_builddir)/src/libibverbs.la
35
36libibverbsincludedir = $(includedir)/infiniband
37
38libibverbsinclude_HEADERS = include/infiniband/arch.h include/infiniband/driver.h \
39    include/infiniband/kern-abi.h include/infiniband/opcode.h include/infiniband/verbs.h \
40    include/infiniband/sa-kern-abi.h include/infiniband/sa.h include/infiniband/marshall.h
41
42man_MANS = man/ibv_asyncwatch.1 man/ibv_devices.1 man/ibv_devinfo.1	\
43    man/ibv_rc_pingpong.1 man/ibv_uc_pingpong.1 man/ibv_ud_pingpong.1	\
44    man/ibv_srq_pingpong.1 man/ibv_alloc_pd.3 man/ibv_attach_mcast.3	\
45    man/ibv_create_ah.3 man/ibv_create_ah_from_wc.3			\
46    man/ibv_create_comp_channel.3 man/ibv_create_cq.3			\
47    man/ibv_create_qp.3 man/ibv_create_srq.3				\
48    man/ibv_create_xrc_rcv_qp.3 man/ibv_event_type_str.3		\
49    man/ibv_fork_init.3 man/ibv_get_async_event.3			\
50    man/ibv_get_cq_event.3 man/ibv_get_device_guid.3			\
51    man/ibv_get_device_list.3 man/ibv_get_device_name.3			\
52    man/ibv_modify_qp.3 man/ibv_modify_srq.3 man/ibv_modify_xrc_rcv_qp.3 \
53    man/ibv_open_device.3 man/ibv_open_xrc_domain.3			\
54    man/ibv_poll_cq.3 man/ibv_post_recv.3 man/ibv_post_send.3		\
55    man/ibv_post_srq_recv.3 man/ibv_query_device.3 man/ibv_query_gid.3	\
56    man/ibv_query_pkey.3 man/ibv_query_port.3 man/ibv_query_qp.3	\
57    man/ibv_query_srq.3 man/ibv_query_xrc_rcv_qp.3			\
58    man/ibv_rate_to_mult.3 man/ibv_reg_mr.3 man/ibv_reg_xrc_rcv_qp.3	\
59    man/ibv_req_notify_cq.3 man/ibv_resize_cq.3 man/verbs.7
60
61DEBIAN = debian/changelog debian/compat debian/control debian/copyright \
62    debian/ibverbs-utils.install debian/libibverbs1.install \
63    debian/libibverbs1.postinst debian/libibverbs-dev.install \
64    debian/rules
65
66EXTRA_DIST = include/infiniband/driver.h include/infiniband/kern-abi.h \
67    include/infiniband/opcode.h include/infiniband/verbs.h include/infiniband/marshall.h \
68    include/infiniband/sa-kern-abi.h include/infiniband/sa.h \
69    src/ibverbs.h examples/pingpong.h \
70    src/libibverbs.map libibverbs.spec.in $(man_MANS)
71
72dist-hook: libibverbs.spec
73	cp libibverbs.spec $(distdir)
74
75install-data-hook:
76	cd $(DESTDIR)$(mandir)/man3 && \
77	$(RM) ibv_ack_async_event.3 && \
78	$(RM) ibv_ack_cq_events.3 && \
79	$(RM) ibv_close_device.3 && \
80	$(RM) ibv_close_xrc_domain.3 && \
81	$(RM) ibv_create_xrc_srq.3 && \
82	$(RM) ibv_dealloc_pd.3 && \
83	$(RM) ibv_dereg_mr.3 && \
84	$(RM) ibv_destroy_ah.3 && \
85	$(RM) ibv_destroy_comp_channel.3 && \
86	$(RM) ibv_destroy_cq.3 && \
87	$(RM) ibv_destroy_qp.3 && \
88	$(RM) ibv_destroy_srq.3 && \
89	$(RM) ibv_detach_mcast.3 && \
90	$(RM) ibv_free_device_list.3 && \
91	$(RM) ibv_init_ah_from_wc.3 && \
92	$(RM) ibv_unreg_xrc_rcv_qp.3 && \
93	$(RM) mult_to_ibv_rate.3 && \
94	$(RM) ibv_node_type_str.3 && \
95	$(RM) ibv_port_state_str.3 && \
96	$(LN_S) ibv_get_async_event.3 ibv_ack_async_event.3 && \
97	$(LN_S) ibv_get_cq_event.3 ibv_ack_cq_events.3 && \
98	$(LN_S) ibv_open_device.3 ibv_close_device.3 && \
99	$(LN_S) ibv_open_xrc_domain.3 ibv_close_xrc_domain.3 && \
100	$(LN_S) ibv_create_srq.3 ibv_create_xrc_srq.3 && \
101	$(LN_S) ibv_alloc_pd.3 ibv_dealloc_pd.3 && \
102	$(LN_S) ibv_reg_mr.3 ibv_dereg_mr.3 && \
103	$(LN_S) ibv_create_ah.3 ibv_destroy_ah.3 && \
104	$(LN_S) ibv_create_comp_channel.3 ibv_destroy_comp_channel.3 && \
105	$(LN_S) ibv_create_cq.3 ibv_destroy_cq.3 && \
106	$(LN_S) ibv_create_qp.3 ibv_destroy_qp.3 && \
107	$(LN_S) ibv_create_srq.3 ibv_destroy_srq.3 && \
108	$(LN_S) ibv_attach_mcast.3 ibv_detach_mcast.3 && \
109	$(LN_S) ibv_get_device_list.3 ibv_free_device_list.3 && \
110	$(LN_S) ibv_create_ah_from_wc.3 ibv_init_ah_from_wc.3 && \
111	$(LN_S) ibv_reg_xrc_rcv_qp.3 ibv_unreg_xrc_rcv_qp.3 && \
112	$(LN_S) ibv_rate_to_mult.3 mult_to_ibv_rate.3 && \
113	$(LN_S) ibv_event_type_str.3 ibv_node_type_str.3 && \
114	$(LN_S) ibv_event_type_str.3 ibv_port_state_str.3
115