2 # Copyright (C) 2013-2019 Red Hat Inc.
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions are
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
32 include $(top_srcdir)/common-rules.mk
34 EXTRA_DIST = nbdkit.syms
36 sbin_PROGRAMS = nbdkit
56 protocol-handshake.c \
57 protocol-handshake-oldstyle.c \
58 protocol-handshake-newstyle.c \
66 $(top_srcdir)/include/nbdkit-plugin.h \
67 $(top_srcdir)/include/nbdkit-filter.h \
71 -Dbindir=\"$(bindir)\" \
72 -Dlibdir=\"$(libdir)\" \
73 -Dmandir=\"$(mandir)\" \
74 -Dplugindir=\"$(plugindir)\" \
75 -Dfilterdir=\"$(filterdir)\" \
76 -Dsbindir=\"$(sbindir)\" \
77 -Dsysconfdir=\"$(sysconfdir)\" \
78 -I$(top_srcdir)/include \
79 -I$(top_srcdir)/common/include \
80 -I$(top_srcdir)/common/protocol \
81 -I$(top_srcdir)/common/utils \
87 $(LIBSELINUX_CFLAGS) \
94 $(top_builddir)/common/protocol/libprotocol.la \
95 $(top_builddir)/common/utils/libutils.la \
101 if USE_LINKER_SCRIPT_FOR_SERVER
102 nbdkit_LDFLAGS += -Wl,--version-script=$(srcdir)/nbdkit.syms
105 # synopsis.c is generated from docs/synopsis.txt where it is also
106 # used to generate the man page. It is included in main.c.
108 BUILT_SOURCES = synopsis.c
109 EXTRA_DIST += synopsis.c
110 nbdkit_DEPENDENCIES = synopsis.c
111 CLEANFILES += synopsis.c
113 synopsis.c: $(top_srcdir)/docs/synopsis.txt
115 $(SED) -e 's/\(.*\)/"\1\\n"/g' $< > $@-t
118 # pkg-config / pkgconf
120 pkgconfigdir = $(libdir)/pkgconfig
121 pkgconfig_DATA = nbdkit.pc
127 check_PROGRAMS = test-public
129 test_public_SOURCES = \
134 test_public_CPPFLAGS = \
135 -I$(top_srcdir)/include \
136 -I$(top_srcdir)/common/include \
137 -I$(top_srcdir)/common/protocol \
138 -I$(top_srcdir)/common/utils \
140 test_public_CFLAGS = $(WARNINGS_CFLAGS) $(VALGRIND_CFLAGS)
141 test_public_LDADD = \
142 $(top_builddir)/common/utils/libutils.la \