-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile_halld_sim
77 lines (68 loc) · 2.47 KB
/
Makefile_halld_sim
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
# Makefile_halld_sim
PWD = $(shell pwd)
ifdef HALLD_SIM_VERSION
SOURCE_CODE_TARGET = $(HALLD_SIM_HOME)/.untar_done
HALLD_SIM_DIR = halld_sim-$(HALLD_SIM_VERSION)
TARFILE = $(HALLD_SIM_VERSION).tar.gz
else
SOURCE_CODE_TARGET = $(HALLD_SIM_HOME)/.clone_done
ifndef HALLD_SIM_URL
HALLD_SIM_URL=https://github.com/jeffersonlab/halld_sim
endif
HALLD_SIM_DIR = $(notdir $(HALLD_SIM_URL))
ifndef HALLD_SIM_BRANCH
HALLD_SIM_BRANCH = master
endif
endif
ifdef HALLD_SIM_DIRTAG
HALLD_SIM_DIR := $(HALLD_SIM_DIR)^$(HALLD_SIM_DIRTAG)
endif
ifeq ($(HALLD_SIM_DEBUG_LEVEL), 0)
override HALLD_SIM_SCONS_OPTIONS += DEBUG=0 OPTIMIZATION=3
else ifeq ($(HALLD_SIM_DEBUG_LEVEL), 1)
HALLD_SIM_DIR := $(HALLD_SIM_DIR)+optdbg
else ifeq ($(HALLD_SIM_DEBUG_LEVEL), 2)
HALLD_SIM_DIR := $(HALLD_SIM_DIR)+dbg
override HALLD_SIM_SCONS_OPTIONS += DEBUG=1 OPTIMIZATION=0
endif
export HALLD_SIM_HOME = $(PWD)/$(HALLD_SIM_DIR)
SCONS = $(shell $(BUILD_SCRIPTS)/python_chooser.sh scons)
PYTHONCONFIG = $(shell $(BUILD_SCRIPTS)/python_chooser.sh config)
PYVERSION = $(shell $(BUILD_SCRIPTS)/python_chooser.sh version)
ifeq ($(HALLD_SIM_PROFILING), true)
override HALLD_SIM_SCONS_OPTIONS += PROFILE=1
endif
UNTAR_TEMP_DIR := untar_temp_dir_$(shell echo $$RANDOM)
all: $(HALLD_SIM_HOME)/halld_sim_prereqs_version.xml
$(TARFILE):
wget --no-verbose --no-check-certificate -O $@ https://github.com/JeffersonLab/halld_sim/archive/$(HALLD_SIM_VERSION).tar.gz
$(HALLD_SIM_HOME)/.untar_done: $(TARFILE)
rm -rf $(UNTAR_TEMP_DIR)
mkdir $(UNTAR_TEMP_DIR)
cd $(UNTAR_TEMP_DIR) ; tar zxf ../$(TARFILE)
mv -v $(UNTAR_TEMP_DIR)/* $(HALLD_SIM_DIR)
rmdir -v $(UNTAR_TEMP_DIR)
date > $@
$(HALLD_SIM_HOME)/.clone_done:
git clone -b $(HALLD_SIM_BRANCH) $(HALLD_SIM_URL) $(HALLD_SIM_DIR)
ifdef HALLD_SIM_HASH
cd $(HALLD_SIM_DIR) ; git checkout $(HALLD_SIM_HASH)
endif
date > $@
$(HALLD_SIM_HOME)/.patches_done: $(SOURCE_CODE_TARGET)
ifdef APPLY_GETARG_PATCH
cp -pv $(BUILD_SCRIPTS)/patches/getarg_fix/* \
$(HALLD_SIM_HOME)/src/programs/Simulation/HDGeant
endif
date > $@
$(HALLD_SIM_HOME)/.sconstruct_done: $(HALLD_SIM_HOME)/.patches_done
cd $(HALLD_SIM_HOME)/src ; $(SCONS) install PYTHONCONFIG=$(PYTHONCONFIG) $(HALLD_SIM_SCONS_OPTIONS)
date > $@
ifndef GVMS_TEST
$(HALLD_SIM_HOME)/halld_sim_prereqs_version.xml: $(HALLD_SIM_HOME)/.sconstruct_done
else
$(HALLD_SIM_HOME)/halld_sim_prereqs_version.xml: $(SOURCE_CODE_TARGET)
endif
cd $(HALLD_SIM_HOME) ; $(BUILD_SCRIPTS)/version_prereqs.pl halld_sim
env:
@echo HALLD_SIM_DIR = $(HALLD_SIM_DIR)