# Jamfile.v2 # # Copyright (c) 2007-2008 # Steven Watanabe # # Distributed under 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 import testing ; import path ; import regex ; import print ; import sequence ; import feature ; project boost/units/test_headers : requirements $(BOOST_ROOT) ../../.. ; headers = [ path.glob-tree ../../../boost/units : *.hpp : detail ] ; for local file in $(headers) { compile test.cpp : # requirements BOOST_UNITS_HEADER_NAME=$(file) $(file) : # test name [ regex.replace [ path.relative-to ../../.. $(file) ] "/" "_" ] ; } feature.feature : forward reverse : incidental ; rule generate-include-all ( target : sources * : properties * ) { print.output $(target) ; if reverse in $(properties) { sources = [ sequence.reverse $(sources) ] ; } for local file in $(sources) { print.text "#include <$(file:G=)> " : overwrite ; } } make include_all1.cpp : $(headers) : @generate-include-all ; make include_all2.cpp : $(headers) : @generate-include-all : reverse ; # this ought to catch non-inlined functions and other duplicate definitions link include_all1.cpp include_all2.cpp main.cpp : . : include_all_headers ;