python: Implement can_zero, can_fast_zero.
[nbdkit/ericb.git] / Makefile.am
blob9b5c0a2956822014ca58edd6bc05c4b927aa4606
1 # nbdkit
2 # Copyright (C) 2013-2018 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 ACLOCAL_AMFLAGS = -I m4
36 EXTRA_DIST = \
37         BENCHMARKING \
38         .dir-locals.el \
39         .gitignore \
40         html/pod.css \
41         LICENSE \
42         m4/.gitignore \
43         OTHER_PLUGINS \
44         scripts/git.orderfile \
45         SECURITY \
46         $(NULL)
48 CLEANFILES += html/*.html
50 if !ENABLE_LIBFUZZER
51 # NB: This is not the real nbdkit binary.  It's a wrapper that allows
52 # you to run nbdkit from the build directory before it is installed.
53 noinst_PROGRAMS = nbdkit
54 nbdkit_SOURCES = wrapper.c server/options.h
55 nbdkit_CPPFLAGS = \
56         -I$(top_srcdir)/server \
57         -I$(top_srcdir)/common/utils \
58         -Dbuilddir=\"$(abs_top_builddir)\" \
59         -Dsrcdir=\"$(abs_top_srcdir)\" \
60         -DVALGRIND=\"$(VALGRIND)\" \
61         $(NULL)
62 nbdkit_CFLAGS = $(WARNINGS_CFLAGS)
63 nbdkit_LDADD = \
64         $(top_builddir)/common/utils/libutils.la \
65         $(NULL)
66 nbdkit_DEPENDENCIES = config.status
67 endif !ENABLE_LIBFUZZER
69 SUBDIRS = \
70         bash \
71         docs \
72         fuzzing \
73         valgrind \
74         include \
75         common/include \
76         common/protocol \
77         common/utils \
78         server \
79         $(NULL)
81 if HAVE_PLUGINS
82 SUBDIRS += \
83         common/bitmap \
84         common/gpt \
85         common/regions \
86         common/sparse \
87         plugins \
88         filters \
89         $(NULL)
90 endif
92 SUBDIRS += . tests
94 check-valgrind:
95         $(MAKE) -C tests check-valgrind
97 check-root:
98         $(MAKE) -C tests check-root
100 check-vddk:
101         $(MAKE) -C tests check-vddk
103 #----------------------------------------------------------------------
104 # Maintainers only!
106 # Check no files are missing from EXTRA_DIST rules, and that all
107 # generated files have been included in the tarball.  (Note you must
108 # have done 'make dist')
109 maintainer-check-extra-dist:
110         @zcat $(PACKAGE_NAME)-$(VERSION).tar.gz | tar tf - | sort | \
111           sed 's,^$(PACKAGE_NAME)-$(VERSION)/,,' > tarfiles
112         @git ls-files | \
113           sort > gitfiles
114         @comm -13 tarfiles gitfiles > comm-out
115         @echo Checking for differences between EXTRA_DIST and git ...
116         @cat comm-out
117         @[ ! -s comm-out ]
118         @rm tarfiles gitfiles comm-out
119         @echo PASS: EXTRA_DIST tests
121 # Commit everything in the current directory and set the commit
122 # message to the current version number.
123 maintainer-commit:
124         git commit -a -m "Version $(VERSION)."
126 # Tag HEAD with the current version.
127 maintainer-tag:
128         git tag -a v$(VERSION) -m "Version $(VERSION)." -f
130 # Run tests and display the time taken to run each test, which is
131 # useful for diagnosing slow-running tests.
133 # Try also setting LIBGUESTFS_BACKEND_SETTINGS=force_tcg which
134 # emulates what happens in Koji.
135 maintainer-check-times:
136         make check -j1 | ts -i