| ## Makefile.in for ICU tests | 
 | ## Copyright (C) 2016 and later: Unicode, Inc. and others. | 
 | ## License & terms of use: http://www.unicode.org/copyright.html | 
 | ## Copyright (c) 1999-2014, International Business Machines Corporation and | 
 | ## others. All Rights Reserved. | 
 |  | 
 | ## Source directory information | 
 | srcdir = @srcdir@ | 
 | top_srcdir = @top_srcdir@ | 
 |  | 
 | top_builddir = .. | 
 |  | 
 | include $(top_builddir)/icudefs.mk | 
 |  | 
 | ## Build directory information | 
 | subdir = test | 
 |  | 
 | @ICUIO_TRUE@IOTEST = iotest | 
 |  | 
 | # the letest directory depends on layoutex. | 
 | # If you have layoutex but not layout, you will be using | 
 | # harfbuzz. | 
 | @LAYOUTEX_TRUE@LETEST = letest | 
 |  | 
 | # no testdata without tools.. | 
 | @TOOLS_TRUE@TESTDATA = testdata | 
 |  | 
 | # status dir | 
 | STATUS_TMP = tmp | 
 | STATUS_FULL = $(shell pwd)/$(STATUS_TMP) | 
 |  | 
 | ## Files to remove for 'make clean' | 
 | CLEANFILES = *~ $(STATUS_TMP) | 
 |  | 
 | SUBDIRS = $(TESTDATA) intltest $(IOTEST) cintltst $(LETEST) | 
 |  | 
 | ## List of phony targets | 
 | .PHONY : everything all all-local all-recursive install install-local		\ | 
 | install-recursive clean clean-local clean-recursive distclean		\ | 
 | distclean-local distclean-recursive dist dist-recursive dist-local	\ | 
 | check check-recursive check-local xcheck xcheck-recursive xcheck-local	\ | 
 | check-exhaustive check-exhaustive-recursive | 
 |  | 
 | ## Clear suffix list | 
 | .SUFFIXES : | 
 |  | 
 | ## List of standard targets | 
 | everything: all-recursive all-local | 
 | all: | 
 | ifneq ($(RECURSIVE),YES) | 
 | 	@echo simply use \`make\' \(or \`make everything\'\) to do all | 
 | endif | 
 |  | 
 | install: install-recursive install-local | 
 | clean: clean-recursive clean-local | 
 | distclean : distclean-recursive distclean-local | 
 | 	$(RMV) hdrtst/Makefile | 
 | 	$(RMV) perf/convperf/Makefile | 
 | 	$(RMV) $(STATUS_TMP) | 
 |  | 
 | dist: dist-recursive dist-local | 
 | check: everything check-recursive check-local | 
 | check-recursive: all-recursive | 
 | # the xcheck targets create a ../test-*.xml file in JUnit format. | 
 | xcheck: everything xcheck-recursive xcheck-local | 
 | xcheck-recursive: all-recursive | 
 | check-exhaustive: everything check-exhaustive-recursive check-local | 
 |  | 
 | ## Recursive targets | 
 | all-recursive install-recursive clean-recursive distclean-recursive dist-recursive: | 
 | 	@dot_seen=no; \ | 
 | 	target=`echo $@ | sed s/-recursive//`; \ | 
 | 	list='$(SUBDIRS)'; for subdir in $$list; do \ | 
 | 	  echo "$(MAKE)[$(MAKELEVEL)]: Making \`$$target' in \`$$subdir'"; \ | 
 | 	  if test "$$subdir" = "."; then \ | 
 | 	    dot_seen=yes; \ | 
 | 	    local_target="$$target-local"; \ | 
 | 	  else \ | 
 | 	    local_target="$$target"; \ | 
 | 	  fi; \ | 
 | 	  (cd $$subdir && $(MAKE) $$local_target) || exit; \ | 
 | 	done; \ | 
 | 	if test "$$dot_seen" = "no"; then \ | 
 | 	  $(MAKE) "$$target-local" || exit; \ | 
 | 	fi | 
 |  | 
 | xcheck-recursive check-recursive check-exhaustive-recursive: | 
 | 	@$(MKINSTALLDIRS) $(STATUS_TMP) | 
 | 	@mystatus=$(STATUS_FULL)/status.$$$$.deleteme ; \ | 
 | 	$(RMV) "$$mystatus".* ; \ | 
 | 	goods=; \ | 
 | 	bads=; \ | 
 | 	target=`echo $@ | sed s/-recursive//`; \ | 
 | 	list='$(SUBDIRS)'; for subdir in $$list; do \ | 
 | 	  echo "$(MAKE)[$(MAKELEVEL)]: Making \`$$target' in \`$$subdir'"; \ | 
 | 	  local_target="$$target"; \ | 
 | 	  if (cd $$subdir && $(MAKE) $$local_target TEST_STATUS_FILE="$$mystatus.$$subdir" ); then \ | 
 | 	    goods="$$goods $$subdir"; \ | 
 |           else \ | 
 |             bads="$$bads $$subdir"; \ | 
 |           fi; \ | 
 | 	done; \ | 
 | 	for subdir in $$list; do \ | 
 | 	  if [ -f "$$mystatus.$$subdir" ]; then \ | 
 | 	    echo "-------------" ; \ | 
 | 	    echo "| ***     FAILING TEST SUMMARY FOR:              $$subdir  " ; \ | 
 | 	    cat "$$mystatus.$$subdir" ; \ | 
 | 	    echo "| *** END FAILING TEST SUMMARY FOR:              $$subdir" ; \ | 
 | 	    $(RMV) "$$mystatus.$$subdir" ; \ | 
 | 	  fi; \ | 
 | 	done; \ | 
 | 	echo "---------------"; \ | 
 | 	echo "ALL TESTS SUMMARY:"; \ | 
 |         if test ! "x$$bads" = "x"; then \ | 
 | 	  echo "ok: $$goods"; \ | 
 | 	  echo "===== ERRS: $$bads"; exit 1; \ | 
 | 	else \ | 
 | 	  echo "All tests OK: $$goods"; \ | 
 | 	fi | 
 |  | 
 | # pcheck = parallel check. We don't care about the output interleaving, | 
 | # just run it as fast as possible. | 
 | # todo would be to merge this code into the above non-parallel check. | 
 | STATUS_NUM:=$(shell echo $$$$) | 
 | MYSTATUS_R=$(STATUS_FULL)/status.$(STATUS_NUM).deleteme | 
 | STATUS_FILES=$(SUBDIRS:%=$(MYSTATUS_R).%) | 
 |  | 
 | pcheck_setup: testdata | 
 | 	@$(MKINSTALLDIRS) $(STATUS_TMP) | 
 | 	$(RMV) "$(MYSTATUS_R)".* | 
 | 	@echo Beginning parallel make. Output may be interleaved! | 
 |  | 
 | $(STATUS_FULL)/status.$(STATUS_NUM).deleteme.%: pcheck_setup | 
 | 	-@$(MAKE) -C $* TEST_STATUS_FILE=$@ check || ( echo "FAILED: $* (other tests may still be running..)" ; touch $@ ; cp $@ $@.FAIL ; false ) | 
 | 	-@[ ! -f $@.FAIL ] && touch $@.PASS && echo "PASSED: $* (other tests may still be running..)" | 
 | 	-@touch $@ | 
 |  | 
 | # print out status | 
 | pcheck: $(STATUS_FILES) | 
 | 	@goods=; \ | 
 | 	bads=; \ | 
 | 	echo "----------------------------------------"; \ | 
 | 	for subdir in $(SUBDIRS); do \ | 
 | 	  if [ -s "$(MYSTATUS_R).$$subdir" ]; then \ | 
 | 	    echo "-------------" ; \ | 
 | 	    echo "| ***     FAILING TEST SUMMARY FOR:              $$subdir  " ; \ | 
 | 	    cat "$(MYSTATUS_R).$$subdir" ; \ | 
 | 	    echo "| *** END FAILING TEST SUMMARY FOR:              $$subdir" ; \ | 
 | 	    $(RMV) "$(MYSTATUS_R).$$subdir" ; \ | 
 | 	  fi; \ | 
 | 	done; \ | 
 | 	for subdir in $(SUBDIRS); do \ | 
 | 		if [ -f "$(MYSTATUS_R).$$subdir.FAIL" ]; \ | 
 | 		then \ | 
 | 			bads="$$bads $$subdir" ; \ | 
 | 		elif [ -f "$(MYSTATUS_R).$$subdir.PASS" ]; \ | 
 | 		then \ | 
 | 			goods="$$goods $$subdir" ; \ | 
 | 		else \ | 
 | 			echo "*** subtest did not complete - $$subdir" ; \ | 
 | 			bads="$$bads $$subdir" ; \ | 
 | 		fi ; \ | 
 | 	done ; \ | 
 | 	echo "ALL TESTS SUMMARY:"; \ | 
 |         if test ! "x$$bads" = "x"; then \ | 
 | 	  echo "(to get non-interleaved err output, use \"$(MAKE) check\" instead.)" ; \ | 
 | 	  echo "ok: $$goods"; \ | 
 | 	  echo "===== ERRS: $$bads"; exit 1; \ | 
 | 	else \ | 
 | 	  echo "All tests OK: $$goods"; \ | 
 | 	fi | 
 | 	-@$(RMV) "$(MYSTATUS_R)".* | 
 |  | 
 | all-local: | 
 |  | 
 | install-local: | 
 |  | 
 | dist-local: | 
 |  | 
 | clean-local: | 
 | 	test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES) | 
 |  | 
 | distclean-local: clean-local | 
 | 	$(RMV) Makefile | 
 |  | 
 | xcheck-local check-local: all-local | 
 |  | 
 | Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status | 
 | 	cd $(top_builddir) \ | 
 | 	&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status | 
 |  |