# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
+_build-aux ?= build-aux
+_autoreconf ?= autoreconf -v
+
# If the user runs GNU make but has not yet run ./configure,
# give them a diagnostic.
_gl-Makefile := $(wildcard [M]akefile)
ALL_RECURSIVE_TARGETS =
include Makefile
-
-# Some projects override e.g., _autoreconf here.
--include $(srcdir)/cfg.mk
-
-# Allow cfg.mk to override these.
-_build-aux ?= build-aux
-_autoreconf ?= autoreconf -v
-
-include $(srcdir)/maint.mk
+include $(srcdir)/$(_build-aux)/cfg.mk
+include $(srcdir)/$(_build-aux)/maint.mk
# Ensure that $(VERSION) is up to date for dist-related targets, but not
# for others: rerunning autoreconf and recompiling everything isn't cheap.
srcdir = .
# The package can override .DEFAULT_GOAL to run actions like autoreconf.
--include ./cfg.mk
-
-# Allow cfg.mk to override these.
-_build-aux ?= build-aux
-_autoreconf ?= autoreconf -v
-
-include ./maint.mk
+include $(srcdir)/$(_build-aux)/cfg.mk
+include $(srcdir)/$(_build-aux)/maint.mk
ifeq ($(.DEFAULT_GOAL),abort-due-to-no-makefile)
$(MAKECMDGOALS): abort-due-to-no-makefile
libvirt-admin.pc.in \
Makefile.nonreentrant \
autogen.sh \
- cfg.mk \
GNUmakefile \
- maint.mk \
run.in \
README.md \
AUTHORS.in \
build-aux/augeas-gentest.pl \
+ build-aux/cfg.mk \
build-aux/check-spacing.pl \
build-aux/header-ifdef.pl \
+ build-aux/maint.mk \
build-aux/minimize-po.pl \
build-aux/mock-noinline.pl \
build-aux/prohibit-duplicate-header.pl \
exclude_file_name_regexp--sc_gettext_init = ^((tests|examples)/|tools/virt-login-shell.c)
exclude_file_name_regexp--sc_copyright_format = \
- ^cfg\.mk$$
+ ^build-aux/cfg\.mk$$
exclude_file_name_regexp--sc_copyright_usage = \
- ^(COPYING(|\.LESSER))|maint\.mk$$
+ ^COPYING(|\.LESSER)|build-aux/maint.mk$$
exclude_file_name_regexp--sc_flags_usage = \
- ^(cfg\.mk|docs/|src/util/virnetdevtap\.c$$|tests/((vir(cgroup|pci|test|usb)|nss|qemuxml2argv|qemusecurity)mock|virfilewrapper)\.c$$)
+ ^(build-aux/cfg\.mk|docs/|src/util/virnetdevtap\.c$$|tests/((vir(cgroup|pci|test|usb)|nss|qemuxml2argv|qemusecurity)mock|virfilewrapper)\.c$$)
exclude_file_name_regexp--sc_libvirt_unmarked_diagnostics = \
^(src/rpc/gendispatch\.pl$$|tests/)
exclude_file_name_regexp--sc_po_check = ^(docs/|src/rpc/gendispatch\.pl$$)
exclude_file_name_regexp--sc_prohibit_VIR_ERR_NO_MEMORY = \
- ^(cfg\.mk|include/libvirt/virterror\.h|src/remote/remote_daemon_dispatch\.c|src/util/virerror\.c|docs/internals/oomtesting\.html\.in)$$
+ ^(build-aux/cfg\.mk|include/libvirt/virterror\.h|src/remote/remote_daemon_dispatch\.c|src/util/virerror\.c|docs/internals/oomtesting\.html\.in)$$
exclude_file_name_regexp--sc_makefile_TAB_only_indentation = \
- ^maint\.mk$$
+ ^build-aux/maint\.mk$$
exclude_file_name_regexp--sc_makefile_at_at_check = \
- ^maint\.mk$$
+ ^build-aux/maint\.mk$$
exclude_file_name_regexp--sc_prohibit_PATH_MAX = \
- ^(maint|cfg)\.mk$$
+ ^build-aux/(cfg|maint)\.mk$$
exclude_file_name_regexp--sc_prohibit_access_xok = \
- ^(cfg\.mk|src/util/virutil\.c)$$
+ ^(build-aux/cfg\.mk|src/util/virutil\.c)$$
exclude_file_name_regexp--sc_prohibit_asprintf = \
- ^(cfg\.mk|bootstrap.conf$$|examples/|src/util/virstring\.[ch]$$|tests/vircgroupmock\.c|tools/virt-login-shell\.c|tools/nss/libvirt_nss\.c$$)
+ ^(build-aux/cfg\.mk|bootstrap.conf$$|examples/|src/util/virstring\.[ch]$$|tests/vircgroupmock\.c|tools/virt-login-shell\.c|tools/nss/libvirt_nss\.c$$)
exclude_file_name_regexp--sc_prohibit_strdup = \
^(docs/|examples/|src/util/virstring\.c|tests/vir(netserverclient|cgroup)mock.c|tests/commandhelper\.c|tools/nss/libvirt_nss_(leases|macs)\.c$$)
^((po|tests|examples)/|docs/.*(py|js|html\.in)|run.in$$|tools/wireshark/util/genxdrstub\.pl|tools/virt-login-shell\.c$$)
exclude_file_name_regexp--sc_prohibit_select = \
- ^cfg\.mk$$
+ ^build-aux/cfg\.mk$$
exclude_file_name_regexp--sc_prohibit_canonicalize_file_name = \
- ^(cfg\.mk|tests/virfilemock\.c)$$
+ ^(build-aux/cfg\.mk|tests/virfilemock\.c)$$
exclude_file_name_regexp--sc_prohibit_raw_allocation = \
^(docs/hacking\.html\.in|src/util/viralloc\.[ch]|examples/.*|tests/(securityselinuxhelper|(vircgroup|nss)mock|commandhelper)\.c|tools/wireshark/src/packet-libvirt\.c|tools/nss/libvirt_nss(_leases|_macs)?\.c|build-aux/useless-if-before-free)$$
exclude_file_name_regexp--sc_prohibit_setuid = ^src/util/virutil\.c|tools/virt-login-shell\.c$$
exclude_file_name_regexp--sc_prohibit_sprintf = \
- ^(cfg\.mk|docs/hacking\.html\.in|.*\.stp|.*\.pl)$$
+ ^(build-aux/cfg\.mk|docs/hacking\.html\.in|.*\.stp|.*\.pl)$$
exclude_file_name_regexp--sc_prohibit_strncpy = ^src/util/virstring\.c$$
exclude_file_name_regexp--sc_unmarked_diagnostics = \
^(docs/apibuild.py|tests/virt-aa-helper-test|docs/js/.*\.js)$$
-exclude_file_name_regexp--sc_size_of_brackets = cfg.mk
+exclude_file_name_regexp--sc_size_of_brackets = build-aux/cfg\.mk
exclude_file_name_regexp--sc_correct_id_types = \
(^src/locking/lock_protocol.x$$)
^(tools/|examples/|include/libvirt/(virterror|libvirt(-(admin|qemu|lxc))?)\.h$$)
exclude_file_name_regexp--sc_prohibit_int_ijk = \
- ^(src/remote_protocol-structs|src/remote/remote_protocol\.x|cfg\.mk|include/libvirt/libvirt.+|src/admin_protocol-structs|src/admin/admin_protocol\.x)$$
+ ^(src/remote_protocol-structs|src/remote/remote_protocol\.x|build-aux/cfg\.mk|include/libvirt/libvirt.+|src/admin_protocol-structs|src/admin/admin_protocol\.x)$$
exclude_file_name_regexp--sc_prohibit_unsigned_pid = \
^(include/libvirt/.*\.h|src/(qemu/qemu_driver\.c|driver-hypervisor\.h|libvirt(-[a-z]*)?\.c|.*\.x|util/vir(polkit|systemd)\.c)|tests/virpolkittest\.c|tools/virsh-domain\.c)$$
^tests/virpolkittest.c
exclude_file_name_regexp--sc_prohibit_devname = \
- ^(tools/virsh.pod|cfg.mk|docs/.*)$$
+ ^(tools/virsh.pod|build-aux/cfg\.mk|docs/.*)$$
exclude_file_name_regexp--sc_prohibit_virXXXFree = \
- ^(docs/|tests/|examples/|tools/|cfg.mk|src/test/test_driver.c|src/libvirt_public.syms|include/libvirt/libvirt-(domain|network|nodedev|storage|stream|secret|nwfilter|interface|domain-snapshot).h|src/libvirt-(domain|qemu|network|nodedev|storage|stream|secret|nwfilter|interface|domain-snapshot).c$$)
+ ^(docs/|tests/|examples/|tools/|build-aux/cfg\.mk|src/test/test_driver.c|src/libvirt_public.syms|include/libvirt/libvirt-(domain|network|nodedev|storage|stream|secret|nwfilter|interface|domain-snapshot).h|src/libvirt-(domain|qemu|network|nodedev|storage|stream|secret|nwfilter|interface|domain-snapshot).c$$)
exclude_file_name_regexp--sc_prohibit_sysconf_pagesize = \
- ^(cfg\.mk|src/util/virutil\.c)$$
+ ^(build-aux/cfg\.mk|src/util/virutil\.c)$$
exclude_file_name_regexp--sc_prohibit_pthread_create = \
- ^(cfg\.mk|src/util/virthread\.c|tests/.*)$$
+ ^(build-aux/cfg\.mk|src/util/virthread\.c|tests/.*)$$
exclude_file_name_regexp--sc_prohibit_always-defined_macros = \
^tests/virtestmock.c$$
^(tools/nss/libvirt_nss.*\.c|tools/virt-login-shell\.c)
exclude_file_name_regexp--sc_prohibit_backslash_alignment = \
- ^maint\.mk$$
+ ^build-aux/maint\.mk$$
# This is reported not to work with make-3.79.1
# ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
-ME := maint.mk
+ME := $(_build-aux)/maint.mk
# These variables ought to be defined through the configure.ac section
# of the module description. But some packages import this file directly,
## Sanity checks. ##
## --------------- ##
-ifneq ($(_gl-Makefile),)
-_cfg_mk := $(wildcard $(srcdir)/cfg.mk)
+_cfg_mk := $(wildcard $(srcdir)/$(_build-aux)/cfg.mk)
# Collect the names of rules starting with 'sc_'.
syntax-check-rules := $(sort $(shell $(SED) -n \
$(filter-out $(local-checks-to-skip), $(local-checks-available)))
syntax-check: $(local-check)
-endif
# _sc_search_regexp
#
# Don't define macros that we already get from gnulib header files.
sc_prohibit_always-defined_macros:
@if test -d $(gnulib_dir); then \
- case $$(echo all: | $(GREP) -l -f - Makefile) in Makefile);; *) \
+ case $$(echo all: | $(GREP) -l -f - $(abs_top_builddir)/Makefile) in $(abs_top_builddir)/Makefile);; *) \
echo '$(ME): skipping $@: you lack GNU grep' 1>&2; exit 0;; \
esac; \
regex=$$($(def_sym_regex)); export regex; \
release-commit:
$(AM_V_GEN)cd $(srcdir) \
&& $(_build-aux)/do-release-commit-and-tag \
- -C $(abs_builddir) $(RELEASE)
+ -C $(abs_top_builddir) $(RELEASE)
## ---------------- ##
## Updating files. ##
&& { echo define manual_title in cfg.mk 1>&2; exit 1; } || :
$(AM_V_at)cd '$(srcdir)/doc'; \
$(SHELL) ../$(_build-aux)/gendocs.sh $(gendocs_options_) \
- -o '$(abs_builddir)/doc/manual' \
+ -o '$(abs_top_builddir)/doc/manual' \
--email $(PACKAGE_BUGREPORT) $(PACKAGE) \
"$(PACKAGE_NAME) - $(manual_title)"
$(AM_V_at)echo " *** Upload the doc/manual directory to web-cvs."
.PHONY: web-manual-update
web-manual-update:
$(AM_V_GEN)cd $(srcdir) \
- && $(_build-aux)/gnu-web-doc-update -C $(abs_builddir)
+ && $(_build-aux)/gnu-web-doc-update -C $(abs_top_builddir)
# Code Coverage
ALL_RECURSIVE_TARGETS += sc_tight_scope
sc_tight_scope: tight-scope.mk
@fail=0; \
- if ! $(GREP) '^ *export _gl_TS_headers *=' $(srcdir)/cfg.mk \
+ if ! $(GREP) '^ *export _gl_TS_headers *=' $(_build-aux)/cfg.mk \
> /dev/null \
&& ! $(GREP) -w noinst_HEADERS $(srcdir)/$(_gl_TS_dir)/Makefile.am \
> /dev/null 2>&1; then \
else \
$(MAKE) -s -C $(_gl_TS_dir) \
-f Makefile \
- -f $(abs_top_srcdir)/cfg.mk \
+ -f $(_build-aux)/cfg.mk \
-f $(abs_top_builddir)/$< \
_gl_tight_scope \
|| fail=1; \