Jamfile.v2 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. ##############################################################################
  2. # Copyright 2005-2006 Andreas Huber Doenni
  3. # Distributed under the Boost Software License, Version 1.0. (See accompany-
  4. # ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  5. ##############################################################################
  6. project libs/statechart/example ;
  7. local custom = <define>CUSTOMIZE_MEMORY_MANAGEMENT ;
  8. local native = <define>BOOST_STATECHART_USE_NATIVE_RTTI ;
  9. rule independent-obj-build (
  10. name : directory : cpp-sources + : requirements * )
  11. {
  12. local objs ;
  13. for local cpp-source in $(cpp-sources)
  14. {
  15. obj $(name)$(cpp-source)
  16. : $(directory)/$(cpp-source).cpp : $(requirements) ;
  17. objs += $(name)$(cpp-source) ;
  18. }
  19. return $(objs) ;
  20. }
  21. rule statechart-st-example-build (
  22. name : directory : cpp-sources + : requirements * )
  23. {
  24. exe $(name) : [ independent-obj-build $(name)
  25. : $(directory) : $(cpp-sources)
  26. # Some platforms have either problems with the automatic
  27. # detection of the threading mode (e.g. vc-7_1 &
  28. # gcc >= 3.4.0) or don't support single-threaded mode
  29. # (e.g. vc-8_0). We therefore manually turn MT
  30. # off here
  31. : <threading>single <define>BOOST_DISABLE_THREADS $(requirements) ] ;
  32. return $(name) ;
  33. }
  34. rule statechart-mt-example-build (
  35. name : directory : cpp-sources + : requirements * )
  36. {
  37. exe $(name) : [ independent-obj-build $(name)
  38. : $(directory) : $(cpp-sources)
  39. : <threading>multi $(requirements) ]
  40. ../../thread/build//boost_thread ;
  41. return $(name) ;
  42. }
  43. stage run
  44. : [ statechart-st-example-build BitMachine : BitMachine : BitMachine ]
  45. [ statechart-st-example-build Camera
  46. : Camera : Camera Configuring Main Shooting ]
  47. [ statechart-st-example-build Handcrafted : Handcrafted : Handcrafted ]
  48. [ statechart-st-example-build KeyboardNormal : Keyboard : Keyboard ]
  49. [ statechart-st-example-build KeyboardNative
  50. : Keyboard : Keyboard : $(native) ]
  51. [ statechart-st-example-build PingPongSingle
  52. : PingPong : PingPong Player : $(custom) ]
  53. [ statechart-mt-example-build PingPongMulti1
  54. : PingPong : PingPong Player : $(custom) ]
  55. [ statechart-mt-example-build PingPongMulti2
  56. : PingPong : PingPong Player : $(custom) <define>USE_TWO_THREADS ]
  57. [ statechart-st-example-build StopWatch : StopWatch : StopWatch ]
  58. [ statechart-st-example-build StopWatch2 : StopWatch : StopWatch2 ]
  59. [ statechart-st-example-build PerformanceNormal
  60. : Performance : Performance ]
  61. [ statechart-st-example-build PerformanceCustom
  62. : Performance : Performance : $(custom) ]
  63. [ statechart-st-example-build PerformanceNative
  64. : Performance : Performance : $(native) ]
  65. : <install-dependencies>on <install-type>EXE <install-type>SHARED_LIB ;