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