local most-deps = [ glob *.cpp : ExtractionPhrasePair.cpp *Test.cpp *-main.cpp ] ; #Build .o files with include path setting, reused. for local d in $(most-deps) { obj $(d:B).o : $(d) ; } #and stuff them into an alias. alias deps : $(most-deps:B).o ..//z ..//boost_iostreams ..//boost_filesystem ../moses//moses ../moses//ThreadPool ../moses//Util ../util//kenutil ; #ExtractionPhrasePair.cpp requires that main define some global variables. #Build the mains that do not need these global variables. for local m in [ glob *-main.cpp : score-main.cpp ] { exe [ MATCH "(.*)-main.cpp" : $(m) ] : $(m) deps ; } #The side dishes that use ExtractionPhrasePair.cpp exe score : ExtractionPhrasePair.cpp score-main.cpp deps ; import testing ; run ScoreFeatureTest.cpp ExtractionPhrasePair.cpp deps ..//boost_unit_test_framework ..//boost_iostreams : : test.domain ;