#cdec compilation with bjam # #--with-boost=/usr/include #--with-google-hash=/usr/include so that $with-google-hash/google/dense_hash_map exists # #-a forces the build to run from scratch #-jN parallelizes just like make # #Respects CXXFLAGS, CFLAGS, and LDFLAGS environment variables. path-constant TOP : . ; include $(TOP)/jam-files/sanity.jam ; boost 104400 ; external-lib z ; with-google-hash = [ option.get "with-google-hash" ] ; if [ test_header google/dense_hash_map ] || $(with-google-hash) { requirements += HAVE_SPARSEHASH $(with-google-hash) ; } if [ test_header cmph.h ] || $(with-cmph) { requirements += HAVE_CMPH $(with-cmph) ; } if [ test_header boost/serialization/map.hpp ] && [ test_library boost_serialization ] { requirements += HAVE_BOOST_ARCHIVE_TEXT_OARCHIVE_HPP ; } project : requirements $(requirements) ; project : default-build single on release ; install-bin-libs utils//programs mteval//programs klm/lm//programs decoder//cdec phrasinator//programs ; build-projects mteval decoder klm/lm ; #Compile everything ending with _test.cc into a test and run it. rule all_tests ( targets * : dependencies : properties * ) { targets ?= [ glob *_test.cc ] ; for t in $(targets) { local base = [ MATCH "^(.*).cc$" : $(t) ] ; unit-test $(base) : $(t) $(dependencies) ..//boost_unit_test_framework : $(properties) ; } }