Update Red Hat Copyright Notices
[nbdkit.git] / plugins / golang / Makefile.am
blobffc9c0ad93afc899599d47fec6a3250e4c5e1866
1 # nbdkit
2 # Copyright Red Hat
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions are
6 # met:
8 # * Redistributions of source code must retain the above copyright
9 # notice, this list of conditions and the following disclaimer.
11 # * Redistributions in binary form must reproduce the above copyright
12 # notice, this list of conditions and the following disclaimer in the
13 # documentation and/or other materials provided with the distribution.
15 # * Neither the name of Red Hat nor the names of its contributors may be
16 # used to endorse or promote products derived from this software without
17 # specific prior written permission.
19 # THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS ''AS IS'' AND
20 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21 # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
22 # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR
23 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
26 # USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
27 # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28 # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
29 # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 # SUCH DAMAGE.
32 include $(top_srcdir)/common-rules.mk
34 plugin_sources = \
35         src/libguestfs.org/nbdkit/go.mod \
36         src/libguestfs.org/nbdkit/nbdkit.go \
37         src/libguestfs.org/nbdkit/utils.go \
38         src/libguestfs.org/nbdkit/wrappers.go \
39         src/libguestfs.org/nbdkit/wrappers.h \
40         $(NULL)
42 EXTRA_DIST = \
43         $(plugin_sources) \
44         config-test.go \
45         dump-plugin-examples.sh \
46         examples/disk/disk.go \
47         examples/disk/go.mod \
48         examples/dump-plugin/dumpplugin.go \
49         examples/dump-plugin/go.mod \
50         examples/minimal/minimal.go \
51         examples/minimal/go.mod \
52         examples/ramdisk/ramdisk.go \
53         examples/ramdisk/go.mod \
54         nbdkit-golang-plugin.pod \
55         $(NULL)
57 if HAVE_GOLANG
59 # We don't have to build the nbdkit package as a separate step.  It is
60 # compiled and statically linked when we build any of the examples or
61 # build the tests.
63 # Examples.
64 noinst_DATA = \
65         examples/disk/nbdkit-godisk-plugin.so \
66         examples/dump-plugin/nbdkit-godump-plugin.so \
67         examples/minimal/nbdkit-gominimal-plugin.so \
68         examples/ramdisk/nbdkit-goramdisk-plugin.so \
69         $(NULL)
71 examples/disk/nbdkit-godisk-plugin.so: \
72             $(plugin_sources) examples/disk/disk.go
73         cd $(srcdir)/examples/disk && \
74         PKG_CONFIG_PATH="$(abs_top_builddir)/server/local$${PKG_CONFIG_PATH:+:$$PKG_CONFIG_PATH}" \
75         $(GOLANG) build -o $(abs_builddir)/examples/disk/nbdkit-godisk-plugin.so -buildmode=c-shared
77 examples/dump-plugin/nbdkit-godump-plugin.so: \
78             $(plugin_sources) examples/dump-plugin/dumpplugin.go
79         cd $(srcdir)/examples/dump-plugin && \
80         PKG_CONFIG_PATH="$(abs_top_builddir)/server/local$${PKG_CONFIG_PATH:+:$$PKG_CONFIG_PATH}" \
81         $(GOLANG) build -o $(abs_builddir)/examples/dump-plugin/nbdkit-godump-plugin.so -buildmode=c-shared
83 examples/minimal/nbdkit-gominimal-plugin.so: \
84             $(plugin_sources) examples/minimal/minimal.go
85         cd $(srcdir)/examples/minimal && \
86         PKG_CONFIG_PATH="$(abs_top_builddir)/server/local$${PKG_CONFIG_PATH:+:$$PKG_CONFIG_PATH}" \
87         $(GOLANG) build -o $(abs_builddir)/examples/minimal/nbdkit-gominimal-plugin.so -buildmode=c-shared
89 examples/ramdisk/nbdkit-goramdisk-plugin.so: \
90             $(plugin_sources) examples/ramdisk/ramdisk.go
91         cd $(srcdir)/examples/ramdisk && \
92         PKG_CONFIG_PATH="$(abs_top_builddir)/server/local$${PKG_CONFIG_PATH:+:$$PKG_CONFIG_PATH}" \
93         $(GOLANG) build -o $(abs_builddir)/examples/ramdisk/nbdkit-goramdisk-plugin.so -buildmode=c-shared
95 # Tests.
96 TESTS = dump-plugin-examples.sh
98 CLEANFILES += \
99         examples/*/nbdkit-*-plugin.h \
100         examples/*/nbdkit-*-plugin.so \
101         $(NULL)
103 if HAVE_POD
105 man_MANS = nbdkit-golang-plugin.3
106 CLEANFILES += $(man_MANS)
108 nbdkit-golang-plugin.3: nbdkit-golang-plugin.pod \
109                 $(top_builddir)/podwrapper.pl
110         $(PODWRAPPER) --section=3 --man $@ \
111             --html $(top_builddir)/html/$@.html \
112             $<
114 endif HAVE_POD
116 endif HAVE_GOLANG