db-ctl-base: do not require client to expose the "tables" variable
[cascardo/ovs.git] / vtep / automake.mk
1 # vtep IDL
2 OVSIDL_BUILT += \
3         vtep/vtep-idl.c \
4         vtep/vtep-idl.h \
5         vtep/vtep-idl.ovsidl
6 EXTRA_DIST += vtep/vtep-idl.ann
7 VTEP_IDL_FILES = \
8         $(srcdir)/vtep/vtep.ovsschema \
9         $(srcdir)/vtep/vtep-idl.ann
10 vtep/vtep-idl.ovsidl: $(VTEP_IDL_FILES)
11         $(AM_V_GEN)$(OVSDB_IDLC) annotate $(VTEP_IDL_FILES) > $@.tmp && \
12         mv $@.tmp $@
13 CLEANFILES += vtep/vtep-idl.c vtep/vtep-idl.h
14
15 # libvtep
16 lib_LTLIBRARIES += vtep/libvtep.la
17 vtep_libvtep_la_LDFLAGS = \
18         -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
19         -Wl,--version-script=$(top_builddir)/vtep/libvtep.sym \
20         $(AM_LDFLAGS)
21 vtep_libvtep_la_SOURCES = \
22         vtep/vtep-idl.c \
23         vtep/vtep-idl.h
24
25 bin_PROGRAMS += \
26    vtep/vtep-ctl
27
28 MAN_ROOTS += \
29    vtep/vtep-ctl.8.in
30
31 DISTCLEANFILES += \
32    vtep/vtep-ctl.8
33
34 man_MANS += \
35    vtep/vtep-ctl.8
36
37 vtep_vtep_ctl_SOURCES = vtep/vtep-ctl.c
38 vtep_vtep_ctl_LDADD = vtep/libvtep.la lib/libopenvswitch.la
39
40 # ovs-vtep
41 scripts_SCRIPTS += \
42     vtep/ovs-vtep
43
44 docs += vtep/README.ovs-vtep.md
45 EXTRA_DIST += vtep/ovs-vtep
46
47 # VTEP schema and IDL
48 EXTRA_DIST += vtep/vtep.ovsschema
49 pkgdata_DATA += vtep/vtep.ovsschema
50
51 # VTEP E-R diagram
52 #
53 # If "python" or "dot" is not available, then we do not add graphical diagram
54 # to the documentation.
55 if HAVE_PYTHON
56 if HAVE_DOT
57 vtep/vtep.gv: ovsdb/ovsdb-dot.in vtep/vtep.ovsschema
58         $(AM_V_GEN)$(OVSDB_DOT) --no-arrows $(srcdir)/vtep/vtep.ovsschema > $@
59 vtep/vtep.pic: vtep/vtep.gv ovsdb/dot2pic
60         $(AM_V_GEN)(dot -T plain < vtep/vtep.gv | $(PERL) $(srcdir)/ovsdb/dot2pic -f 3) > $@.tmp && \
61         mv $@.tmp $@
62 VTEP_PIC = vtep/vtep.pic
63 VTEP_DOT_DIAGRAM_ARG = --er-diagram=$(VTEP_PIC)
64 DISTCLEANFILES += vtep/vtep.gv vtep/vtep.pic
65 endif
66 endif
67
68 # VTEP schema documentation
69 EXTRA_DIST += vtep/vtep.xml
70 DISTCLEANFILES += vtep/vtep.5
71 man_MANS += vtep/vtep.5
72 vtep/vtep.5: \
73         ovsdb/ovsdb-doc vtep/vtep.xml $(srcdir)/vtep/vtep.ovsschema $(VTEP_PIC)
74         $(AM_V_GEN)$(OVSDB_DOC) \
75                 $(VTEP_DOT_DIAGRAM_ARG) \
76                 --version=$(VERSION) \
77                 $(srcdir)/vtep/vtep.ovsschema \
78                 $(srcdir)/vtep/vtep.xml > $@.tmp && \
79         mv $@.tmp $@
80
81 # Version checking for vtep.ovsschema.
82 ALL_LOCAL += vtep/vtep.ovsschema.stamp
83 vtep/vtep.ovsschema.stamp: vtep/vtep.ovsschema
84         @sum=`sed '/cksum/d' $? | cksum`; \
85         expected=`sed -n 's/.*"cksum": "\(.*\)".*/\1/p' $?`; \
86         if test "X$$sum" = "X$$expected"; then \
87           touch $@; \
88         else \
89           ln=`sed -n '/"cksum":/=' $?`; \
90           echo >&2 "$?:$$ln: The checksum \"$$sum\" was calculated from the schema file and does not match cksum field in the schema file - you should probably update the version number and the checksum in the schema file with the value listed here."; \
91           exit 1; \
92         fi
93 CLEANFILES += vtep/vtep.ovsschema.stamp