1# Copyright 2010 The Kyua Authors.
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are
6# met:
7#
8# * Redistributions of source code must retain the above copyright
9#   notice, this list of conditions and the following disclaimer.
10# * Redistributions in binary form must reproduce the above copyright
11#   notice, this list of conditions and the following disclaimer in the
12#   documentation and/or other materials provided with the distribution.
13# * Neither the name of Google Inc. nor the names of its contributors
14#   may be used to endorse or promote products derived from this software
15#   without specific prior written permission.
16#
17# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29if WITH_ATF
30tests_bootstrapdir = $(pkgtestsdir)/bootstrap
31
32tests_bootstrap_DATA = bootstrap/Kyuafile
33EXTRA_DIST += $(tests_bootstrap_DATA)
34
35DISTCLEANFILES = bootstrap/atconfig \
36                 bootstrap/testsuite.lineno \
37                 bootstrap/testsuite.log
38
39distclean-local: distclean-testsuite
40distclean-testsuite:
41	-rm -rf bootstrap/testsuite.dir
42
43EXTRA_DIST += bootstrap/Kyuafile \
44              bootstrap/testsuite \
45              bootstrap/package.m4 \
46              bootstrap/testsuite.at
47
48tests_bootstrap_PROGRAMS = bootstrap/atf_helpers
49bootstrap_atf_helpers_SOURCES = bootstrap/atf_helpers.cpp
50bootstrap_atf_helpers_CXXFLAGS = $(ATF_CXX_CFLAGS)
51bootstrap_atf_helpers_LDADD = $(ATF_CXX_LIBS)
52
53tests_bootstrap_PROGRAMS += bootstrap/plain_helpers
54bootstrap_plain_helpers_SOURCES = bootstrap/plain_helpers.cpp
55bootstrap_plain_helpers_CXXFLAGS = $(UTILS_CFLAGS)
56
57tests_bootstrap_SCRIPTS = bootstrap/testsuite
58@target_srcdir@bootstrap/package.m4: $(top_srcdir)/configure.ac
59	$(AM_V_GEN){ \
60	echo '# Signature of the current package.'; \
61	echo 'm4_define(AT_PACKAGE_NAME,      @PACKAGE_NAME@)'; \
62	echo 'm4_define(AT_PACKAGE_TARNAME,   @PACKAGE_TARNAME@)'; \
63	echo 'm4_define(AT_PACKAGE_VERSION,   @PACKAGE_VERSION@)'; \
64	echo 'm4_define(AT_PACKAGE_STRING,    @PACKAGE_STRING@)'; \
65	echo 'm4_define(AT_PACKAGE_BUGREPORT, @PACKAGE_BUGREPORT@)'; \
66	} >$(srcdir)/bootstrap/package.m4
67
68@target_srcdir@bootstrap/testsuite: $(srcdir)/bootstrap/testsuite.at \
69                                    @target_srcdir@bootstrap/package.m4
70	$(AM_V_GEN)autom4te --language=Autotest -I $(srcdir) \
71	    -I $(srcdir)/bootstrap \
72	    $(srcdir)/bootstrap/testsuite.at -o $@.tmp; \
73	mv $@.tmp $@
74
75CHECK_LOCAL += check-bootstrap
76PHONY_TARGETS += check-bootstrap
77check-bootstrap: @target_srcdir@bootstrap/testsuite $(check_PROGRAMS) \
78                 $(CHECK_BOOTSTRAP_DEPS)
79	cd bootstrap && $(CHECK_ENVIRONMENT) $(TESTS_ENVIRONMENT) \
80	    ./testsuite
81
82if !TARGET_SRCDIR_EMPTY
83CHECK_BOOTSTRAP_DEPS += copy-bootstrap-testsuite
84CHECK_KYUA_DEPS += copy-bootstrap-testsuite
85PHONY_TARGETS += copy-bootstrap-testsuite
86copy-bootstrap-testsuite:
87	    cp -f @target_srcdir@bootstrap/testsuite bootstrap/testsuite
88CLEANFILES += bootstrap/testsuite
89endif
90endif
91