2 # Automated Testing Framework (atf)
4 # Copyright (c) 2007, 2008, 2009 The NetBSD Foundation, Inc.
7 # Redistribution and use in source and binary forms, with or without
8 # modification, are permitted provided that the following conditions
10 # 1. Redistributions of source code must retain the above copyright
11 # notice, this list of conditions and the following disclaimer.
12 # 2. Redistributions in binary form must reproduce the above copyright
13 # notice, this list of conditions and the following disclaimer in the
14 # documentation and/or other materials provided with the distribution.
16 # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND
17 # CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
18 # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19 # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 # IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY
21 # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
23 # GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
25 # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
26 # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
27 # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 # -------------------------------------------------------------------------
32 # -------------------------------------------------------------------------
36 # AUTOMAKE_ID filename
38 # Converts a filename to an Automake identifier, i.e. a string that can be
39 # used as part of a variable name.
40 m4_define([AUTOMAKE_ID], [m4_translit([$1], [-/.+], [____])])
44 # Do 'what' only once, even if called multiple times. Uses 'id' to identify
45 # this specific 'what'.
46 m4_define([DO_ONCE], [m4_ifdef([done_$1], [], [$2 m4_define(done_$1, [])])])
50 # Initializes a variable to the empty string the first time it is called.
51 m4_define([INIT_VAR], [DO_ONCE($1, [$1 =])])
53 # Explicitly initialize some variables so that we can use += later on
54 # without making Automake complain.
58 # -------------------------------------------------------------------------
60 # -------------------------------------------------------------------------
62 EXTRA_DIST += Makefile.am.m4
63 $(srcdir)/Makefile.am: $(srcdir)/admin/generate-makefile.sh \
64 $(srcdir)/Makefile.am.m4
65 $(srcdir)/admin/generate-makefile.sh \
66 $(srcdir)/Makefile.am.m4 $(srcdir)/Makefile.am
68 doc_DATA = AUTHORS COPYING NEWS README
70 EXTRA_DIST += $(doc_DATA)
72 dist-hook: $(srcdir)/admin/revision-dist.h check-install check-style
74 AM_CPPFLAGS = "-DATF_ARCH=\"$(atf_arch)\"" \
75 "-DATF_BUILD_CC=\"$(ATF_BUILD_CC)\"" \
76 "-DATF_BUILD_CFLAGS=\"$(ATF_BUILD_CFLAGS)\"" \
77 "-DATF_BUILD_CPP=\"$(ATF_BUILD_CPP)\"" \
78 "-DATF_BUILD_CPPFLAGS=\"$(ATF_BUILD_CPPFLAGS)\"" \
79 "-DATF_BUILD_CXX=\"$(ATF_BUILD_CXX)\"" \
80 "-DATF_BUILD_CXXFLAGS=\"$(ATF_BUILD_CXXFLAGS)\"" \
81 "-DATF_CONFDIR=\"$(atf_confdir)\"" \
82 "-DATF_INCLUDEDIR=\"$(includedir)\"" \
83 "-DATF_LIBDIR=\"$(libdir)\"" \
84 "-DATF_LIBEXECDIR=\"$(libexecdir)\"" \
85 "-DATF_MACHINE=\"$(atf_machine)\"" \
86 "-DATF_M4=\"$(ATF_M4)\"" \
87 "-DATF_PKGDATADIR=\"$(pkgdatadir)\"" \
88 "-DATF_SHELL=\"$(ATF_SHELL)\"" \
89 "-DATF_WORKDIR=\"$(ATF_WORKDIR)\""
91 ATF_COMPILE_DEPS = $(srcdir)/atf-sh/atf.init.subr
92 ATF_COMPILE_DEPS += tools/atf-host-compile
93 ATF_COMPILE_SH = ./tools/atf-host-compile
95 # DISTFILE_DOC name src
97 # Generates a rule to generate the prebuilt copy of the top-level document
98 # indicated in 'name' based on a generated document pointed to by 'src'.
99 m4_define([DISTFILE_DOC], [
100 $(srcdir)/$1: $(srcdir)/$2
101 @if cmp -s $(srcdir)/$2 $(srcdir)/$1; then \
104 echo cp $(srcdir)/$2 $(srcdir)/$1; \
105 cp $(srcdir)/$2 $(srcdir)/$1; \
109 DISTFILE_DOC([AUTHORS], [doc/text/authors.txt])
110 DISTFILE_DOC([COPYING], [doc/text/copying.txt])
111 DISTFILE_DOC([INSTALL], [doc/text/install.txt])
112 DISTFILE_DOC([NEWS], [doc/text/news.txt])
113 DISTFILE_DOC([README], [doc/text/readme.txt])
115 # -------------------------------------------------------------------------
117 # -------------------------------------------------------------------------
119 .PHONY: check-install
121 $(srcdir)/admin/check-install.sh $(srcdir)/INSTALL
125 $(srcdir)/admin/check-style.sh
127 EXTRA_DIST += admin/check-install.sh \
128 admin/check-style-common.awk \
129 admin/check-style-c.awk \
130 admin/check-style-cpp.awk \
131 admin/check-style-man.awk \
132 admin/check-style-shell.awk \
133 admin/check-style.sh \
134 admin/choose-revision.sh \
135 admin/generate-makefile.sh \
136 admin/generate-revision.sh \
137 admin/generate-revision-dist.sh
141 # Generates rules to create the revision files for the given format.
142 # These create admin/revision.<fmt> and $(srcdir)/admin/revision-dist.<fmt>
143 m4_define([REVISION_FILE], [
144 .PHONY: admin/revision.$1
146 @$(top_srcdir)/admin/generate-revision.sh \
147 -f $1 -m "$(MTN)" -r $(top_srcdir) -o admin/revision.$1 \
148 -v $(PACKAGE_VERSION)
149 CLEANFILES += admin/revision.$1
151 $(srcdir)/admin/revision-dist.$1: admin/revision.$1
152 @$(top_srcdir)/admin/generate-revision-dist.sh \
153 -f $1 -i admin/revision.$1 -o $(srcdir)/admin/revision-dist.$1
154 EXTRA_DIST += admin/revision-dist.$1
159 # -------------------------------------------------------------------------
161 # -------------------------------------------------------------------------
163 lib_LTLIBRARIES = libatf-c.la
164 libatf_c_la_SOURCES = atf-c/build.c \
209 nodist_libatf_c_la_SOURCES = \
212 # XXX For some reason, the nodist line above does not work as expected.
213 # Work this problem around.
214 dist-hook: kill-defs-h
216 rm -f $(distdir)/atf-c/defs.h
218 include_HEADERS = atf-c.h
219 atf_c_HEADERS = atf-c/build.h \
243 atf_cdir = $(includedir)/atf-c
245 dist_man_MANS = atf-c/atf-c-api.3
247 # -------------------------------------------------------------------------
248 # `atf-c++' directory.
249 # -------------------------------------------------------------------------
251 lib_LTLIBRARIES += libatf-c++.la
252 libatf_c___la_LIBADD = libatf-c.la
253 libatf_c___la_SOURCES = atf-c++/application.cpp \
254 atf-c++/application.hpp \
255 atf-c++/atffile.cpp \
256 atf-c++/atffile.hpp \
265 atf-c++/exceptions.cpp \
266 atf-c++/exceptions.hpp \
269 atf-c++/formats.cpp \
270 atf-c++/formats.hpp \
278 atf-c++/process.cpp \
279 atf-c++/process.hpp \
281 atf-c++/signals.cpp \
282 atf-c++/signals.hpp \
293 include_HEADERS += atf-c++.hpp
294 atf_c___HEADERS = atf-c++/application.hpp \
295 atf-c++/atffile.hpp \
300 atf-c++/exceptions.hpp \
302 atf-c++/formats.hpp \
307 atf-c++/process.hpp \
309 atf-c++/signals.hpp \
315 atf_c__dir = $(includedir)/atf-c++
317 dist_man_MANS += atf-c++/atf-c++-api.3
319 # -------------------------------------------------------------------------
320 # `atf-sh' directory.
321 # -------------------------------------------------------------------------
323 atf_sh_DATA = atf-sh/atf.footer.subr \
324 atf-sh/atf.header.subr \
326 atf_shdir = $(pkgdatadir)
327 EXTRA_DIST += $(atf_sh_DATA)
329 dist_man_MANS += atf-sh/atf-sh-api.3
331 # -------------------------------------------------------------------------
333 # -------------------------------------------------------------------------
335 cssdir = $(atf_cssdir)
336 css_DATA = data/tests-results.css
337 EXTRA_DIST += $(css_DATA)
339 dtddir = $(atf_dtddir)
340 dtd_DATA = data/tests-results.dtd
341 EXTRA_DIST += $(dtd_DATA)
344 eg_DATA = data/atf-run.hooks
345 EXTRA_DIST += $(eg_DATA)
347 pkgconfigdir = $(atf_pkgconfigdir)
348 pkgconfig_DATA = data/atf-c.pc data/atf-c++.pc
349 CLEANFILES += data/atf-c.pc data/atf-c++.pc
350 EXTRA_DIST += data/atf-c.pc.in data/atf-c++.pc.in
351 data/atf-c.pc: $(srcdir)/data/atf-c.pc.in
352 test -d data || mkdir -p data
353 sed -e 's,__ATF_VERSION__,@PACKAGE_VERSION@,g' \
354 -e 's,__CC__,$(CC),g' \
355 -e 's,__INCLUDEDIR__,$(includedir),g' \
356 -e 's,__LIBDIR__,$(libdir),g' \
357 <$(srcdir)/data/atf-c.pc.in >data/atf-c.pc.tmp
358 mv data/atf-c.pc.tmp data/atf-c.pc
359 data/atf-c++.pc: $(srcdir)/data/atf-c++.pc.in
360 test -d data || mkdir -p data
361 sed -e 's,__ATF_VERSION__,@PACKAGE_VERSION@,g' \
362 -e 's,__CXX__,$(CXX),g' \
363 -e 's,__INCLUDEDIR__,$(includedir),g' \
364 -e 's,__LIBDIR__,$(libdir),g' \
365 <$(srcdir)/data/atf-c++.pc.in >data/atf-c++.pc.tmp
366 mv data/atf-c++.pc.tmp data/atf-c++.pc
368 xsldir = $(atf_xsldir)
369 xsl_DATA = data/tests-results.xsl
370 EXTRA_DIST += $(xsl_DATA)
372 # -------------------------------------------------------------------------
374 # -------------------------------------------------------------------------
377 CLEANFILES += doc/atf.7
378 EXTRA_DIST += doc/atf.7.in
380 dist_man_MANS += doc/atf-formats.5 \
381 doc/atf-test-case.4 \
382 doc/atf-test-program.1
384 doc/atf.7: $(srcdir)/doc/atf.7.in
385 test -d doc || mkdir -p doc
386 sed -e 's,__DOCDIR__,$(docdir),g' \
387 <$(srcdir)/doc/atf.7.in >doc/atf.7.tmp
388 mv doc/atf.7.tmp doc/atf.7
390 _STANDALONE_XSLT = doc/standalone/sdocbook.xsl
392 EXTRA_DIST += doc/build-xml.sh
393 EXTRA_DIST += doc/standalone/standalone.css
394 EXTRA_DIST += $(_STANDALONE_XSLT)
396 BUILD_XML_ENV = DOC_BUILD=$(DOC_BUILD) \
399 XML_CATALOG_FILE=$(XML_CATALOG_FILE) \
405 # Formats doc/<basename>.xml into HTML and plain text versions.
406 m4_define([XML_DOC], [
407 EXTRA_DIST += doc/$1.xml
408 EXTRA_DIST += doc/standalone/$1.html
409 noinst_DATA += doc/standalone/$1.html
410 EXTRA_DIST += doc/text/$1.txt
411 noinst_DATA += doc/text/$1.txt
412 doc/standalone/$1.html: $(srcdir)/doc/$1.xml doc/build-xml.sh \
414 $(BUILD_XML_ENV) $(ATF_SHELL) doc/build-xml.sh \
415 $(srcdir)/doc/$1.xml $(srcdir)/$(_STANDALONE_XSLT) \
416 html:$(srcdir)/doc/standalone/$1.html
417 doc/text/$1.txt: $(srcdir)/doc/$1.xml doc/build-xml.sh $(_STANDALONE_XSLT)
418 $(BUILD_XML_ENV) $(ATF_SHELL) doc/build-xml.sh \
419 $(srcdir)/doc/$1.xml $(srcdir)/$(_STANDALONE_XSLT) \
420 txt:$(srcdir)/doc/text/$1.txt
429 XML_DOC([specification])
431 # -------------------------------------------------------------------------
433 # -------------------------------------------------------------------------
435 ACLOCAL_AMFLAGS = -I m4
437 # -------------------------------------------------------------------------
438 # `tests/bootstrap' directory.
439 # -------------------------------------------------------------------------
441 check_PROGRAMS = tests/bootstrap/h_app_empty
442 tests_bootstrap_h_app_empty_SOURCES = tests/bootstrap/h_app_empty.cpp
443 tests_bootstrap_h_app_empty_LDADD = libatf-c++.la
445 check_PROGRAMS += tests/bootstrap/h_app_opts_args
446 tests_bootstrap_h_app_opts_args_SOURCES = tests/bootstrap/h_app_opts_args.cpp
447 tests_bootstrap_h_app_opts_args_LDADD = libatf-c++.la
449 check_PROGRAMS += tests/bootstrap/h_tp_basic_c
450 tests_bootstrap_h_tp_basic_c_SOURCES = tests/bootstrap/h_tp_basic_c.c
451 tests_bootstrap_h_tp_basic_c_LDADD = libatf-c.la
453 check_PROGRAMS += tests/bootstrap/h_tp_basic_cpp
454 tests_bootstrap_h_tp_basic_cpp_SOURCES = tests/bootstrap/h_tp_basic_cpp.cpp
455 tests_bootstrap_h_tp_basic_cpp_LDADD = libatf-c++.la
457 check_SCRIPTS = tests/bootstrap/h_tp_basic_sh
458 CLEANFILES += tests/bootstrap/h_tp_basic_sh
459 EXTRA_DIST += tests/bootstrap/h_tp_basic_sh.sh
460 tests/bootstrap/h_tp_basic_sh: $(srcdir)/tests/bootstrap/h_tp_basic_sh.sh \
462 test -d tests/bootstrap || mkdir -p tests/bootstrap
463 $(ATF_COMPILE_SH) -o $@ $(srcdir)/tests/bootstrap/h_tp_basic_sh.sh
465 check_SCRIPTS += tests/bootstrap/h_tp_atf_check_sh
466 CLEANFILES += tests/bootstrap/h_tp_atf_check_sh
467 EXTRA_DIST += tests/bootstrap/h_tp_atf_check_sh.sh
468 tests/bootstrap/h_tp_atf_check_sh: \
469 $(srcdir)/tests/bootstrap/h_tp_atf_check_sh.sh \
471 test -d tests/bootstrap || mkdir -p tests/bootstrap
472 $(ATF_COMPILE_SH) -o $@ $(srcdir)/tests/bootstrap/h_tp_atf_check_sh.sh
475 tests/bootstrap/atconfig \
480 -rm -rf testsuite.dir
482 EXTRA_DIST += tests/bootstrap/testsuite \
483 tests/bootstrap/package.m4 \
484 tests/bootstrap/testsuite.at \
487 testsuite_incs= $(srcdir)/tests/bootstrap/t_application_help.at \
488 $(srcdir)/tests/bootstrap/t_application_opts_args.at \
489 $(srcdir)/tests/bootstrap/t_atf_config.at \
490 $(srcdir)/tests/bootstrap/t_atf_format.at \
491 $(srcdir)/tests/bootstrap/t_atf_run.at \
492 $(srcdir)/tests/bootstrap/t_subr_atf_check.at \
493 $(srcdir)/tests/bootstrap/t_test_program_compare.at \
494 $(srcdir)/tests/bootstrap/t_test_program_filter.at \
495 $(srcdir)/tests/bootstrap/t_test_program_list.at \
496 $(srcdir)/tests/bootstrap/t_test_program_run.at
498 $(srcdir)/tests/bootstrap/package.m4: $(top_srcdir)/configure.ac
500 echo '# Signature of the current package.'; \
501 echo 'm4_[]define(AT_PACKAGE_NAME, @PACKAGE_NAME@)'; \
502 echo 'm4_[]define(AT_PACKAGE_TARNAME, @PACKAGE_TARNAME@)'; \
503 echo 'm4_[]define(AT_PACKAGE_VERSION, @PACKAGE_VERSION@)'; \
504 echo 'm4_[]define(AT_PACKAGE_STRING, @PACKAGE_STRING@)'; \
505 echo 'm4_[]define(AT_PACKAGE_BUGREPORT, @PACKAGE_BUGREPORT@)'; \
506 } >$(srcdir)/tests/bootstrap/package.m4
508 $(srcdir)/tests/bootstrap/testsuite: $(srcdir)/tests/bootstrap/testsuite.at \
510 $(srcdir)/tests/bootstrap/package.m4
511 autom4te --language=Autotest -I $(srcdir) \
512 -I $(srcdir)/tests/bootstrap \
513 $(srcdir)/tests/bootstrap/testsuite.at -o $@.tmp
516 # -------------------------------------------------------------------------
517 # `tests/atf' directory.
518 # -------------------------------------------------------------------------
520 testsdir = $(exec_prefix)/tests
521 pkgtestsdir = $(exec_prefix)/tests/atf
523 TESTS_ENVIRONMENT = PATH=$(prefix)/bin:$${PATH} \
524 PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig
526 installcheck-local: installcheck-bootstrap installcheck-atf
528 # TODO: This really needs to be a 'check' target and not 'installcheck', but
529 # these bootstrap tests don't currently work without atf being installed.
530 .PHONY: installcheck-bootstrap
531 installcheck-bootstrap: $(srcdir)/tests/bootstrap/testsuite check
532 $(TESTS_ENVIRONMENT) $(srcdir)/tests/bootstrap/testsuite
534 .PHONY: installcheck-atf
536 logfile=$$(pwd)/installcheck.log; \
538 $(TESTS_ENVIRONMENT) atf-run | tee $${logfile} | atf-report; \
541 echo "The verbatim output of atf-run has been saved to" \
542 "installcheck.log"; \
544 CLEANFILES += installcheck.log
546 pkgtests_DATA = tests/atf/Atffile
547 EXTRA_DIST += $(pkgtests_DATA)
549 atf_atf_c_DATA = tests/atf/atf-c/Atffile \
550 tests/atf/atf-c/d_include_atf_c_h.c \
551 tests/atf/atf-c/d_include_build_h.c \
552 tests/atf/atf-c/d_include_check_h.c \
553 tests/atf/atf-c/d_include_config_h.c \
554 tests/atf/atf-c/d_include_dynstr_h.c \
555 tests/atf/atf-c/d_include_env_h.c \
556 tests/atf/atf-c/d_include_error_fwd_h.c \
557 tests/atf/atf-c/d_include_error_h.c \
558 tests/atf/atf-c/d_include_expand_h.c \
559 tests/atf/atf-c/d_include_fs_h.c \
560 tests/atf/atf-c/d_include_io_h.c \
561 tests/atf/atf-c/d_include_list_h.c \
562 tests/atf/atf-c/d_include_macros_h.c \
563 tests/atf/atf-c/d_include_map_h.c \
564 tests/atf/atf-c/d_include_object_h.c \
565 tests/atf/atf-c/d_include_process_h.c \
566 tests/atf/atf-c/d_include_sanity_h.c \
567 tests/atf/atf-c/d_include_signals_h.c \
568 tests/atf/atf-c/d_include_tc_h.c \
569 tests/atf/atf-c/d_include_tcr_h.c \
570 tests/atf/atf-c/d_include_text_h.c \
571 tests/atf/atf-c/d_include_tp_h.c \
572 tests/atf/atf-c/d_include_ui_h.c \
573 tests/atf/atf-c/d_include_user_h.c \
574 tests/atf/atf-c/d_use_macros_h.c
575 atf_atf_cdir = $(pkgtestsdir)/atf-c
576 EXTRA_DIST += $(atf_atf_c_DATA)
578 noinst_LTLIBRARIES = tests/atf/atf-c/libh.la
579 tests_atf_atf_c_libh_la_SOURCES = tests/atf/atf-c/h_lib.c \
580 tests/atf/atf-c/h_lib.h
582 # C_TP subdir progname extradeps extralibs
584 # Generates rules to build a C test program. The 'subdir' is relative to
585 # tests/ and progname is the source file name without .c.
587 INIT_VAR(AUTOMAKE_ID([$1])_PROGRAMS)
588 AUTOMAKE_ID([$1])_PROGRAMS += tests/$1/$2
589 tests_[]AUTOMAKE_ID([$1_$2])_SOURCES = tests/$1/$2.c $3
590 tests_[]AUTOMAKE_ID([$1_$2])_LDADD = $4 libatf-c.la
593 # CXX_TP subdir progname extradeps extralibs
595 # Generates rules to build a C test program. The 'subdir' is relative to
596 # tests/ and progname is the source file name without .c.
597 m4_define([CXX_TP], [
598 INIT_VAR(AUTOMAKE_ID([$1])_PROGRAMS)
599 AUTOMAKE_ID([$1])_PROGRAMS += tests/$1/$2
600 tests_[]AUTOMAKE_ID([$1_$2])_SOURCES = tests/$1/$2.cpp $3
601 tests_[]AUTOMAKE_ID([$1_$2])_LDADD = $4 libatf-c++.la
604 # SH_TP subdir progname extradeps
606 # Generates rules to build a C test program. The 'subdir' is relative to
607 # tests/ and progname is the source file name without .c.
609 INIT_VAR(AUTOMAKE_ID([$1])_SCRIPTS)
610 AUTOMAKE_ID([$1])_SCRIPTS += tests/$1/$2
611 CLEANFILES += tests/$1/$2
612 EXTRA_DIST += tests/$1/$2.sh
613 tests/$1/$2: $(srcdir)/tests/$1/$2.sh $(ATF_COMPILE_DEPS)
614 test -d tests/$1 || mkdir -p tests/$1
615 $(ATF_COMPILE_SH) -o tests/$1/$2 $(srcdir)/tests/$1/$2.sh
618 C_TP([atf/atf-c], [t_atf_c], [], [tests/atf/atf-c/libh.la])
619 C_TP([atf/atf-c], [t_build], [tests/atf/atf-c/h_build.h],
620 [tests/atf/atf-c/libh.la])
621 C_TP([atf/atf-c], [t_check], [], [tests/atf/atf-c/libh.la])
622 C_TP([atf/atf-c], [t_config], [], [tests/atf/atf-c/libh.la])
623 C_TP([atf/atf-c], [t_dynstr], [], [tests/atf/atf-c/libh.la])
624 C_TP([atf/atf-c], [t_env], [], [tests/atf/atf-c/libh.la])
625 C_TP([atf/atf-c], [t_error], [], [tests/atf/atf-c/libh.la])
626 C_TP([atf/atf-c], [t_expand], [], [tests/atf/atf-c/libh.la])
627 C_TP([atf/atf-c], [t_fs], [], [tests/atf/atf-c/libh.la])
628 C_TP([atf/atf-c], [t_h_lib], [], [tests/atf/atf-c/libh.la])
629 C_TP([atf/atf-c], [t_io], [], [tests/atf/atf-c/libh.la])
630 C_TP([atf/atf-c], [t_list], [], [tests/atf/atf-c/libh.la])
631 C_TP([atf/atf-c], [t_macros], [], [tests/atf/atf-c/libh.la])
632 C_TP([atf/atf-c], [t_map], [], [tests/atf/atf-c/libh.la])
633 C_TP([atf/atf-c], [t_process], [], [tests/atf/atf-c/libh.la])
634 C_TP([atf/atf-c], [t_signals], [], [tests/atf/atf-c/libh.la])
635 C_TP([atf/atf-c], [t_tc], [], [tests/atf/atf-c/libh.la])
636 C_TP([atf/atf-c], [t_tcr], [], [tests/atf/atf-c/libh.la])
637 C_TP([atf/atf-c], [t_sanity], [], [tests/atf/atf-c/libh.la])
638 C_TP([atf/atf-c], [t_text], [], [tests/atf/atf-c/libh.la])
639 C_TP([atf/atf-c], [t_ui], [], [tests/atf/atf-c/libh.la])
640 C_TP([atf/atf-c], [t_user], [], [tests/atf/atf-c/libh.la])
642 atf_atf_c_PROGRAMS += tests/atf/atf-c/h_processes
643 tests_atf_atf_c_h_processes_SOURCES = tests/atf/atf-c/h_processes.c
645 atf_atf_c___DATA = tests/atf/atf-c++/Atffile \
646 tests/atf/atf-c++/d_include_application_hpp.cpp \
647 tests/atf/atf-c++/d_include_atf_c++_hpp.cpp \
648 tests/atf/atf-c++/d_include_atffile_hpp.cpp \
649 tests/atf/atf-c++/d_include_build_hpp.cpp \
650 tests/atf/atf-c++/d_include_check_hpp.cpp \
651 tests/atf/atf-c++/d_include_config_hpp.cpp \
652 tests/atf/atf-c++/d_include_env_hpp.cpp \
653 tests/atf/atf-c++/d_include_exceptions_hpp.cpp \
654 tests/atf/atf-c++/d_include_expand_hpp.cpp \
655 tests/atf/atf-c++/d_include_formats_hpp.cpp \
656 tests/atf/atf-c++/d_include_fs_hpp.cpp \
657 tests/atf/atf-c++/d_include_io_hpp.cpp \
658 tests/atf/atf-c++/d_include_macros_hpp.cpp \
659 tests/atf/atf-c++/d_include_parser_hpp.cpp \
660 tests/atf/atf-c++/d_include_process_hpp.cpp \
661 tests/atf/atf-c++/d_include_sanity_hpp.cpp \
662 tests/atf/atf-c++/d_include_signals_hpp.cpp \
663 tests/atf/atf-c++/d_include_tests_hpp.cpp \
664 tests/atf/atf-c++/d_include_text_hpp.cpp \
665 tests/atf/atf-c++/d_include_ui_hpp.cpp \
666 tests/atf/atf-c++/d_include_user_hpp.cpp \
667 tests/atf/atf-c++/d_include_utils_hpp.cpp \
668 tests/atf/atf-c++/d_use_macros_hpp.cpp
669 atf_atf_c__dir = $(pkgtestsdir)/atf-c++
670 EXTRA_DIST += $(atf_atf_c___DATA)
672 noinst_LTLIBRARIES += tests/atf/atf-c++/libh.la
673 tests_atf_atf_c___libh_la_SOURCES = tests/atf/atf-c++/h_lib.cpp \
674 tests/atf/atf-c++/h_lib.hpp
676 CXX_TP([atf/atf-c++], [t_atf_c++], [], [tests/atf/atf-c++/libh.la])
677 CXX_TP([atf/atf-c++], [t_application], [], [tests/atf/atf-c++/libh.la])
678 CXX_TP([atf/atf-c++], [t_atffile], [], [tests/atf/atf-c++/libh.la])
679 CXX_TP([atf/atf-c++], [t_build], [tests/atf/atf-c/h_build.h],
680 [tests/atf/atf-c++/libh.la])
681 CXX_TP([atf/atf-c++], [t_check], [], [tests/atf/atf-c++/libh.la])
682 CXX_TP([atf/atf-c++], [t_config], [], [tests/atf/atf-c++/libh.la])
683 CXX_TP([atf/atf-c++], [t_env], [], [tests/atf/atf-c++/libh.la])
684 CXX_TP([atf/atf-c++], [t_exceptions], [], [tests/atf/atf-c++/libh.la])
685 CXX_TP([atf/atf-c++], [t_expand], [], [tests/atf/atf-c++/libh.la])
686 CXX_TP([atf/atf-c++], [t_formats], [], [tests/atf/atf-c++/libh.la])
687 CXX_TP([atf/atf-c++], [t_fs], [], [tests/atf/atf-c++/libh.la])
688 CXX_TP([atf/atf-c++], [t_io], [], [tests/atf/atf-c++/libh.la])
689 CXX_TP([atf/atf-c++], [t_macros], [], [tests/atf/atf-c++/libh.la])
690 CXX_TP([atf/atf-c++], [t_parser], [], [tests/atf/atf-c++/libh.la])
691 CXX_TP([atf/atf-c++], [t_process], [], [tests/atf/atf-c++/libh.la])
692 CXX_TP([atf/atf-c++], [t_sanity], [], [tests/atf/atf-c++/libh.la])
693 CXX_TP([atf/atf-c++], [t_signals], [], [tests/atf/atf-c++/libh.la])
694 CXX_TP([atf/atf-c++], [t_tests], [], [tests/atf/atf-c++/libh.la])
695 CXX_TP([atf/atf-c++], [t_text], [], [tests/atf/atf-c++/libh.la])
696 CXX_TP([atf/atf-c++], [t_ui], [], [tests/atf/atf-c++/libh.la])
697 CXX_TP([atf/atf-c++], [t_user], [], [tests/atf/atf-c++/libh.la])
698 CXX_TP([atf/atf-c++], [t_utils], [], [tests/atf/atf-c++/libh.la])
700 atf_atf_sh_DATA = tests/atf/atf-sh/Atffile
701 atf_atf_shdir = $(pkgtestsdir)/atf-sh
702 EXTRA_DIST += $(atf_atf_sh_DATA)
704 SH_TP([atf/atf-sh], [h_misc])
705 SH_TP([atf/atf-sh], [t_atf_check])
706 SH_TP([atf/atf-sh], [t_config])
707 SH_TP([atf/atf-sh], [t_normalize])
708 SH_TP([atf/atf-sh], [t_tc])
709 SH_TP([atf/atf-sh], [t_tp])
711 atf_data_DATA = tests/atf/data/Atffile
712 atf_datadir = $(pkgtestsdir)/data
713 EXTRA_DIST += $(atf_data_DATA)
715 SH_TP([atf/data], [t_pkg_config])
717 atf_formats_DATA = tests/atf/formats/Atffile \
718 tests/atf/formats/d_atffile_1 \
719 tests/atf/formats/d_atffile_1.expout \
720 tests/atf/formats/d_atffile_2 \
721 tests/atf/formats/d_atffile_2.expout \
722 tests/atf/formats/d_atffile_3 \
723 tests/atf/formats/d_atffile_3.expout \
724 tests/atf/formats/d_atffile_4 \
725 tests/atf/formats/d_atffile_4.expout \
726 tests/atf/formats/d_atffile_5 \
727 tests/atf/formats/d_atffile_5.expout \
728 tests/atf/formats/d_atffile_50 \
729 tests/atf/formats/d_atffile_50.experr \
730 tests/atf/formats/d_atffile_51 \
731 tests/atf/formats/d_atffile_51.experr \
732 tests/atf/formats/d_atffile_52 \
733 tests/atf/formats/d_atffile_52.experr \
734 tests/atf/formats/d_atffile_53 \
735 tests/atf/formats/d_atffile_53.experr \
736 tests/atf/formats/d_atffile_53.expout \
737 tests/atf/formats/d_atffile_54 \
738 tests/atf/formats/d_atffile_54.experr \
739 tests/atf/formats/d_atffile_6 \
740 tests/atf/formats/d_atffile_6.expout \
741 tests/atf/formats/d_config_1 \
742 tests/atf/formats/d_config_1.expout \
743 tests/atf/formats/d_config_2 \
744 tests/atf/formats/d_config_2.expout \
745 tests/atf/formats/d_config_3 \
746 tests/atf/formats/d_config_3.expout \
747 tests/atf/formats/d_config_4 \
748 tests/atf/formats/d_config_4.expout \
749 tests/atf/formats/d_config_50 \
750 tests/atf/formats/d_config_50.experr \
751 tests/atf/formats/d_config_51 \
752 tests/atf/formats/d_config_51.experr \
753 tests/atf/formats/d_config_52 \
754 tests/atf/formats/d_config_52.experr \
755 tests/atf/formats/d_config_53 \
756 tests/atf/formats/d_config_53.experr \
757 tests/atf/formats/d_config_53.expout \
758 tests/atf/formats/d_config_54 \
759 tests/atf/formats/d_config_54.experr \
760 tests/atf/formats/d_headers_1 \
761 tests/atf/formats/d_headers_1.experr \
762 tests/atf/formats/d_headers_10 \
763 tests/atf/formats/d_headers_10.experr \
764 tests/atf/formats/d_headers_11 \
765 tests/atf/formats/d_headers_11.experr \
766 tests/atf/formats/d_headers_12 \
767 tests/atf/formats/d_headers_12.experr \
768 tests/atf/formats/d_headers_2 \
769 tests/atf/formats/d_headers_2.experr \
770 tests/atf/formats/d_headers_3 \
771 tests/atf/formats/d_headers_3.experr \
772 tests/atf/formats/d_headers_4 \
773 tests/atf/formats/d_headers_4.experr \
774 tests/atf/formats/d_headers_5 \
775 tests/atf/formats/d_headers_5.experr \
776 tests/atf/formats/d_headers_6 \
777 tests/atf/formats/d_headers_6.experr \
778 tests/atf/formats/d_headers_7 \
779 tests/atf/formats/d_headers_7.experr \
780 tests/atf/formats/d_headers_8 \
781 tests/atf/formats/d_headers_8.experr \
782 tests/atf/formats/d_headers_9 \
783 tests/atf/formats/d_headers_9.experr \
784 tests/atf/formats/d_tcs_1 \
785 tests/atf/formats/d_tcs_1.errin \
786 tests/atf/formats/d_tcs_1.expout \
787 tests/atf/formats/d_tcs_1.outin \
788 tests/atf/formats/d_tcs_2 \
789 tests/atf/formats/d_tcs_2.errin \
790 tests/atf/formats/d_tcs_2.expout \
791 tests/atf/formats/d_tcs_2.outin \
792 tests/atf/formats/d_tcs_3 \
793 tests/atf/formats/d_tcs_3.errin \
794 tests/atf/formats/d_tcs_3.expout \
795 tests/atf/formats/d_tcs_3.outin \
796 tests/atf/formats/d_tcs_4 \
797 tests/atf/formats/d_tcs_4.errin \
798 tests/atf/formats/d_tcs_4.expout \
799 tests/atf/formats/d_tcs_4.outin \
800 tests/atf/formats/d_tcs_5 \
801 tests/atf/formats/d_tcs_5.errin \
802 tests/atf/formats/d_tcs_5.expout \
803 tests/atf/formats/d_tcs_5.outin \
804 tests/atf/formats/d_tcs_50 \
805 tests/atf/formats/d_tcs_50.experr \
806 tests/atf/formats/d_tcs_51 \
807 tests/atf/formats/d_tcs_51.experr \
808 tests/atf/formats/d_tcs_52 \
809 tests/atf/formats/d_tcs_52.experr \
810 tests/atf/formats/d_tcs_53 \
811 tests/atf/formats/d_tcs_53.experr \
812 tests/atf/formats/d_tcs_53.expout \
813 tests/atf/formats/d_tcs_54 \
814 tests/atf/formats/d_tcs_54.experr \
815 tests/atf/formats/d_tcs_54.expout \
816 tests/atf/formats/d_tcs_55 \
817 tests/atf/formats/d_tcs_55.experr \
818 tests/atf/formats/d_tcs_55.expout \
819 tests/atf/formats/d_tcs_56 \
820 tests/atf/formats/d_tcs_56.errin \
821 tests/atf/formats/d_tcs_56.experr \
822 tests/atf/formats/d_tcs_56.expout \
823 tests/atf/formats/d_tcs_56.outin \
824 tests/atf/formats/d_tcs_57 \
825 tests/atf/formats/d_tcs_57.errin \
826 tests/atf/formats/d_tcs_57.experr \
827 tests/atf/formats/d_tcs_57.expout \
828 tests/atf/formats/d_tcs_57.outin \
829 tests/atf/formats/d_tps_1 \
830 tests/atf/formats/d_tps_1.expout \
831 tests/atf/formats/d_tps_2 \
832 tests/atf/formats/d_tps_2.expout \
833 tests/atf/formats/d_tps_3 \
834 tests/atf/formats/d_tps_3.expout \
835 tests/atf/formats/d_tps_4 \
836 tests/atf/formats/d_tps_4.expout \
837 tests/atf/formats/d_tps_5 \
838 tests/atf/formats/d_tps_5.expout \
839 tests/atf/formats/d_tps_50 \
840 tests/atf/formats/d_tps_50.experr \
841 tests/atf/formats/d_tps_51 \
842 tests/atf/formats/d_tps_51.experr \
843 tests/atf/formats/d_tps_52 \
844 tests/atf/formats/d_tps_52.experr \
845 tests/atf/formats/d_tps_53 \
846 tests/atf/formats/d_tps_53.experr \
847 tests/atf/formats/d_tps_53.expout \
848 tests/atf/formats/d_tps_54 \
849 tests/atf/formats/d_tps_54.experr \
850 tests/atf/formats/d_tps_54.expout \
851 tests/atf/formats/d_tps_55 \
852 tests/atf/formats/d_tps_55.experr \
853 tests/atf/formats/d_tps_55.expout \
854 tests/atf/formats/d_tps_56 \
855 tests/atf/formats/d_tps_56.experr \
856 tests/atf/formats/d_tps_56.expout \
857 tests/atf/formats/d_tps_57 \
858 tests/atf/formats/d_tps_57.experr \
859 tests/atf/formats/d_tps_57.expout \
860 tests/atf/formats/d_tps_58 \
861 tests/atf/formats/d_tps_58.experr \
862 tests/atf/formats/d_tps_58.expout \
863 tests/atf/formats/d_tps_59 \
864 tests/atf/formats/d_tps_59.experr \
865 tests/atf/formats/d_tps_60 \
866 tests/atf/formats/d_tps_60.experr \
867 tests/atf/formats/d_tps_61 \
868 tests/atf/formats/d_tps_61.experr \
869 tests/atf/formats/d_tps_62 \
870 tests/atf/formats/d_tps_62.experr \
871 tests/atf/formats/d_tps_62.expout \
872 tests/atf/formats/d_tps_63 \
873 tests/atf/formats/d_tps_63.experr \
874 tests/atf/formats/d_tps_63.expout \
875 tests/atf/formats/d_tps_64 \
876 tests/atf/formats/d_tps_64.experr \
877 tests/atf/formats/d_tps_64.expout \
878 tests/atf/formats/d_tps_65 \
879 tests/atf/formats/d_tps_65.experr \
880 tests/atf/formats/d_tps_65.expout \
881 tests/atf/formats/d_tps_66 \
882 tests/atf/formats/d_tps_66.experr \
883 tests/atf/formats/d_tps_66.expout
884 atf_formatsdir = $(pkgtestsdir)/formats
885 EXTRA_DIST += $(atf_formats_DATA)
887 CXX_TP([atf/formats], [h_parser])
888 CXX_TP([atf/formats], [t_writers])
890 SH_TP([atf/formats], [t_parsers])
892 atf_test_programs_DATA = tests/atf/test_programs/Atffile
893 atf_test_programsdir = $(pkgtestsdir)/test_programs
894 EXTRA_DIST += $(atf_test_programs_DATA)
896 EXTRA_DIST += tests/atf/test_programs/common.sh
898 C_TP([atf/test_programs], [h_c], [], [tests/atf/atf-c/libh.la])
899 CXX_TP([atf/test_programs], [h_cpp], [], [tests/atf/atf-c++/libh.la])
900 SH_TP([atf/test_programs], [h_sh])
901 SH_TP([atf/test_programs], [t_cleanup])
902 SH_TP([atf/test_programs], [t_config])
903 SH_TP([atf/test_programs], [t_env])
904 SH_TP([atf/test_programs], [t_fork])
905 SH_TP([atf/test_programs], [t_meta_data])
906 SH_TP([atf/test_programs], [t_srcdir])
907 SH_TP([atf/test_programs], [t_status])
908 SH_TP([atf/test_programs], [t_workdir])
910 atf_tools_DATA = tests/atf/tools/Atffile
911 atf_toolsdir = $(pkgtestsdir)/tools
912 EXTRA_DIST += $(atf_tools_DATA)
914 CXX_TP([atf/tools], [h_fail])
915 CXX_TP([atf/tools], [h_misc])
916 CXX_TP([atf/tools], [h_mode])
917 CXX_TP([atf/tools], [h_pass])
918 SH_TP([atf/tools], [t_atf_check])
919 SH_TP([atf/tools], [t_atf_cleanup])
920 SH_TP([atf/tools], [t_atf_compile])
921 SH_TP([atf/tools], [t_atf_config])
922 SH_TP([atf/tools], [t_atf_exec])
923 SH_TP([atf/tools], [t_atf_report])
924 SH_TP([atf/tools], [t_atf_run])
926 # -------------------------------------------------------------------------
928 # -------------------------------------------------------------------------
930 # TOOL dir basename extradeps
932 # Builds a binary tool named 'basename/ and to be installed in 'dir'.
934 INIT_VAR([$1_PROGRAMS])
935 $1_PROGRAMS += tools/$2
936 tools_[]AUTOMAKE_ID([$2])_SOURCES = tools/$2.cpp $3
937 tools_[]AUTOMAKE_ID([$2])_LDADD = libatf-c++.la
938 dist_man_MANS += tools/$2.1
941 TOOL([bin], [atf-check])
942 TOOL([bin], [atf-config])
943 TOOL([libexec], [atf-cleanup])
944 TOOL([bin], [atf-compile])
945 TOOL([libexec], [atf-exec])
946 TOOL([libexec], [atf-format])
947 TOOL([bin], [atf-report])
948 TOOL([bin], [atf-run])
949 TOOL([bin], [atf-version], [revision.h])
951 tools/atf-host-compile: $(srcdir)/tools/atf-host-compile.sh
952 sed -e 's,__ATF_PKGDATADIR__,$(srcdir)/atf-sh,g' \
953 -e 's,__ATF_SHELL__,$(ATF_SHELL),g' \
954 <$(srcdir)/tools/atf-host-compile.sh \
955 >tools/atf-host-compile.tmp
956 chmod +x tools/atf-host-compile.tmp
957 mv tools/atf-host-compile.tmp tools/atf-host-compile
958 CLEANFILES += tools/atf-host-compile
959 CLEANFILES += tools/atf-host-compile.tmp
960 EXTRA_DIST += tools/atf-host-compile.sh
962 BUILT_SOURCES = revision.h
963 revision.h: admin/revision.h $(srcdir)/admin/revision-dist.h
964 @$(top_srcdir)/admin/choose-revision.sh \
965 admin/revision.h $(srcdir)/admin/revision-dist.h revision.h
966 CLEANFILES += revision.h
968 hooksdir = $(pkgdatadir)
969 hooks_DATA = tools/atf-run.hooks
970 EXTRA_DIST += $(hooks_DATA)
972 # vim: syntax=make:noexpandtab:shiftwidth=8:softtabstop=8