2 # Copyright (C) 2013-2020 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 ACLOCAL_AMFLAGS = -I m4
46 scripts/git.orderfile \
48 .vscode/settings.json \
52 CLEANFILES += html/*.html scripts/*~
55 # NB: This is not the real nbdkit binary. It's a wrapper that allows
56 # you to run nbdkit from the build directory before it is installed.
57 noinst_PROGRAMS = nbdkit
58 nbdkit_SOURCES = wrapper.c server/options.h
60 -I$(top_srcdir)/server \
61 -I$(top_srcdir)/common/utils \
62 -I$(top_srcdir)/common/replacements \
63 -Dbuilddir=\"$(abs_top_builddir)\" \
64 -Dsrcdir=\"$(abs_top_srcdir)\" \
65 -DVALGRIND=\"$(VALGRIND)\" \
67 nbdkit_CFLAGS = $(WARNINGS_CFLAGS)
69 $(top_builddir)/common/utils/libutils.la \
70 $(top_builddir)/common/replacements/libcompat.la \
72 EXTRA_nbdkit_DEPENDENCIES = config.status
73 endif !ENABLE_LIBFUZZER
102 $(MAKE) -C tests check-valgrind
105 $(MAKE) -C tests check-root
108 $(MAKE) -C tests check-vddk
111 @for d in common/utils; do \
112 $(MAKE) -C $$d bench || exit 1; \
115 #----------------------------------------------------------------------
118 # Check no files are missing from EXTRA_DIST rules, and that all
119 # generated files have been included in the tarball. (Note you must
120 # have done 'make dist')
121 maintainer-check-extra-dist:
122 @zcat $(PACKAGE_NAME)-$(VERSION).tar.gz | tar tf - | sort | \
123 sed 's,^$(PACKAGE_NAME)-$(VERSION)/,,' > tarfiles
127 -e '^\.gitlab-ci.yml' \
130 @comm -13 tarfiles gitfiles > comm-out
131 @echo Checking for differences between EXTRA_DIST and git ...
134 @rm tarfiles gitfiles comm-out
135 @echo PASS: EXTRA_DIST tests
137 # Commit everything in the current directory and set the commit
138 # message to the current version number.
140 git commit -a -m "Version $(VERSION)."
142 # Tag HEAD with the current version.
144 git tag -a v$(VERSION) -m "Version $(VERSION)." -f
146 # Run tests and display the time taken to run each test, which is
147 # useful for diagnosing slow-running tests.
149 # Try also setting LIBGUESTFS_BACKEND_SETTINGS=force_tcg which
150 # emulates what happens in Koji.
151 maintainer-check-times:
152 make check -j1 | ts -i