############################################################################## # Copyright 2005-2006 Andreas Huber Doenni # Distributed under the Boost Software License, Version 1.0. (See accompany- # ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ############################################################################## project libs/statechart/example ; local custom = CUSTOMIZE_MEMORY_MANAGEMENT ; local native = BOOST_STATECHART_USE_NATIVE_RTTI ; rule independent-obj-build ( name : directory : cpp-sources + : requirements * ) { local objs ; for local cpp-source in $(cpp-sources) { obj $(name)$(cpp-source) : $(directory)/$(cpp-source).cpp : $(requirements) ; objs += $(name)$(cpp-source) ; } return $(objs) ; } rule statechart-st-example-build ( name : directory : cpp-sources + : requirements * ) { exe $(name) : [ independent-obj-build $(name) : $(directory) : $(cpp-sources) # Some platforms have either problems with the automatic # detection of the threading mode (e.g. vc-7_1 & # gcc >= 3.4.0) or don't support single-threaded mode # (e.g. vc-8_0). We therefore manually turn MT # off here : single BOOST_DISABLE_THREADS $(requirements) ] ; return $(name) ; } rule statechart-mt-example-build ( name : directory : cpp-sources + : requirements * ) { exe $(name) : [ independent-obj-build $(name) : $(directory) : $(cpp-sources) : multi $(requirements) ] ../../thread/build//boost_thread ; return $(name) ; } stage run : [ statechart-st-example-build BitMachine : BitMachine : BitMachine ] [ statechart-st-example-build Camera : Camera : Camera Configuring Main Shooting ] [ statechart-st-example-build Handcrafted : Handcrafted : Handcrafted ] [ statechart-st-example-build KeyboardNormal : Keyboard : Keyboard ] [ statechart-st-example-build KeyboardNative : Keyboard : Keyboard : $(native) ] [ statechart-st-example-build PingPongSingle : PingPong : PingPong Player : $(custom) ] [ statechart-mt-example-build PingPongMulti1 : PingPong : PingPong Player : $(custom) ] [ statechart-mt-example-build PingPongMulti2 : PingPong : PingPong Player : $(custom) USE_TWO_THREADS ] [ statechart-st-example-build StopWatch : StopWatch : StopWatch ] [ statechart-st-example-build StopWatch2 : StopWatch : StopWatch2 ] [ statechart-st-example-build PerformanceNormal : Performance : Performance ] [ statechart-st-example-build PerformanceCustom : Performance : Performance : $(custom) ] [ statechart-st-example-build PerformanceNative : Performance : Performance : $(native) ] : on EXE SHARED_LIB ;