server: Move prepare/finalize/close recursion to backend.c
[nbdkit/ericb.git] / server / Makefile.am
blobc846fc7a7edb6f4f9e40e41b0602e92af219f037
1 # nbdkit
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
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 EXTRA_DIST = nbdkit.syms
36 sbin_PROGRAMS = nbdkit
38 nbdkit_SOURCES = \
39         backend.c \
40         background.c \
41         captive.c \
42         connections.c \
43         crypto.c \
44         debug.c \
45         extents.c \
46         filters.c \
47         internal.h \
48         locks.c \
49         log.c \
50         log-stderr.c \
51         log-syslog.c \
52         main.c \
53         options.h \
54         plugins.c \
55         protocol.c \
56         protocol-handshake.c \
57         protocol-handshake-oldstyle.c \
58         protocol-handshake-newstyle.c \
59         public.c \
60         quit.c \
61         signals.c \
62         socket-activation.c \
63         sockets.c \
64         threadlocal.c \
65         usergroup.c \
66         $(top_srcdir)/include/nbdkit-plugin.h \
67         $(top_srcdir)/include/nbdkit-filter.h \
68         $(NULL)
70 nbdkit_CPPFLAGS = \
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 \
82         $(NULL)
83 nbdkit_CFLAGS = \
84         $(PTHREAD_CFLAGS) \
85         $(WARNINGS_CFLAGS) \
86         $(GNUTLS_CFLAGS) \
87         $(LIBSELINUX_CFLAGS) \
88         $(VALGRIND_CFLAGS) \
89         $(NULL)
90 nbdkit_LDADD = \
91         $(GNUTLS_LIBS) \
92         $(LIBSELINUX_LIBS) \
93         $(DL_LIBS) \
94         $(top_builddir)/common/protocol/libprotocol.la \
95         $(top_builddir)/common/utils/libutils.la \
96         $(NULL)
97 nbdkit_LDFLAGS = \
98         $(PTHREAD_LIBS) \
99         $(DL_LDFLAGS) \
100         $(NULL)
101 if USE_LINKER_SCRIPT_FOR_SERVER
102 nbdkit_LDFLAGS += -Wl,--version-script=$(srcdir)/nbdkit.syms
103 endif
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
112 main.c: synopsis.c
113 synopsis.c: $(top_srcdir)/docs/synopsis.txt
114         rm -f $@ $@-t
115         $(SED) -e 's/\(.*\)/"\1\\n"/g' $< > $@-t
116         mv $@-t $@
118 # pkg-config / pkgconf
120 pkgconfigdir = $(libdir)/pkgconfig
121 pkgconfig_DATA = nbdkit.pc
123 # Unit testing
125 TESTS = test-public
127 check_PROGRAMS = test-public
129 test_public_SOURCES = \
130         test-public.c \
131         public.c \
132         extents.c \
133         $(NULL)
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 \
139         $(NULL)
140 test_public_CFLAGS = $(WARNINGS_CFLAGS) $(VALGRIND_CFLAGS)
141 test_public_LDADD = \
142         $(top_builddir)/common/utils/libutils.la \
143         $(NULL)