# Makefile.in generated by automake 1.16.2 from Makefile.am.
# @configure_input@

# Copyright (C) 1994-2020 Free Software Foundation, Inc.

# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.

@SET_MAKE@

# Makefile.am --- automake input file for systemtap testsuite
VPATH = @srcdir@
am__is_gnu_make = { \
  if test -z '$(MAKELEVEL)'; then \
    false; \
  elif test -n '$(MAKE_HOST)'; then \
    true; \
  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
    true; \
  else \
    false; \
  fi; \
}
am__make_running_with_option = \
  case $${target_option-} in \
      ?) ;; \
      *) echo "am__make_running_with_option: internal error: invalid" \
              "target option '$${target_option-}' specified" >&2; \
         exit 1;; \
  esac; \
  has_opt=no; \
  sane_makeflags=$$MAKEFLAGS; \
  if $(am__is_gnu_make); then \
    sane_makeflags=$$MFLAGS; \
  else \
    case $$MAKEFLAGS in \
      *\\[\ \	]*) \
        bs=\\; \
        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
    esac; \
  fi; \
  skip_next=no; \
  strip_trailopt () \
  { \
    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
  }; \
  for flg in $$sane_makeflags; do \
    test $$skip_next = yes && { skip_next=no; continue; }; \
    case $$flg in \
      *=*|--*) continue;; \
        -*I) strip_trailopt 'I'; skip_next=yes;; \
      -*I?*) strip_trailopt 'I';; \
        -*O) strip_trailopt 'O'; skip_next=yes;; \
      -*O?*) strip_trailopt 'O';; \
        -*l) strip_trailopt 'l'; skip_next=yes;; \
      -*l?*) strip_trailopt 'l';; \
      -[dEDm]) skip_next=yes;; \
      -[JT]) skip_next=yes;; \
    esac; \
    case $$flg in \
      *$$target_option*) has_opt=yes; break;; \
    esac; \
  done; \
  test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
	$(am__configure_deps)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
 configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo "  GEN     " $@;
am__v_GEN_1 = 
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 = 
SOURCES =
am__can_run_installinfo = \
  case $$AM_UPDATE_INFO_DIR in \
    n|no|NO) false;; \
    *) (install-info --version) >/dev/null 2>&1;; \
  esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DEJATOOL = $(PACKAGE)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
am__leading_dot = @am__leading_dot@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
dejazilla = @dejazilla@
docdir = @docdir@
dvidir = @dvidir@
enable_testapps = @enable_testapps@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
py3execdir = @py3execdir@
pyexecdir = @pyexecdir@
python = @python@
python3 = @python3@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = dejagnu no-dist subdir-objects
DEJAZILLA = @dejazilla@
TESTAPPS = @enable_testapps@
TOOL_OPTS = 

# The SYSTEMTAP_TESTSUITE_RESUME environmental variable will turn on the
# "resume mode" of the systemtap testsuite if set to some non-zero value.  In
# this mode, tests, that have already been run, are not being re-executed, and
# their existing test results are being reused and merged instead.  This can be
# useful e.g. when some of the tests causes kernel panic or stall.  Using the
# "resume mode", it is possible to reboot the testing box, and then re-run the
# testsuite skipping already executed tests.  In this case, the problematic
# testcase is left in an "unfinished" state. See "make list-unfinished".  In
# case the testsuite was running in the parallel testing mode, more than one
# test will be left unfinished of course.  Unfinished tests need separate
# investigation.  The "resume mode" can be used with "make installcheck", or
# "make installcheck-parallel" targets.
SKIPTESTS = --ignore \'$(shell \
	test -z $(SYSTEMTAP_TESTSUITE_RESUME) || \
	  grep -r 'Running.*testsuite.*exp\ ...' systemtap.log 2>/dev/null |\
	  grep -o '[^\/]*\.exp' |\
	  sort -u |\
	  tr '\n' ' ' |\
	  sed 's/\ $$/\n/' \
	)\'


# TESTS exists for the user to pass on the command line to easily
# say "Only run these tests."  With check or installcheck it's not necessary, but
# with installcheck-parallel there's no other way to (easily) specify a subset
# of tests. To specify all tests in a subdirectory, use TESTS=systemtap.subdir/*.exp.
# E.g., make check TESTS="gdb.server/*.exp gdb.threads/*.exp".
expanded_tests := $(patsubst $(srcdir)/%,%,$(wildcard $(addprefix $(srcdir)/,$(TESTS))))

# Following are all tests we want to run within the installcheck-parallel target.
# Those are either specified via the TESTS env var, or all the available tests.
all_tests := $(or $(expanded_tests),$(shell cd $(srcdir) && find systemtap.* -name '*.exp' -print))

# Tests that need to run serially. This namely applies to systemtap.server tests.
# They start a new systemtap server and only expect one local server to run.
all_serial_tests := $(shell cd $(srcdir) && find systemtap.server -name '*.exp' -print)
serial_tests := $(filter $(all_tests),$(all_serial_tests))

# There are a few tests known to be slow. We run them right from the beginning
# to try to lessen the overall time taken by the test suite -- if one of these
# tests happens to be run late, it will cause the overall time to increase.
all_slow_tests = systemtap.examples/check.exp systemtap.pass1-4/buildok.exp \
	systemtap.base/listing_mode.exp systemtap.syscall/nd_syscall.exp \
	systemtap.unprivileged/unprivileged_myproc.exp systemtap.syscall/syscall.exp \
	systemtap.base/sdt_misc.exp systemtap.pass1-4/parseok.exp \
	systemtap.base/listing_mode_sanity.exp systemtap.pass1-4/parse-semok.exp \
	systemtap.pass1-4/semok.exp systemtap.unprivileged/unprivileged_probes.exp \
	systemtap.pass1-4/buildok-interactive.exp \
	systemtap.onthefly/uprobes_onthefly.exp \
	systemtap.onthefly/kprobes_onthefly.exp systemtap.base/sdt.exp \
	systemtap.onthefly/hrtimer_onthefly.exp \
	systemtap.onthefly/tracepoint_onthefly.exp systemtap.exelib/exelib.exp \
	systemtap.pass1-4/semko.exp systemtap.pass1-4/parseko.exp \
	systemtap.base/rlimit.exp systemtap.base/tracepoints.exp \
	systemtap.base/systemtap-service.exp systemtap.maps/map_hash.exp \
	systemtap.base/stmt_rel.exp systemtap.base/library.exp

slow_tests = $(filter $(all_tests),$(all_slow_tests))
regular_tests := $(filter-out $(serial_tests) $(slow_tests) ,$(all_tests))
REGULAR_TEST_TARGETS := $(addprefix installcheck/,$(slow_tests) $(regular_tests))

# $(srcdir)/These values point the test suite to the install tree, and
# are overridden by "make check" from full source/build tree
SYSTEMTAP_RUNTIME = $(DESTDIR)$(pkgdatadir)/runtime
SYSTEMTAP_TAPSET = $(DESTDIR)$(pkgdatadir)/tapset
LD_LIBRARY_PATH = $(DESTDIR)$(libdir)/systemtap:$(DESTDIR)$(libdir)/dyninst
CRASH_LIBDIR = $(DESTDIR)$(libdir)/systemtap
SYSTEMTAP_PATH = $(DESTDIR)$(bindir)
SYSTEMTAP_SPATH = $(DESTDIR)$(sbindir)
SYSTEMTAP_INCLUDES = $(DESTDIR)$(includedir)

# These values get passed down from the main configure.
PYTHON = @python@
PYEXECDIR = @pyexecdir@
PYTHON3 = @python3@
PY3EXECDIR = @py3execdir@
SYSCONFDIR = @sysconfdir@
RUNTESTDEFAULTFLAGS = --tool $$tool --tool_opts \'$(TOOL_OPTS)\' --srcdir $(shell readlink -f $(srcdir))
EXPECT = expect
RUNTEST = env XDG_DATA_DIRS= SYSTEMTAP_SYNC=1 LANG=C SYSTEMTAP_TESTREMOTES=$(TESTREMOTES) SYSTEMTAP_TESTAPPS=$(TESTAPPS) SYSTEMTAP_RUNTIME=$(SYSTEMTAP_RUNTIME) SYSTEMTAP_TAPSET=$(SYSTEMTAP_TAPSET) LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) CRASH_LIBDIR=$(CRASH_LIBDIR) PATH=$(SYSTEMTAP_PATH):$(SYSTEMTAP_SPATH):$$PATH SYSTEMTAP_PATH=$(SYSTEMTAP_PATH) SYSTEMTAP_SPATH=$(SYSTEMTAP_SPATH) SYSTEMTAP_INCLUDES=$(SYSTEMTAP_INCLUDES) PKGLIBDIR=$(pkglibexecdir) PYTHON=$(PYTHON) PYEXECDIR=$(PYEXECDIR) PYTHON3=$(PYTHON3) PY3EXECDIR=$(PY3EXECDIR) SYSCONFDIR=$(SYSCONFDIR) $(srcdir)/execrc runtest
RUNTEST2 = env XDG_DATA_DIRS= SYSTEMTAP_SYNC=1 LANG=C SYSTEMTAP_TESTREMOTES=$(TESTREMOTES) SYSTEMTAP_TESTAPPS=$(TESTAPPS) SYSTEMTAP_RUNTIME=$(SYSTEMTAP_RUNTIME) SYSTEMTAP_TAPSET=$(SYSTEMTAP_TAPSET) LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) CRASH_LIBDIR=$(CRASH_LIBDIR) PATH=$(SYSTEMTAP_PATH):$(SYSTEMTAP_SPATH):$$PATH SYSTEMTAP_PATH=$(SYSTEMTAP_PATH) SYSTEMTAP_SPATH=$(SYSTEMTAP_SPATH) SYSTEMTAP_INCLUDES=$(SYSTEMTAP_INCLUDES) PKGLIBDIR=$(pkglibexecdir) PYTHON=$(PYTHON) PYEXECDIR=$(PYEXECDIR) PYTHON3=$(PYTHON3) PY3EXECDIR=$(PY3EXECDIR) SYSCONFDIR=$(SYSCONFDIR) runtest
all: all-am

.SUFFIXES:
am--refresh: Makefile
	@:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
	      $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
		&& exit 0; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --foreign Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    echo ' $(SHELL) ./config.status'; \
	    $(SHELL) ./config.status;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
	esac;

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	$(SHELL) ./config.status --recheck

$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
	$(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
$(am__aclocal_m4_deps):
tags TAGS:

ctags CTAGS:

cscope cscopelist:


check-DEJAGNU: site.exp
	srcdir='$(srcdir)'; export srcdir; \
	EXPECT=$(EXPECT); export EXPECT; \
	if $(SHELL) -c "$(RUNTEST) --version" > /dev/null 2>&1; then \
	  exit_status=0; l='$(DEJATOOL)'; for tool in $$l; do \
	    if $(RUNTEST) $(RUNTESTDEFAULTFLAGS) $(AM_RUNTESTFLAGS) $(RUNTESTFLAGS); \
	    then :; else exit_status=1; fi; \
	  done; \
	else echo "WARNING: could not find '$(RUNTEST)'" 1>&2; :;\
	fi; \
	exit $$exit_status
site.exp: Makefile $(EXTRA_DEJAGNU_SITE_CONFIG)
	@echo 'Making a new site.exp file ...'
	@echo '## these variables are automatically generated by make ##' >site.tmp
	@echo '# Do not edit here.  If you wish to override these values' >>site.tmp
	@echo '# edit the last section' >>site.tmp
	@echo 'set srcdir "$(srcdir)"' >>site.tmp
	@echo "set objdir `pwd`" >>site.tmp
	@list='$(EXTRA_DEJAGNU_SITE_CONFIG)'; for f in $$list; do \
	  echo "## Begin content included from file $$f.  Do not modify. ##" \
	   && cat `test -f "$$f" || echo '$(srcdir)/'`$$f \
	   && echo "## End content included from file $$f. ##" \
	   || exit 1; \
	 done >> site.tmp
	@echo "## End of auto-generated content; you can edit from here. ##" >> site.tmp
	@if test -f site.exp; then \
	   sed -e '1,/^## End of auto-generated content.*##/d' site.exp >> site.tmp; \
	 fi
	@-rm -f site.bak
	@test ! -f site.exp || mv site.exp site.bak
	@mv site.tmp site.exp

distclean-DEJAGNU:
	-rm -f site.exp site.bak
	-l='$(DEJATOOL)'; for tool in $$l; do \
	  rm -f $$tool.sum $$tool.log; \
	done
check-am: all-am
	$(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU check-local
check: check-am
all-am: Makefile all-local
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

install-am: all-am
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install-strip:
	if test -z '$(STRIP)'; then \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	      install; \
	else \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
	fi
mostlyclean-generic:

clean-generic:

distclean-generic:
	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)

maintainer-clean-generic:
	@echo "This command is intended for maintainers to use"
	@echo "it deletes files that may require special tools to rebuild."
clean: clean-am

clean-am: clean-generic clean-local mostlyclean-am

distclean: distclean-am
	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
	-rm -f Makefile
distclean-am: clean-am distclean-DEJAGNU distclean-generic

dvi: dvi-am

dvi-am:

html: html-am

html-am:

info: info-am

info-am:

install-data-am:

install-dvi: install-dvi-am

install-dvi-am:

install-exec-am:

install-html: install-html-am

install-html-am:

install-info: install-info-am

install-info-am:

install-man:

install-pdf: install-pdf-am

install-pdf-am:

install-ps: install-ps-am

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-am
	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
	-rm -rf $(top_srcdir)/autom4te.cache
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-generic

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am:

.MAKE: check-am install-am install-strip

.PHONY: all all-am all-local am--refresh check check-DEJAGNU check-am \
	check-local clean clean-generic clean-local cscopelist-am \
	ctags-am distclean distclean-DEJAGNU distclean-generic dvi \
	dvi-am html html-am info info-am install install-am \
	install-data install-data-am install-dvi install-dvi-am \
	install-exec install-exec-am install-html install-html-am \
	install-info install-info-am install-man install-pdf \
	install-pdf-am install-ps install-ps-am install-strip \
	installcheck installcheck-am installdirs maintainer-clean \
	maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
	pdf-am ps ps-am tags-am uninstall uninstall-am

.PRECIOUS: Makefile


all-local:
	@echo Run \"make check\" or \"make installcheck\".
	@if test -n "$(DEJAZILLA)"; then echo Test results will be sent to $(DEJAZILLA); fi

clean-local:
	-rm -f ./stap site.exp systemtap.sum systemtap.log
	-rm -f systemtap.temp*
	-rm -rf .systemtap* .cache_test* 2>/dev/null
	-rm -f ./stap_*.ko
	-rm -f flightrec*
	-rm -f *.so
	-rm -f uprobe_*
	-rm -rf artifacts

# automake's dejagnu library already runs check-DEJAGNU before check-local
# That's why we need to add "execrc" to $(RUNTEST) - to ensure that this
# subtarget gets run even if runtest per se exits with a failure.
check-local:
	if test `( expr "$(DEJAZILLA)" : '.*://.*' )` -ne 0; then \
	  curl -F file=@systemtap.sum $(DEJAZILLA); \
	elif test `( expr "$(DEJAZILLA)" : '.*@.*' )` -ne 0; then \
	  mail $(DEJAZILLA) < systemtap.sum; \
	fi

# but installcheck does not follow an implicit check-DEJAGNU, go figure
installcheck: site.exp
	-rm -rf artifacts
	-test -z $(SYSTEMTAP_TESTSUITE_RESUME) && $(MAKE) clean && $(MAKE) site.exp
	-mv systemtap.log systemtap.temp1.log 2>/dev/null
	-mv systemtap.sum systemtap.temp1.sum 2>/dev/null
	-rmmod uprobes 2>/dev/null
	-$(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU RUNTESTFLAGS="$(RUNTESTFLAGS) $(SKIPTESTS) --tool_opts \'install $(TOOL_OPTS)\'"
	if test -e systemtap.temp1.log -o -e systemtap.temp1.sum; then \
	  mv systemtap.log systemtap.temp2.log; \
	  mv systemtap.sum systemtap.temp2.sum; \
	  $(SHELL) $(srcdir)/dg-extract-results.sh `find . -name 'systemtap.temp[1,2].sum' -print` > systemtap.sum; \
	  $(SHELL) $(srcdir)/dg-extract-results.sh -L `find . -name 'systemtap.temp[1,2].log' -print` > systemtap.log; \
	  rm -f systemtap.temp1.log systemtap.temp1.sum systemtap.temp2.log systemtap.temp2.sum; \
	fi
	-sed -ne '/systemtap.Summary/,$$ p' < systemtap.sum
	if test `( expr "$(DEJAZILLA)" : '.*://.*' )` -ne 0; then \
	  curl -F file=@systemtap.sum $(DEJAZILLA); \
	elif test `( expr "$(DEJAZILLA)" : '.*@.*' )` -ne 0; then \
	  mail $(DEJAZILLA) < systemtap.sum; \
	fi

# In the parallel mode, the dg-extract-results.sh generates common .sum and .log
# files for all the tests, plus separate logs per testcase are kept in the artifacts
# directory. Serial tests (see below) log to artifacts/__serialtests.
installcheck-parallel: site.exp
	-test -z $(SYSTEMTAP_TESTSUITE_RESUME) && $(MAKE) clean && $(MAKE) site.exp
	-rmmod uprobes 2>/dev/null
	mkdir -p artifacts/__serialtests
	MAKEFLAGS= $(RUNTEST2) systemtap.base/environment_sanity.exp
	-$(MAKE) -k do-installcheck-parallel; \
	result=$$?; \
	$(SHELL) $(srcdir)/dg-extract-results.sh \
	`find artifacts -name systemtap.sum -print` > systemtap.sum; \
	$(SHELL) $(srcdir)/dg-extract-results.sh -L \
	`find artifacts -name systemtap.log -print` > systemtap.log;
	-tail systemtap.sum
	exit $$result

do-installcheck-parallel: installcheck-serial-tests $(REGULAR_TEST_TARGETS)
	@:

installcheck-serial-tests: site.exp
	-mv artifacts/__serialtests/systemtap.log artifacts/__serialtests/systemtap.temp1.log 2>/dev/null
	-mv artifacts/__serialtests/systemtap.sum artifacts/__serialtests/systemtap.temp1.sum 2>/dev/null
	test -z $(serial_tests) || MAKEFLAGS= $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU RUNTESTFLAGS="--outdir=artifacts/__serialtests $(serial_tests) $(RUNTESTFLAGS) $(SKIPTESTS) --tool_opts \'install $(TOOL_OPTS)\'" STAP_PARALLEL=yes
	mv artifacts/__serialtests/systemtap.log artifacts/__serialtests/systemtap.temp2.log
	mv artifacts/__serialtests/systemtap.sum artifacts/__serialtests/systemtap.temp2.sum
	$(SHELL) $(srcdir)/dg-extract-results.sh `find ./artifacts/__serialtests -name 'systemtap.*sum' -print` > artifacts/__serialtests/systemtap.sum
	$(SHELL) $(srcdir)/dg-extract-results.sh -L `find ./artifacts/__serialtests -name 'systemtap.*log' -print` > artifacts/__serialtests/systemtap.log
	rm -f artifacts/__serialtests/systemtap.temp*

installcheck/%.exp: site.exp
	if test -e artifacts/$* ; then \
	echo "Using existing test result for $*.exp"; \
	else \
	mkdir -p artifacts/$* ; \
	MAKEFLAGS= $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU RUNTESTFLAGS="--outdir=artifacts/$* $*.exp $(RUNTESTFLAGS) --tool_opts \'install $(TOOL_OPTS)\'" STAP_PARALLEL=yes; \
	fi

# In case a test caused kernel panic or stall, followed by the test box reboot
# and testsuite re-run, it will stay unfinished.  All other testcases that might
# have been running in parallel with it, are left unfinished too.  After the the
# last testsuite re-run, after all the testcases have been executed, unfinished
# testcases should be listed and investigated manually.  The "make clean" target
# cleans whole the table entirely.
list-unfinished:
	@find . -type f -name systemtap.log | xargs awk '/Running.*testsuite.*exp .../ {tests[$$2]++}  /testcase.*testsuite.*completed in.*seconds/ {tests[$$2]++} END {for (key in tests) if (tests[key] != 2) { print key }}'

# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
