########################################################-*-mode:Makefile-*- ## ## ## Centre for Speech Technology Research ## ## University of Edinburgh, UK ## ## Copyright (c) 1996,1997 ## ## All Rights Reserved. ## ## ## ## Permission is hereby granted, free of charge, to use and distribute ## ## this software and its documentation without restriction, including ## ## without limitation the rights to use, copy, modify, merge, publish, ## ## distribute, sublicense, and/or sell copies of this work, and to ## ## permit persons to whom this work is furnished to do so, 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. ## ## 4. The authors' names are not used to endorse or promote products ## ## derived from this software without specific prior written ## ## permission. ## ## ## ## 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) include $(TOP)/config/common_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)