Build: Add support for shared libraries and versioning.
[cascardo/ovs.git] / ovsdb / automake.mk
1 # libovsdb
2 lib_LTLIBRARIES += ovsdb/libovsdb.la
3 ovsdb_libovsdb_la_LDFLAGS = \
4         -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
5         -Wl,--version-script=$(top_builddir)/ovsdb/libovsdb.sym
6 ovsdb_libovsdb_la_SOURCES = \
7         ovsdb/column.c \
8         ovsdb/column.h \
9         ovsdb/condition.c \
10         ovsdb/condition.h \
11         ovsdb/execution.c \
12         ovsdb/file.c \
13         ovsdb/file.h \
14         ovsdb/jsonrpc-server.c \
15         ovsdb/jsonrpc-server.h \
16         ovsdb/log.c \
17         ovsdb/log.h \
18         ovsdb/mutation.c \
19         ovsdb/mutation.h \
20         ovsdb/ovsdb.c \
21         ovsdb/ovsdb.h \
22         ovsdb/query.c \
23         ovsdb/query.h \
24         ovsdb/row.c \
25         ovsdb/row.h \
26         ovsdb/server.c \
27         ovsdb/server.h \
28         ovsdb/table.c \
29         ovsdb/table.h \
30         ovsdb/trigger.c \
31         ovsdb/trigger.h \
32         ovsdb/transaction.c \
33         ovsdb/transaction.h
34 ovsdb_libovsdb_la_CFLAGS = $(AM_CFLAGS)
35 ovsdb_libovsdb_la_CPPFLAGS = $(AM_CPPFLAGS)
36
37 MAN_FRAGMENTS += \
38         ovsdb/remote-active.man \
39         ovsdb/remote-passive.man
40
41 # ovsdb-tool
42 bin_PROGRAMS += ovsdb/ovsdb-tool
43 ovsdb_ovsdb_tool_SOURCES = ovsdb/ovsdb-tool.c
44 ovsdb_ovsdb_tool_LDADD = ovsdb/libovsdb.la lib/libopenvswitch.la
45 # ovsdb-tool.1
46 man_MANS += ovsdb/ovsdb-tool.1
47 DISTCLEANFILES += ovsdb/ovsdb-tool.1
48 MAN_ROOTS += ovsdb/ovsdb-tool.1.in
49
50 # ovsdb-client
51 bin_PROGRAMS += ovsdb/ovsdb-client
52 ovsdb_ovsdb_client_SOURCES = ovsdb/ovsdb-client.c
53 ovsdb_ovsdb_client_LDADD = ovsdb/libovsdb.la lib/libopenvswitch.la
54 # ovsdb-client.1
55 man_MANS += ovsdb/ovsdb-client.1
56 DISTCLEANFILES += ovsdb/ovsdb-client.1
57 MAN_ROOTS += ovsdb/ovsdb-client.1.in
58
59 # ovsdb-server
60 sbin_PROGRAMS += ovsdb/ovsdb-server
61 ovsdb_ovsdb_server_SOURCES = ovsdb/ovsdb-server.c
62 ovsdb_ovsdb_server_LDADD = ovsdb/libovsdb.la lib/libopenvswitch.la
63 # ovsdb-server.1
64 man_MANS += ovsdb/ovsdb-server.1
65 DISTCLEANFILES += ovsdb/ovsdb-server.1
66 MAN_ROOTS += ovsdb/ovsdb-server.1.in
67
68 # ovsdb-idlc
69 noinst_SCRIPTS += ovsdb/ovsdb-idlc
70 EXTRA_DIST += ovsdb/ovsdb-idlc.in
71 MAN_ROOTS += ovsdb/ovsdb-idlc.1
72 DISTCLEANFILES += ovsdb/ovsdb-idlc
73 SUFFIXES += .ovsidl .ovsschema
74 OVSDB_IDLC = $(run_python) $(srcdir)/ovsdb/ovsdb-idlc.in
75 .ovsidl.c:
76         $(AM_V_GEN)$(OVSDB_IDLC) c-idl-source $< > $@.tmp && mv $@.tmp $@
77 .ovsidl.h:
78         $(AM_V_GEN)$(OVSDB_IDLC) c-idl-header $< > $@.tmp && mv $@.tmp $@
79
80 EXTRA_DIST += $(OVSIDL_BUILT)
81 BUILT_SOURCES += $(OVSIDL_BUILT)
82
83 # This must be done late: macros in targets are expanded when the
84 # target line is read, so if this file were to be included before some
85 # other file that added to OVSIDL_BUILT, then those files wouldn't get
86 # the dependency.
87 #
88 # However, current versions of Automake seem to output all variable
89 # assignments before any targets, so it doesn't seem to be a problem,
90 # at least for now.
91 $(OVSIDL_BUILT): ovsdb/ovsdb-idlc.in
92
93 # ovsdb-doc
94 EXTRA_DIST += ovsdb/ovsdb-doc
95 OVSDB_DOC = $(run_python) $(srcdir)/ovsdb/ovsdb-doc
96
97 # ovsdb-dot
98 EXTRA_DIST += ovsdb/ovsdb-dot.in ovsdb/dot2pic
99 noinst_SCRIPTS += ovsdb/ovsdb-dot
100 DISTCLEANFILES += ovsdb/ovsdb-dot
101 OVSDB_DOT = $(run_python) $(srcdir)/ovsdb/ovsdb-dot.in