import os ;
path-constant TOP : . ;
local external = /lustre/nyx/panda/malte/extern/ ; 
local ROOTSYS = [ os.environ ROOTSYS ] ; 
local rlibs = [ SHELL "$(ROOTSYS)/bin/root-config --libs" ] ;
ROOTLIBS = [ MATCH "(.*)[\n]" : $(rlibs) ] ;
BOOSTLIBS =  -lboost_date_time -lboost_filesystem -lboost_program_options -lboost_regex -lboost_serialization -lboost_system -lboost_test_exec_monitor -lboost_timer -lboost_chrono -lrt ;


project :
	requirements <include>./  
        <include>$(BOOSTINCLUDE)
        <include>$(external)/include
        <include>$(ROOTSYS)/include
        <include>$JULIA_DIR/include/julia
        <link>static
        <cxxflags>-std=gnu++11
        <cxxflags>-ftemplate-depth=256
        <linkflags>$(ROOTLIBS)
        <linkflags>-L$(BOOSTLIBPATH)
        <linkflags>$(BOOSTLIBS)
        <linkflags>-L/lustre/nyx/panda/malte/extern/lib/
        <linkflags>-llog4cpp
        <linkflags>-L$JULIA_DIR/lib
        <linkflags>-ljulia
        ;
actions rootlibs
{
	$(ROOTSYS)/bin/root-config --libs
}

lib HepMc : : <file>/lustre/nyx/panda/malte/extern/lib/libHepMC.so : : ;
lib Minuit2 : : <file>/lustre/nyx/panda/malte/extern/lib/libMinuit2.so : : ;
 
build-project qft++ ;
build-project Utils ;
build-project ErrLogger ;
build-project qft++Extension ;
build-project ConfigParser ;
build-project FitParams ;
build-project PwaDynamics ;
build-project PwaUtils ;
build-project MinFunctions ;
build-project AppUtils ;
build-project pbarpUtils ;
build-project epemUtils ;
build-project resUtils ;
#build-project gammapUtils ;
build-project Particle ;
build-project Event ;
build-project PspGen ;
build-project Examples ;
build-project PwaApps ;