1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
########################################################-*-mode:Makefile-*-
## ##
## Centre for Speech Technology Research ##
## University of Edinburgh, UK ##
## Copyright (c) 1996,1997 ##
## All Rights Reserved. ##
## ##
## Permission to use, copy, modify, distribute this software and its ##
## documentation for research, educational and individual use only, is ##
## hereby granted without fee, subject to the following conditions: ##
## 1. The code must retain the above copyright notice, this list of ##
## conditions and the following disclaimer. ##
## 2. Any modifications must be clearly marked as such. ##
## 3. Original authors' names are not deleted. ##
## This software may not be used for commercial purposes without ##
## specific prior written permission from the authors. ##
## ##
## THE UNIVERSITY OF EDINBURGH AND THE CONTRIBUTORS TO THIS WORK ##
## DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ##
## ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT ##
## SHALL THE UNIVERSITY OF EDINBURGH NOR THE CONTRIBUTORS BE LIABLE ##
## FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ##
## WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN ##
## AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ##
## ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF ##
## THIS SOFTWARE. ##
## ##
###########################################################################
# Makefile rules for testing things #
###########################################################################
TEST_PROGRAMS = $(TEST_MODULES:%=%_example) $(TEST_MODULES:%=%_regression)
#TSRCS = $(TEST_PROGRAMS:%=%.C)
#SRCS = $(TSRCS)
#OBJS = $(SRCS:%.C=%.o)
SCRIPTS = $(TEST_SCRIPTS:%=%.sh)
FILES = Makefile \
$(SCRIPTS)
include $(TOP)/config/default_make_rules
test_scripts: $(TEST_SCRIPTS:%=%_script_test)
test_modules: $(TEST_MODULES:%=%_module_build_and_test)
$(TEST_MODULES:%=%_module_build_and_test) : %_module_build_and_test : %_module_rebuild %_module_test
$(TEST_MODULES:%=%_module_rebuild) : %_module_rebuild :
@echo 'build $* (module)'
@/bin/rm -f $(OBJS)
@if $(MAKE) --no-print-directory OPTIMISE=$(TEST_OPTIMISE) WARN=1 $*_example $*_regression ;\
then \
: ;\
else \
echo $* example status: FAILED ; exit 1 ;\
fi
$(TEST_MODULES:%=%_module_test) : %_module_test : correct/%_example.out correct/%_regression.out
@echo 'test $* (module)'
@if ./$*_example $($(*:=_example_args)) > $*_example.out ;\
then \
echo $*_example completed ;\
if [ ! -f $*_example.out ] || diff $*_example.out correct/$*_example.out ;\
then \
echo $* example status: CORRECT ;\
else \
echo $* example status: INCORRECT ;\
fi ;\
else \
echo $* example status: FAILED ;\
fi
@if ./$*_regression $($(*:=_regression_args)) > $*_regression.out ;\
then \
echo $*_regression completed ;\
if [ ! -f $*_regression.out ] || diff $*_regression.out correct/$*_regression.out ;\
then \
echo $* regression status: CORRECT ;\
else \
echo $* regression status: INCORRECT ;\
fi ;\
else \
echo $* regression status: FAILED ;\
fi
@echo
@echo
$(TEST_SCRIPTS:%=%_script_test) : %_script_test : %.sh correct/%_script.out
@echo 'test $* (script)'
@OUTPUT='$*_script.out' ;\
TOP='$(TOP)' ;\
export TOP OUTPUT ;\
if /bin/sh $*.sh $($(*:=_script_args)) ;\
then \
echo $* script completed ;\
if [ ! -f $*_script.out ] || diff $*_script.out correct/$*_script.out ;\
then \
echo $* script status: CORRECT ;\
else \
echo $* script status: INCORRECT ;\
fi ;\
else \
echo $* script status: FAILED ;\
fi
@echo
@echo
$(SRCS:%.C=%.o) : %.o : %.C
% : %.o
$(CXX) $(CXXFLAGS) $(TEMPLATES) -o $@ $@.o $(ESTLIB) $($(@:=_LIBS)) $(LIBS)
|