1999-08-16 21:50:52 +00:00
|
|
|
## Makefile.in for ICU tests
|
2016-06-15 18:58:17 +00:00
|
|
|
## Copyright (C) 2016 and later: Unicode, Inc. and others.
|
|
|
|
## License & terms of use: http://www.unicode.org/copyright.html
|
2016-05-31 21:45:07 +00:00
|
|
|
## Copyright (c) 1999-2014, International Business Machines Corporation and
|
|
|
|
## others. All Rights Reserved.
|
2000-01-17 19:48:20 +00:00
|
|
|
|
2000-10-24 19:50:20 +00:00
|
|
|
## Source directory information
|
1999-08-16 21:50:52 +00:00
|
|
|
srcdir = @srcdir@
|
|
|
|
top_srcdir = @top_srcdir@
|
|
|
|
|
2000-10-26 19:28:33 +00:00
|
|
|
top_builddir = ..
|
|
|
|
|
|
|
|
include $(top_builddir)/icudefs.mk
|
1999-08-16 21:50:52 +00:00
|
|
|
|
|
|
|
## Build directory information
|
|
|
|
subdir = test
|
|
|
|
|
2004-05-21 18:22:39 +00:00
|
|
|
@ICUIO_TRUE@IOTEST = iotest
|
2014-09-10 02:20:50 +00:00
|
|
|
|
|
|
|
# the letest directory depends on layoutex.
|
|
|
|
# If you have layoutex but not layout, you will be using
|
|
|
|
# harfbuzz.
|
|
|
|
@LAYOUTEX_TRUE@LETEST = letest
|
2004-05-21 18:22:39 +00:00
|
|
|
|
2013-07-09 01:16:33 +00:00
|
|
|
# status dir
|
|
|
|
STATUS_TMP = tmp
|
|
|
|
STATUS_FULL = $(shell pwd)/$(STATUS_TMP)
|
|
|
|
|
1999-08-16 21:50:52 +00:00
|
|
|
## Files to remove for 'make clean'
|
2013-09-04 02:09:29 +00:00
|
|
|
CLEANFILES = *~ $(STATUS_TMP)
|
1999-08-16 21:50:52 +00:00
|
|
|
|
2014-03-08 00:49:39 +00:00
|
|
|
SUBDIRS = testdata intltest $(IOTEST) cintltst $(LETEST)
|
1999-08-16 21:50:52 +00:00
|
|
|
|
|
|
|
## List of phony targets
|
2000-10-12 01:36:14 +00:00
|
|
|
.PHONY : everything all all-local all-recursive install install-local \
|
1999-08-16 21:50:52 +00:00
|
|
|
install-recursive clean clean-local clean-recursive distclean \
|
|
|
|
distclean-local distclean-recursive dist dist-recursive dist-local \
|
2011-11-14 22:33:19 +00:00
|
|
|
check check-recursive check-local xcheck xcheck-recursive xcheck-local \
|
|
|
|
check-exhaustive check-exhaustive-recursive
|
1999-08-16 21:50:52 +00:00
|
|
|
|
|
|
|
## Clear suffix list
|
|
|
|
.SUFFIXES :
|
|
|
|
|
|
|
|
## List of standard targets
|
2000-10-12 01:36:14 +00:00
|
|
|
everything: all-recursive all-local
|
|
|
|
all:
|
2000-10-24 19:50:20 +00:00
|
|
|
ifneq ($(RECURSIVE),YES)
|
2000-10-12 01:36:14 +00:00
|
|
|
@echo simply use \`make\' \(or \`make everything\'\) to do all
|
2000-10-24 19:50:20 +00:00
|
|
|
endif
|
2000-10-12 01:36:14 +00:00
|
|
|
|
1999-08-16 21:50:52 +00:00
|
|
|
install: install-recursive install-local
|
|
|
|
clean: clean-recursive clean-local
|
|
|
|
distclean : distclean-recursive distclean-local
|
2004-06-17 15:36:19 +00:00
|
|
|
$(RMV) hdrtst/Makefile
|
2007-08-10 02:07:24 +00:00
|
|
|
$(RMV) perf/convperf/Makefile
|
2013-07-09 01:16:33 +00:00
|
|
|
$(RMV) $(STATUS_TMP)
|
2004-06-17 15:36:19 +00:00
|
|
|
|
1999-08-16 21:50:52 +00:00
|
|
|
dist: dist-recursive dist-local
|
2000-10-12 01:36:14 +00:00
|
|
|
check: everything check-recursive check-local
|
2004-03-11 06:44:56 +00:00
|
|
|
check-recursive: all-recursive
|
2010-07-12 15:24:57 +00:00
|
|
|
# the xcheck targets create a ../test-*.xml file in JUnit format.
|
|
|
|
xcheck: everything xcheck-recursive xcheck-local
|
|
|
|
xcheck-recursive: all-recursive
|
2011-11-14 22:33:19 +00:00
|
|
|
check-exhaustive: everything check-exhaustive-recursive check-local
|
1999-08-16 21:50:52 +00:00
|
|
|
|
|
|
|
## Recursive targets
|
2008-04-25 17:02:32 +00:00
|
|
|
all-recursive install-recursive clean-recursive distclean-recursive dist-recursive:
|
1999-08-16 21:50:52 +00:00
|
|
|
@dot_seen=no; \
|
|
|
|
target=`echo $@ | sed s/-recursive//`; \
|
|
|
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
2002-01-04 23:48:46 +00:00
|
|
|
echo "$(MAKE)[$(MAKELEVEL)]: Making \`$$target' in \`$$subdir'"; \
|
1999-08-16 21:50:52 +00:00
|
|
|
if test "$$subdir" = "."; then \
|
|
|
|
dot_seen=yes; \
|
|
|
|
local_target="$$target-local"; \
|
|
|
|
else \
|
|
|
|
local_target="$$target"; \
|
|
|
|
fi; \
|
2000-02-04 22:34:43 +00:00
|
|
|
(cd $$subdir && $(MAKE) $$local_target) || exit; \
|
1999-08-16 21:50:52 +00:00
|
|
|
done; \
|
|
|
|
if test "$$dot_seen" = "no"; then \
|
2000-08-11 22:08:11 +00:00
|
|
|
$(MAKE) "$$target-local" || exit; \
|
1999-08-16 21:50:52 +00:00
|
|
|
fi
|
|
|
|
|
2011-11-14 22:33:19 +00:00
|
|
|
xcheck-recursive check-recursive check-exhaustive-recursive:
|
2013-07-09 01:16:33 +00:00
|
|
|
@$(MKINSTALLDIRS) $(STATUS_TMP)
|
|
|
|
@mystatus=$(STATUS_FULL)/status.$$$$.deleteme ; \
|
|
|
|
$(RMV) "$$mystatus".* ; \
|
2008-04-25 17:02:32 +00:00
|
|
|
@goods=; \
|
|
|
|
bads=; \
|
|
|
|
target=`echo $@ | sed s/-recursive//`; \
|
|
|
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
|
|
|
echo "$(MAKE)[$(MAKELEVEL)]: Making \`$$target' in \`$$subdir'"; \
|
|
|
|
local_target="$$target"; \
|
2013-07-09 01:16:33 +00:00
|
|
|
if (cd $$subdir && $(MAKE) $$local_target TEST_STATUS_FILE="$$mystatus.$$subdir" ); then \
|
2008-04-25 17:02:32 +00:00
|
|
|
goods="$$goods $$subdir"; \
|
|
|
|
else \
|
|
|
|
bads="$$bads $$subdir"; \
|
|
|
|
fi; \
|
|
|
|
done; \
|
2013-07-09 01:16:33 +00:00
|
|
|
for subdir in $$list; do \
|
|
|
|
if [ -f "$$mystatus.$$subdir" ]; then \
|
|
|
|
echo "-------------" ; \
|
2013-07-24 21:04:50 +00:00
|
|
|
echo "| *** FAILING TEST SUMMARY FOR: $$subdir " ; \
|
2013-07-09 01:16:33 +00:00
|
|
|
cat "$$mystatus.$$subdir" ; \
|
2013-07-24 21:04:50 +00:00
|
|
|
echo "| *** END FAILING TEST SUMMARY FOR: $$subdir" ; \
|
2013-07-09 01:16:33 +00:00
|
|
|
$(RMV) "$$mystatus.$$subdir" ; \
|
|
|
|
fi; \
|
|
|
|
done; \
|
2008-04-25 17:02:32 +00:00
|
|
|
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
|
|
|
|
|
2013-09-04 02:09:29 +00:00
|
|
|
# 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
|
2014-03-08 00:49:39 +00:00
|
|
|
-@$(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 $@
|
2013-09-04 02:09:29 +00:00
|
|
|
|
|
|
|
# print out status
|
|
|
|
pcheck: $(STATUS_FILES)
|
|
|
|
@goods= ; \
|
|
|
|
bads= ; \
|
2014-03-08 00:49:39 +00:00
|
|
|
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; \
|
2013-09-04 02:09:29 +00:00
|
|
|
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)".*
|
|
|
|
|
1999-08-16 21:50:52 +00:00
|
|
|
all-local:
|
|
|
|
|
|
|
|
install-local:
|
|
|
|
|
|
|
|
dist-local:
|
|
|
|
|
|
|
|
clean-local:
|
2000-05-15 22:32:11 +00:00
|
|
|
test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
|
1999-08-16 21:50:52 +00:00
|
|
|
|
2000-04-10 23:24:53 +00:00
|
|
|
distclean-local: clean-local
|
2000-05-15 22:32:11 +00:00
|
|
|
$(RMV) Makefile
|
1999-08-16 21:50:52 +00:00
|
|
|
|
2010-07-12 15:24:57 +00:00
|
|
|
xcheck-local check-local: all-local
|
1999-08-16 21:50:52 +00:00
|
|
|
|
|
|
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
|
|
cd $(top_builddir) \
|
|
|
|
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
2002-02-06 02:08:02 +00:00
|
|
|
|