-
Notifications
You must be signed in to change notification settings - Fork 2
/
Makefile_halld_recon
84 lines (74 loc) · 2.77 KB
/
Makefile_halld_recon
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
# Makefile_halld_recon
PWD = $(shell pwd)
ifdef HALLD_RECON_VERSION
SOURCE_CODE_TARGET = $(HALLD_RECON_HOME)/.untar_done
HALLD_RECON_DIR := halld_recon-$(HALLD_RECON_VERSION)
TARFILE = $(HALLD_RECON_VERSION).tar.gz
else
SOURCE_CODE_TARGET = $(HALLD_RECON_HOME)/.clone_done
ifndef HALLD_RECON_URL
HALLD_RECON_URL=https://github.com/jeffersonlab/halld_recon
endif
HALLD_RECON_DIR := $(notdir $(HALLD_RECON_URL))
ifndef HALLD_RECON_BRANCH
HALLD_RECON_BRANCH = master
endif
endif
ifdef HALLD_RECON_DIRTAG
HALLD_RECON_DIR := $(HALLD_RECON_DIR)^$(HALLD_RECON_DIRTAG)
endif
ifeq ($(HALLD_RECON_DEBUG_LEVEL), 0)
override HALLD_RECON_SCONS_OPTIONS += DEBUG=0 OPTIMIZATION=3
else ifeq ($(HALLD_RECON_DEBUG_LEVEL), 1)
HALLD_RECON_DIR := $(HALLD_RECON_DIR)+optdbg
else ifeq ($(HALLD_RECON_DEBUG_LEVEL), 2)
HALLD_RECON_DIR := $(HALLD_RECON_DIR)+dbg
override HALLD_RECON_SCONS_OPTIONS += DEBUG=1 OPTIMIZATION=0
endif
export HALLD_RECON_HOME = $(PWD)/$(HALLD_RECON_DIR)
PYTHON = $(shell $(BUILD_SCRIPTS)/python_chooser.sh command)
SCONS = $(shell $(BUILD_SCRIPTS)/python_chooser.sh scons)
PYVERSION = $(shell $(BUILD_SCRIPTS)/python_chooser.sh version)
ifeq ($(HALLD_RECON_PROFILING), true)
override HALLD_RECON_SCONS_OPTIONS += PROFILE=1
endif
UNTAR_TEMP_DIR := untar_temp_dir_$(shell echo $$RANDOM)
all: force_rebuild_action $(HALLD_RECON_HOME)/halld_recon_prereqs_version.xml
force_rebuild_action:
ifdef FORCE
@echo forcing rebuild
$(RM) $(HALLD_RECON_HOME)/.sconstruct_done
endif
$(TARFILE):
wget --no-verbose --no-check-certificate -O $@ https://github.com/JeffersonLab/halld_recon/archive/$(HALLD_RECON_VERSION).tar.gz
$(HALLD_RECON_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_RECON_DIR)
rmdir -v $(UNTAR_TEMP_DIR)
date > $@
$(HALLD_RECON_HOME)/.clone_done:
git clone -b $(HALLD_RECON_BRANCH) $(HALLD_RECON_URL) $(HALLD_RECON_DIR)
ifdef HALLD_RECON_HASH
cd $(HALLD_RECON_DIR) ; git checkout $(HALLD_RECON_HASH)
endif
date > $@
$(HALLD_RECON_HOME)/.patches_done: $(SOURCE_CODE_TARGET)
ifdef APPLY_GETARG_PATCH
cp -pv $(BUILD_SCRIPTS)/patches/getarg_fix/* \
$(HALLD_RECON_HOME)/src/programs/Simulation/HDGeant
endif
date > $@
$(HALLD_RECON_HOME)/.sconstruct_done: $(HALLD_RECON_HOME)/.patches_done
cd $(HALLD_RECON_HOME)/src ; $(SCONS) install PYTHONCOMMAND=$(PYTHON) $(HALLD_RECON_SCONS_OPTIONS)
date > $@
ifndef GVMS_TEST
$(HALLD_RECON_HOME)/halld_recon_prereqs_version.xml: $(HALLD_RECON_HOME)/.sconstruct_done
else
$(HALLD_RECON_HOME)/halld_recon_prereqs_version.xml: $(SOURCE_CODE_TARGET)
endif
cd $(HALLD_RECON_HOME) ; $(BUILD_SCRIPTS)/version_prereqs.pl halld_recon
env:
@echo HALLD_RECON_DIR = $(HALLD_RECON_DIR)
@echo HALLD_RECON_SCONS_OPTIONS = $(HALLD_RECON_SCONS_OPTIONS)