Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion Makefile_all
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ HALLD_AMP = ${ROOT_OF_ALL}/halld_amp

ifdef NTHREADS
ROOT6_BUILD_OPTIONS += -j$(NTHREADS)
JANA_MAKE_OPTIONS += -j$(NTHREADS)
GEANT4_MAKE_OPTIONS += -j$(NTHREADS)
SIM_RECON_SCONS_OPTIONS += -j$(NTHREADS)
HALLD_RECON_SCONS_OPTIONS += -j$(NTHREADS)
Expand Down Expand Up @@ -96,7 +97,7 @@ jana_dir:
test -d ${JANA} || mkdir -pv ${JANA}

jana_make:
$(MAKE) -C${JANA} -f${BUILD_SCRIPTS}/Makefile_jana
$(MAKE) -C${JANA} -f${BUILD_SCRIPTS}/Makefile_jana JANA_MAKE_OPTIONS="$(JANA_MAKE_OPTIONS)"

hdds_build: hdds_dir hdds_make

Expand Down
102 changes: 15 additions & 87 deletions Makefile_jana
Original file line number Diff line number Diff line change
@@ -1,93 +1,21 @@
SHELL = /bin/bash
PWD = $(shell pwd)
SHELL=/bin/bash

include $(BUILD_SCRIPTS)/ccdb_version.mk

ifdef JANA_VERSION
SOURCE_CODE_TARGET = $(JANA_HOME)/.patches_done
ifdef JANA_DIRTAG
JANA_DIR = jana_$(JANA_VERSION)^$(JANA_DIRTAG)
else
JANA_DIR = jana_$(JANA_VERSION)
endif
TARFILE = $(JANA_VERSION).tar.gz
VERSION_MAJOR = $(shell echo $(JANA_VERSION) | awk -F. '{print $$1}')
VERSION_MINOR = $(shell echo $(JANA_VERSION) | awk -F. '{print $$2}')
VERSION_GE_08 = $(shell if [[ $(VERSION_MAJOR) -eq 0 && $(VERSION_MINOR) -ge 8 ]]; then echo true; else echo false; fi)
else
SOURCE_CODE_TARGET = $(JANA_HOME)/.checkout_done
ifndef JANA_URL
JANA_URL=https://phys12svn.jlab.org/repos/JANA
endif
ifdef JANA_DIRTAG
JANA_DIR = $(notdir $(JANA_URL))^$(JANA_DIRTAG)
else
JANA_DIR = $(notdir $(JANA_URL))
endif
endif
SCONS = $(shell $(BUILD_SCRIPTS)/python_chooser.sh scons)
PYVERSION = $(shell $(BUILD_SCRIPTS)/python_chooser.sh version)
ifeq ($(VERSION_GE_08), true)
SBMS_CONFIG_PATCH = sbms_config.py.082.patch
else
SBMS_CONFIG_PATCH = sbms_config.py.patch
endif
ifeq ($(HALLD_RECON_PROFILING), true)
override JANA_SCONS_OPTIONS += PROFILE=1
endif
UNTAR_TEMP_DIR := untar_temp_dir_$(shell echo $$RANDOM)

export JANA_HOME = $(PWD)/$(JANA_DIR)
include $(BUILD_SCRIPTS)/jana_version.mk

all: $(JANA_HOME)/$(BMS_OSNAME)/jana_prereqs_version.xml

$(JANA_HOME)/$(BMS_OSNAME)/jana_prereqs_version.xml: $(JANA_HOME)/.sconstruct_done
cd $(JANA_HOME)/$(BMS_OSNAME) ; $(BUILD_SCRIPTS)/version_prereqs.pl jana

$(JANA_HOME)/.sconstruct_done: $(SOURCE_CODE_TARGET)
@echo Makefile_jana info: SCONS = $(SCONS)
cd $(JANA_HOME); $(SCONS) $(JANA_SCONS_OPTIONS)
date > $@
include $(BUILD_SCRIPTS)/ccdb_version.mk

$(JANA_HOME)/.checkout_done:
rm -rf checkout_temp_dir
mkdir checkout_temp_dir
cd checkout_temp_dir ; svn co $(JANA_URL)
mv -v checkout_temp_dir/* $(JANA_DIR)
rmdir -v checkout_temp_dir
date > $@
TARFILE=root_v$(JANA_VERSION).tar.gz
PWD := $(shell pwd)

$(JANA_HOME)/.patches_done: $(JANA_HOME)/.untar_done
ifeq ($(PYVERSION), 3)
patch $(JANA_HOME)/SBMS/sbms.py \
< $(BUILD_SCRIPTS)/patches/jana/sbms.py.patch
patch $(JANA_HOME)/SBMS/sbms_config.py \
< $(BUILD_SCRIPTS)/patches/jana/$(SBMS_CONFIG_PATCH)
patch $(JANA_HOME)/SConstruct \
< $(BUILD_SCRIPTS)/patches/jana/SConstruct.patch
endif
ifeq ($(CCDB_MAJOR_VERSION), 2)
patch $(JANA_HOME)/SBMS/sbms.py \
< $(BUILD_SCRIPTS)/patches/jana/sbms.py.patch2
ifeq ($(JANA_MAJOR_VERSION), 2)
include $(BUILD_SCRIPTS)/Makefile_jana_2_inc
else
include $(BUILD_SCRIPTS)/Makefile_jana_1_inc
endif
date > $@

$(JANA_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)/* $(JANA_DIR)
rmdir -v $(UNTAR_TEMP_DIR)
date > $@

$(TARFILE):
@echo making $@
wget --no-verbose https://github.com/JeffersonLab/JANA/archive/refs/tags/$(TARFILE)

show_env:
@echo PYTHON_MAJOR_VERSION = $(PYTHON_MAJOR_VERSION)
@echo PYTHON_GE_3 = $(PYTHON_GE_3)
@echo VERSION_MAJOR = $(VERSION_MAJOR)
@echo VERSION_MINOR = $(VERSION_MINOR)
@echo VERSION_GE_08 = $(VERSION_GE_08)
@echo SBMS_CONFIG_PATCH = $(SBMS_CONFIG_PATCH)
test:
@echo which_cmake3 = $(which_cmake3)
@echo find_cmake3 = $(find_cmake3)
@echo CMAKE = $(CMAKE)
@echo JANA_MAJOR_VERSION = $(JANA_MAJOR_VERSION)
@echo JANA_MINOR_VERSION = $(JANA_MINOR_VERSION)
88 changes: 88 additions & 0 deletions Makefile_jana_1_inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
ifdef JANA_VERSION
SOURCE_CODE_TARGET = $(JANA_HOME)/.patches_done
ifdef JANA_DIRTAG
JANA_DIR = jana_$(JANA_VERSION)^$(JANA_DIRTAG)
else
JANA_DIR = jana_$(JANA_VERSION)
endif
TARFILE = $(JANA_VERSION).tar.gz
VERSION_MAJOR = $(shell echo $(JANA_VERSION) | awk -F. '{print $$1}')
VERSION_MINOR = $(shell echo $(JANA_VERSION) | awk -F. '{print $$2}')
VERSION_GE_08 = $(shell if [[ $(VERSION_MAJOR) -eq 0 && $(VERSION_MINOR) -ge 8 ]]; then echo true; else echo false; fi)
else
SOURCE_CODE_TARGET = $(JANA_HOME)/.checkout_done
ifndef JANA_URL
JANA_URL=https://phys12svn.jlab.org/repos/JANA
endif
ifdef JANA_DIRTAG
JANA_DIR = $(notdir $(JANA_URL))^$(JANA_DIRTAG)
else
JANA_DIR = $(notdir $(JANA_URL))
endif
endif
SCONS = $(shell $(BUILD_SCRIPTS)/python_chooser.sh scons)
PYVERSION = $(shell $(BUILD_SCRIPTS)/python_chooser.sh version)
ifeq ($(VERSION_GE_08), true)
SBMS_CONFIG_PATCH = sbms_config.py.082.patch
else
SBMS_CONFIG_PATCH = sbms_config.py.patch
endif
ifeq ($(HALLD_RECON_PROFILING), true)
override JANA_SCONS_OPTIONS += PROFILE=1
endif
UNTAR_TEMP_DIR := untar_temp_dir_$(shell echo $$RANDOM)

export JANA_HOME = $(PWD)/$(JANA_DIR)

all: $(JANA_HOME)/$(BMS_OSNAME)/jana_prereqs_version.xml

$(JANA_HOME)/$(BMS_OSNAME)/jana_prereqs_version.xml: $(JANA_HOME)/.sconstruct_done
cd $(JANA_HOME)/$(BMS_OSNAME) ; $(BUILD_SCRIPTS)/version_prereqs.pl jana

$(JANA_HOME)/.sconstruct_done: $(SOURCE_CODE_TARGET)
@echo Makefile_jana info: SCONS = $(SCONS)
cd $(JANA_HOME); $(SCONS) $(JANA_SCONS_OPTIONS)
date > $@

$(JANA_HOME)/.checkout_done:
rm -rf checkout_temp_dir
mkdir checkout_temp_dir
cd checkout_temp_dir ; svn co $(JANA_URL)
mv -v checkout_temp_dir/* $(JANA_DIR)
rmdir -v checkout_temp_dir
date > $@

$(JANA_HOME)/.patches_done: $(JANA_HOME)/.untar_done
ifeq ($(PYVERSION), 3)
patch $(JANA_HOME)/SBMS/sbms.py \
< $(BUILD_SCRIPTS)/patches/jana/sbms.py.patch
patch $(JANA_HOME)/SBMS/sbms_config.py \
< $(BUILD_SCRIPTS)/patches/jana/$(SBMS_CONFIG_PATCH)
patch $(JANA_HOME)/SConstruct \
< $(BUILD_SCRIPTS)/patches/jana/SConstruct.patch
endif
ifeq ($(CCDB_MAJOR_VERSION), 2)
patch $(JANA_HOME)/SBMS/sbms.py \
< $(BUILD_SCRIPTS)/patches/jana/sbms.py.patch2
endif
date > $@

$(JANA_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)/* $(JANA_DIR)
rmdir -v $(UNTAR_TEMP_DIR)
date > $@

$(TARFILE):
@echo making $@
wget --no-verbose https://github.com/JeffersonLab/JANA/archive/refs/tags/$(TARFILE)

show_env:
@echo PYTHON_MAJOR_VERSION = $(PYTHON_MAJOR_VERSION)
@echo PYTHON_GE_3 = $(PYTHON_GE_3)
@echo VERSION_MAJOR = $(VERSION_MAJOR)
@echo VERSION_MINOR = $(VERSION_MINOR)
@echo VERSION_GE_08 = $(VERSION_GE_08)
@echo SBMS_CONFIG_PATCH = $(SBMS_CONFIG_PATCH)
83 changes: 83 additions & 0 deletions Makefile_jana_2_inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
ifdef JANA_VERSION
SOURCE_CODE_TARGET = $(JANA_HOME)/.untar_done
ifdef JANA_DIRTAG
JANA_DIR = jana_$(JANA_VERSION)^$(JANA_DIRTAG)
else
JANA_DIR = jana_$(JANA_VERSION)
endif
TARFILE = v$(JANA_VERSION).tar.gz
VERSION_MAJOR = $(shell echo $(JANA_VERSION) | awk -F. '{print $$1}')
VERSION_MINOR = $(shell echo $(JANA_VERSION) | awk -F. '{print $$2}')
else
SOURCE_CODE_TARGET = $(JANA_HOME)/.checkout_done
ifndef JANA_URL
JANA_URL=https://github.com/JeffersonLab/JANA2.git
endif
ifndef JANA_BRANCH
JANA_BRANCH = master
endif
ifdef JANA_DIRTAG
JANA_DIR = jana^$(JANA_DIRTAG)
else
JANA_DIR = jana
endif
endif
SCONS = $(shell $(BUILD_SCRIPTS)/python_chooser.sh scons)
PYVERSION = $(shell $(BUILD_SCRIPTS)/python_chooser.sh version)
UNTAR_TEMP_DIR := untar_temp_dir_$(shell echo $$RANDOM)

export JANA_HOME = $(PWD)/$(JANA_DIR)

BUILD_DIR = $(JANA_DIR)/build

which_cmake3 := $(shell which cmake3)
find_cmake3 := $(findstring cmake3, $(which_cmake3))
ifeq (,$(find_cmake3))
CMAKE = cmake
else
CMAKE = cmake3
endif


all: $(JANA_HOME)/$(BMS_OSNAME)/jana_prereqs_version.xml

$(JANA_HOME)/$(BMS_OSNAME)/jana_prereqs_version.xml: $(JANA_HOME)/.install_done
cd $(JANA_HOME)/$(BMS_OSNAME) ; $(BUILD_SCRIPTS)/version_prereqs.pl jana

$(JANA_HOME)/.install_done: $(JANA_HOME)/.cmake_done
cd $(JANA_HOME)/$(BMS_OSNAME) ; make $(JANA_MAKE_OPTIONS) install
date > $@

$(JANA_HOME)/.cmake_done: $(SOURCE_CODE_TARGET)
@echo Makefile_jana info: cmake3 = $(SCONS)
mkdir -p $(JANA_HOME)/$(BMS_OSNAME)
cd $(JANA_HOME)/$(BMS_OSNAME) ; $(CMAKE) $(JANA_HOME) -DUSE_XERCES=1 -DCMAKE_INSTALL_PREFIX=$(JANA_HOME)/$(BMS_OSNAME)
date > $@

$(JANA_HOME)/.checkout_done:
rm -rf checkout_temp_dir
mkdir checkout_temp_dir
cd checkout_temp_dir ; git clone -b $(JANA_BRANCH) $(JANA_URL)
mv -v checkout_temp_dir/* $(JANA_DIR)
rmdir -v checkout_temp_dir
date > $@

$(JANA_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)/* $(JANA_DIR)
rmdir -v $(UNTAR_TEMP_DIR)
date > $@

$(TARFILE):
@echo making $@
wget --no-verbose https://github.com/JeffersonLab/JANA2/archive/refs/tags/$(TARFILE)

show_env:
@echo PYTHON_MAJOR_VERSION = $(PYTHON_MAJOR_VERSION)
@echo PYTHON_GE_3 = $(PYTHON_GE_3)
@echo VERSION_MAJOR = $(VERSION_MAJOR)
@echo VERSION_MINOR = $(VERSION_MINOR)
@echo VERSION_GE_08 = $(VERSION_GE_08)
@echo SBMS_CONFIG_PATCH = $(SBMS_CONFIG_PATCH)
7 changes: 7 additions & 0 deletions jana_version.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
ifdef JANA_VERSION
JANA_MAJOR_VERSION := $(shell echo $(JANA_VERSION) | awk -F. '{print $$1}')
JANA_MINOR_VERSION := $(shell echo $(JANA_VERSION) | awk -F. '{print $$2}' | bc)
JANA_SUBMINOR_VERSION := $(shell echo $(JANA_VERSION) | awk -F. '{print $$3}' | bc)
else
JANA_MAJOR_VERSION := 2
endif
8 changes: 6 additions & 2 deletions version_check.pl
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,11 @@
$version_hash{$package} = $ENV{CERN_LEVEL}
} else {
$svn_hidden_dir = $home_value . "/.svn";
$git_hidden_dir = $home_value . "/.git";
if ($package eq 'jana') {
$git_hidden_dir = $home_value . "/../.git";
} else {
$git_hidden_dir = $home_value . "/.git";
}
@token2 = split(/\//, $home_value); # split on slash
$dirname_home = $token2[$#token2]; # last token is directory name
if (-d $svn_hidden_dir) {
Expand All @@ -49,7 +53,7 @@
#print "for $home_variable = $home_value, url_raw = $url_raw\n";
@t = split(/\s+/, $url_raw);
$url = $t[1];
$branch_raw = `cd $home_value ; git status | grep \" On branch \"`;
$branch_raw = `cd $home_value ; git status | grep \"On branch \"`;
chomp $branch_raw;
#print "for $home_variable = $home_value, branch_raw = $branch_raw\n";
@t = split(/\s+/, $branch_raw);
Expand Down
19 changes: 14 additions & 5 deletions version_prereqs.pl
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
if (! $package_in) {die "must name a package";}

my $output = IO::File->new(">${package_in}_prereqs_version.xml");
my $writer = XML::Writer->new(OUTPUT => $output, NEWLINES => 1);
my $writer = XML::Writer->new(OUTPUT => $output, DATA_MODE => 1,);
$writer->startTag("gversion", "version" => "1.0");

$this_file_with_full_path = abs_path(__FILE__);
Expand Down Expand Up @@ -75,9 +75,18 @@
$home_var = $home_variable{$prepackage};
$home_var_value = $ENV{$home_var};
$svn_hidden_dir = $home_var_value . "/.svn";
$git_hidden_dir = $home_var_value . "/.git";
if ($prepackage eq 'jana') {
$git_hidden_dir = $home_var_value . "/../.git";
} else {
$git_hidden_dir = $home_var_value . "/.git";
}
@token2 = split(/\//, $home_var_value); # split on slash
$dirname_home = $token2[$#token2]; # last token is directory name
if ($prepackage ne "jana") {
$dirname_home = $token2[$#token2]; # last token is directory name
}
else {
$dirname_home = $token2[$#token2 - 1]; # second to last token is directory name
}
if (-d $svn_hidden_dir) {
$url_raw = `svn info $home_var_value | grep URL: | grep https`;
chomp $url_raw;
Expand All @@ -92,11 +101,11 @@
#print "for $home_var = $home_var_value, url_raw = $url_raw\n";
@t = split(/\s+/, $url_raw);
$url = $t[1];
$branch_raw = `cd $home_var_value ; git status | grep \" On branch \"`;
$branch_raw = `cd $home_var_value ; git status | grep \"On branch \"`;
chomp $branch_raw;
#print "for $home_var = $home_var_value, branch_raw = $branch_raw\n";
@t = split(/\s+/, $branch_raw);
$branch = $t[3];
$branch = $t[2];
@token3 = split(/\^/, $dirname_home); # split on caret
if ($#token3 > 0) {$dirtag = $token3[$#token3];}
} else {
Expand Down