ovn: Add ovn-nbctl.
[cascardo/ovs.git] / ovn / automake.mk
1 # OVN schema and IDL
2 EXTRA_DIST += ovn/ovn.ovsschema
3 pkgdata_DATA += ovn/ovn.ovsschema
4
5 # OVN E-R diagram
6 #
7 # If "python" or "dot" is not available, then we do not add graphical diagram
8 # to the documentation.
9 if HAVE_PYTHON
10 if HAVE_DOT
11 ovn/ovn.gv: ovsdb/ovsdb-dot.in ovn/ovn.ovsschema
12         $(AM_V_GEN)$(OVSDB_DOT) --no-arrows $(srcdir)/ovn/ovn.ovsschema > $@
13 ovn/ovn.pic: ovn/ovn.gv ovsdb/dot2pic
14         $(AM_V_GEN)(dot -T plain < ovn/ovn.gv | $(PERL) $(srcdir)/ovsdb/dot2pic -f 3) > $@.tmp && \
15         mv $@.tmp $@
16 OVN_PIC = ovn/ovn.pic
17 OVN_DOT_DIAGRAM_ARG = --er-diagram=$(OVN_PIC)
18 DISTCLEANFILES += ovn/ovn.gv ovn/ovn.pic
19 endif
20 endif
21
22 # OVN schema documentation
23 EXTRA_DIST += ovn/ovn.xml
24 DISTCLEANFILES += ovn/ovn.5
25 man_MANS += ovn/ovn.5
26 ovn/ovn.5: \
27         ovsdb/ovsdb-doc ovn/ovn.xml ovn/ovn.ovsschema $(OVN_PIC)
28         $(AM_V_GEN)$(OVSDB_DOC) \
29                 $(OVN_DOT_DIAGRAM_ARG) \
30                 --version=$(VERSION) \
31                 $(srcdir)/ovn/ovn.ovsschema \
32                 $(srcdir)/ovn/ovn.xml > $@.tmp && \
33         mv $@.tmp $@
34
35 # OVN northbound schema and IDL
36 EXTRA_DIST += ovn/ovn-nb.ovsschema
37 pkgdata_DATA += ovn/ovn-nb.ovsschema
38
39 # OVN northbound E-R diagram
40 #
41 # If "python" or "dot" is not available, then we do not add graphical diagram
42 # to the documentation.
43 if HAVE_PYTHON
44 if HAVE_DOT
45 ovn/ovn-nb.gv: ovsdb/ovsdb-dot.in ovn/ovn-nb.ovsschema
46         $(AM_V_GEN)$(OVSDB_DOT) --no-arrows $(srcdir)/ovn/ovn-nb.ovsschema > $@
47 ovn/ovn-nb.pic: ovn/ovn-nb.gv ovsdb/dot2pic
48         $(AM_V_GEN)(dot -T plain < ovn/ovn-nb.gv | $(PERL) $(srcdir)/ovsdb/dot2pic -f 3) > $@.tmp && \
49         mv $@.tmp $@
50 OVN_NB_PIC = ovn/ovn-nb.pic
51 OVN_NB_DOT_DIAGRAM_ARG = --er-diagram=$(OVN_NB_PIC)
52 DISTCLEANFILES += ovn/ovn-nb.gv ovn/ovn-nb.pic
53 endif
54 endif
55
56 # OVN northbound schema documentation
57 EXTRA_DIST += ovn/ovn-nb.xml
58 DISTCLEANFILES += ovn/ovn-nb.5
59 man_MANS += ovn/ovn-nb.5
60 ovn/ovn-nb.5: \
61         ovsdb/ovsdb-doc ovn/ovn-nb.xml ovn/ovn-nb.ovsschema $(OVN_NB_PIC)
62         $(AM_V_GEN)$(OVSDB_DOC) \
63                 $(OVN_NB_DOT_DIAGRAM_ARG) \
64                 --version=$(VERSION) \
65                 $(srcdir)/ovn/ovn-nb.ovsschema \
66                 $(srcdir)/ovn/ovn-nb.xml > $@.tmp && \
67         mv $@.tmp $@
68
69 man_MANS += ovn/ovn-controller.8 ovn/ovn-architecture.7 ovn/ovn-nbctl.8
70 EXTRA_DIST += ovn/ovn-controller.8.in ovn/ovn-architecture.7.xml ovn/ovn-nbctl.8.xml
71
72 SUFFIXES += .xml
73 %: %.xml
74         $(AM_V_GEN)$(run_python) $(srcdir)/build-aux/xml2nroff \
75                 --version=$(VERSION) $< > $@.tmp && mv $@.tmp $@
76
77 EXTRA_DIST += ovn/TODO
78
79 # ovn IDL
80 OVSIDL_BUILT += \
81         $(srcdir)/ovn/ovn-idl.c \
82         $(srcdir)/ovn/ovn-idl.h \
83         $(srcdir)/ovn/ovn.ovsidl
84 EXTRA_DIST += $(srcdir)/ovn/ovn-idl.ann
85 OVN_IDL_FILES = \
86         $(srcdir)/ovn/ovn.ovsschema \
87         $(srcdir)/ovn/ovn-idl.ann
88 $(srcdir)/ovn/ovn-idl.ovsidl: $(OVN_IDL_FILES)
89         $(AM_V_GEN)$(OVSDB_IDLC) annotate $(OVN_IDL_FILES) > $@.tmp && \
90         mv $@.tmp $@
91 CLEANFILES += ovn/ovn-idl.c ovn/ovn-idl.h
92
93 # ovn-nb IDL
94 OVSIDL_BUILT += \
95         $(srcdir)/ovn/ovn-nb-idl.c \
96         $(srcdir)/ovn/ovn-nb-idl.h \
97         $(srcdir)/ovn/ovn-nb.ovsidl
98 EXTRA_DIST += $(srcdir)/ovn/ovn-nb-idl.ann
99 OVN_NB_IDL_FILES = \
100         $(srcdir)/ovn/ovn-nb.ovsschema \
101         $(srcdir)/ovn/ovn-nb-idl.ann
102 $(srcdir)/ovn/ovn-nb-idl.ovsidl: $(OVN_NB_IDL_FILES)
103         $(AM_V_GEN)$(OVSDB_IDLC) annotate $(OVN_NB_IDL_FILES) > $@.tmp && \
104         mv $@.tmp $@
105 CLEANFILES += ovn/ovn-nb-idl.c ovn/ovn-nb-idl.h
106
107 # libovn
108 lib_LTLIBRARIES += ovn/libovn.la
109 ovn_libovn_la_LDFLAGS = \
110         -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
111         -Wl,--version-script=$(top_builddir)/ovn/libovn.sym \
112         $(AM_LDFLAGS)
113 ovn_libovn_la_SOURCES = \
114         ovn/ovn-idl.c \
115         ovn/ovn-idl.h \
116         ovn/ovn-nb-idl.c \
117         ovn/ovn-nb-idl.h
118
119 bin_PROGRAMS += ovn/ovn-nbctl
120 ovn_ovn_nbctl_SOURCES = ovn/ovn-nbctl.c
121 ovn_ovn_nbctl_LDADD = ovn/libovn.la ovsdb/libovsdb.la lib/libopenvswitch.la