114 lines
4.6 KiB
Makefile
114 lines
4.6 KiB
Makefile
########################################################-*-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)
|
|
|
|
|