-
Notifications
You must be signed in to change notification settings - Fork 1
/
jamroot.jam
128 lines (102 loc) · 3.09 KB
/
jamroot.jam
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# jamroot for RWK1 project
# imports
import ./tools/default-install ;
import ./tools/rootcint ;
import type ;
import os ;
# is CMSSW set
local cmssw = [ os.environ CMSSW_BASE ] ;
if $(cmssw) != ""
{
ECHO "CMSSW is set: " $(cmssw) "\n" ;
}
# register .C files for ROOT macros
type.register-suffixes C : CPP ;
# change the suffix from dylib to so on MACOSX
type.change-generated-target-suffix SHARED_LIB : <target-os>darwin : so ;
# path to project
path-constant PAC : ./ ;
# build directory
if $(cmssw) != ""
{
path-constant build-dir : ./bin/cmssw/temp ;
}
else
{
path-constant build-dir : ./bin/temp ;
}
# install exe directory
if $(cmssw) != ""
{
path-constant install-dir : ./bin/cmssw ;
}
else
{
path-constant install-dir : ./bin ;
}
# install lib directory
if $(cmssw) != ""
{
path-constant install-lib : ./lib/cmssw ;
}
else
{
path-constant install-lib : ./lib ;
}
# define the project
project pac
: build-dir
$(build-dir)
: default-build release
;
set-install-dir $(install-dir) ;
# External Sources and programs
# ----------------------------------------------------------------------#
# CMSSW
#path-constant CMSSW_SRC : /usr/local/cmssw/osx107_amd64_gcc462/cms/cmssw/CMSSW_5_3_4/src ;
#use-project /CMSSW : ./externals/build/CMSSW ;
# BOOST
local boost_current = [ os.environ BOOST_CURRENT ] ;
use-project /boost : $(boost_current) ;
# ROOT
local rootsys = [ os.environ ROOTSYS ] ;
path-constant ROOT_PATH : $(rootsys) ;
use-project /ROOT : ./externals/build/root ;
path-constant ROOFIT_PATH : $(rootsys) ;
use-project /RooFit : ./externals/build/RooFit ;
# CMS2_CORE
#local cms2_core_tag = HEAD ;
local cms2_core_tag = [ os.environ CMS2CORE_TAG ] ;
path-constant CMS2_CORE : ./externals/source/cms2_core ;
use-project /CMS2_CORE : ./externals/build/cms2_core ;
# CMS2_TOOLS and MiniFWLite
local cms2_tools_tag = [ os.environ CMS2TOOLS_TAG ] ;
path-constant CMS2_TOOLS : ./externals/source/cms2_tools/Tools ;
path-constant MINIFWLITE_PATH : $(CMS2_TOOLS)/MiniFWLite ;
use-project /MiniFWLite : ./externals/build/MiniFWLite ;
# CMS2_FRB
#local cms2_frb_tag = HEAD ;
local cms2_frb_tag = [ os.environ CMS2FRB_TAG ] ;
path-constant CMS2_FRB : ./externals/source/cms2_frb/fakeRate ;
use-project /CMS2_FRB : ./externals/build/cms2_frb ;
# reusable packages
# ----------------------------------------------------------------------#
# SimpleTable
path-constant SIMPLETABLE_PATH : ./packages/SimpleTable ;
use-project /SimpleTable : ./packages/SimpleTable ;
# ROOT tools
path-constant ROOTTOOLS : ./packages/RootTools ;
use-project /RootTools : ./packages/RootTools ;
# Frank's tools
path-constant FGTOOLS : ./packages/FGTools ;
use-project /FGTools : ./packages/FGTools ;
# Analysis tools
path-constant ANALYSISTOOLS : ./packages/AnalysisTools ;
use-project /AnalysisTools : ./packages/AnalysisTools ;
# FakeRate Baby tools
use-project /FakeRateBabyTools : ./packages/FakeRateBabyTools ;
# CMS2
#local cms2_header_tag = 05.03.23.prototype ;
local cms2_header_tag = 05.03.23 ;
path-constant CMS2 : ./packages/cms2/$(cms2_header_tag) ;
use-project /CMS2 : ./packages/cms2 ;