# Copyright 2011-2013 Mario Mulansky
# Copyright 2012 Karsten Ahnert
# Copyright 2013 Pascal Germroth
# Distributed under the Boost Software License, Version 1.0. (See
# accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)

use-project /boost : $(BOOST_ROOT) ;
import openmp : * ;

project
    : requirements
      <include>..
      <define>BOOST_ALL_NO_LIB=1
      <library>/boost//timer
      [ openmp ]
    ;

exe lorenz_ensemble : lorenz_ensemble.cpp ;
exe lorenz_ensemble_simple : lorenz_ensemble_simple.cpp ;
exe lorenz_ensemble_nested : lorenz_ensemble_nested.cpp ;
exe phase_chain : phase_chain.cpp ;
exe phase_chain_omp_state : phase_chain_omp_state.cpp ;
