# Copyright John Maddock 2005. # Use, modification and distribution are subject to the # Boost Software License, Version 1.0. (See accompanying file # LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) project : : requirements ; local TR1_PROPERTIES = $(BOOST_ROOT)/boost/tr1/tr1 # Borland's broken include mechanism needs these extra headers: borland:$(BOOST_ROOT)/boost/tr1/tr1/bcc32 # Sunpro's broken include mechanism needs these extra headers: $(BOOST_ROOT)/boost/tr1/tr1/sun ; # # define the sources which need testing, mostly this is just # all the files *_test.cpp, but any badly named examples can # be added to this list :-) # # this rule enumerates through all the sources and invokes # the run rule for each source, the result is a list of all # the run rules, which we can pass on to the test_suite rule: rule test_all { #ECHO executing test_all rule ; local all_rules = ; for local file in [ glob test*.cpp ] { all_rules += [ compile $(file) ] ; all_rules += [ compile $(file) : TEST_STD_HEADERS=1 $(TR1_PROPERTIES) : std_$(file:B) ] ; } for local fileb in [ glob run*.cpp ] { all_rules += [ run $(fileb) ] ; all_rules += [ run $(fileb) : # additional args : # test-files : # requirements TEST_STD_HEADERS=1 $(TR1_PROPERTIES) : std_$(fileb:B) ] ; } for local file2 in [ glob config/tr1_has_tr1*fail.cpp ] { all_rules += [ compile-fail $(file2) ] ; } for local filec in [ glob config/tr1_has_tr1*pass.cpp ] { all_rules += [ compile $(filec) ] ; } for local file3 in [ glob type_traits/*.cpp ] { all_rules += [ run $(file3) : # additional args : # test-files : # requirements $(BOOST_ROOT)/libs/type_traits/test TEST_STD=2005 $(TR1_PROPERTIES) ] ; } # Commented due to conflict between test_complex in this dir # and in std_headers. for local file5 in [ glob std_headers/*.cpp ] { all_rules += [ compile $(file5) : TEST_STD=2005 $(TR1_PROPERTIES) : $(file5:B)_std_header ] ; } for local file6 in [ glob cyclic_depend/*.cpp ] { all_rules += [ compile $(file6) : $(TR1_PROPERTIES) ] ; } #ECHO $(all_rules) ; return $(all_rules) ; } test-suite tr1 : [ test_all r ] ;