max-factors = [ option.get "max-factors" : 4 : 4 ] ; path-constant FACTOR-LOG : bin/factor.log ; update-if-changed $(FACTOR-LOG) $(max-factors) ; max-factors = MAX_NUM_FACTORS=$(max-factors) $(FACTOR-LOG) ; alias headers : ../util//kenutil : : : $(max-factors) ; alias ThreadPool : ThreadPool.cpp ; if [ option.get "with-synlm" : no : yes ] = yes { lib m ; obj SyntacticLanguageModel.o : SyntacticLanguageModel.cpp headers : $(TOP)/synlm/hhmm/rvtl/include $(TOP)/synlm/hhmm/wsjparse/include ; alias synlm : SyntacticLanguageModel.o m : : : HAVE_SYNLM ; } else { alias synlm ; } local have-clock = [ SHELL "bash -c \"g++ -dM -x c++ -E /dev/null -include time.h 2>/dev/null |grep CLOCK_MONOTONIC\"" : exit-status ] ; if $(have-clock[2]) = 0 { #required for clock_gettime. Threads already have rt. lib rt : : static:static shared:shared ; } else { alias rt ; } lib moses : [ glob *.cpp DynSAInclude/*.cpp Scope3Parser/*.cpp CYKPlusParser/*.cpp RuleTable/*.cpp fuzzy-match/*.cpp Incremental/*.cpp : #exceptions ThreadPool.cpp SyntacticLanguageModel.cpp *Test.cpp Mock*.cpp ] headers LM//LM CompactPT//CompactPT synlm ThreadPool rt ..//search ../util/double-conversion//double-conversion ..//z ../OnDiskPt//OnDiskPt ; alias headers-to-install : [ glob-tree *.h ] ; import testing ; unit-test moses_test : [ glob *Test.cpp Mock*.cpp ] moses headers ..//z ../OnDiskPt//OnDiskPt ..//boost_unit_test_framework ;