-
Ulrich Schwickerath authoredUlrich Schwickerath authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Makefile 5.71 KiB
.PHONY: all idea doc ddb dstana simana simanap evsrv des getcodefromgitlab clean swcd export
SHELL=/bin/bash
.SHELLFLAG=-x
#
# defaults for DELPHI environment
#
# for 32bit set the environment variable LEGACY to "-m32"
#
CERNVER = 2024.09.16.0-free
PRO = 161018
OLD = 100710
NEW = 'prerelease'
FFLAGS = "-g $(LEGACY)"
CFLAGS = "-g $(LEGACY)"
LDFLAGS = "-g $(LEGACY)"
ADDCOMP = "-g $(LEGACY)"
PLINAM = `uname -s`
DATETAG = `date +%Y%m%d`
DELPHI_SWCD = /tmp/swcd
FALSE = `which false`
TRUE = `which true`
clean:
echo "DELPHI_INSTALL_DIR will not be cleaned. Do this manually"
rm -f delphi.sh delphi.csh
rm -rf /tmp/swcd build
# build the full stack
all: clean setup cernlib dstana ddb des examples docs simana openphigs delgra idea export
swcd:
./GetCodeFromGitlab.sh $(DELPHI_SWCD)
profiles:
ifeq ("x${DELPHI_INSTALL_DIR}", "x")
export DELPHI_INSTALL_DIR=/tmp/delphi
endif
# create profiles to setup environment
cat env/delphi.csh.template | sed -e 's/__PRO__/${PRO}/'| sed -e 's/__ADDCOMP__/${ADDCOMP}/'| sed -e 's/__PLINAM__/${PLINAM}/'| sed -e 's/__LEGACY__/${LEGACY}/g' > delphi.csh
cat env/delphi.sh.template | sed -e 's/__PRO__/${PRO}/'| sed -e 's/__ADDCOMP__/${ADDCOMP}/'| sed -e 's/__PLINAM__/${PLINAM}/'| sed -e 's/__LEGACY__/${LEGACY}/g' > delphi.sh
echo "Done creating the login scripts"
global: profiles
./make_globalsetup
setup: profiles global
. delphi.sh; ./make_groupsetup
logs:
mkdir logs 2>/dev/null || ${TRUE}
cernlib_im: profiles setup logs
echo "starting cernlib with imake"
. delphi.sh; ./make_cernlib $(CERNVER) 0 $(LEGACY) > logs/make_cernlib-imake.log 2>&1 || ( cat logs/make_cernlib-cmake.log; ${FALSE} )
cernlib_cm: profiles setup logs
echo "starting cernlib with cmake"
. delphi.sh; ./make_cernlib $(CERNVER) 1 $(LEGACY) > logs/make_cernlib-cmake.log 2>&1 || ( cat logs/make_cernlib-cmake.log; ${FALSE} )
cernlib: profiles setup logs
echo "starting cernlib, imake build may fail"
make cernlib_im
make cernlib_cm
dstana_pre: profiles setup logs
. delphi.sh; ./make_dstana $(NEW) $(DELPHI_SWCD) > logs/make_dstana_$(NEW).log 2>&1 || ( cat logs/make_dstana_$(NEW).log; ${FALSE} )
dstana_pro: profiles setup logs
. delphi.sh; ./make_dstana $(PRO) $(DELPHI_SWCD) > logs/make_dstana_$(PRO).log 2>&1 || ( cat logs/make_dstana_$(PRO).log; ${FALSE} )
dstana_old: profiles setup logs
. delphi.sh; ./make_dstana $(OLD) $(DELPHI_SWCD) > logs/make_dstana_$(OLD).log 2>&1 || ( cat logs/make_dstana_$(OLD).log; ${FALSE} )
dstana: profiles setup logs
make dstana_pro
make dstana_pre
make dstana_old
ddb: profiles setup logs
. delphi.sh;./make_ddb > logs/make_ddb.log 2>&1 || ( cat logs/make_ddb.log; ${FALSE} )
openphigs: profiles setup logs
$(eval export OPENPHIGS=$(shell set -x;DELPHI_INSTALL_DIR=$(DELPHI_INSTALL_DIR) source ./delphi.sh ; echo ${OPENPHIGS}))
. delphi.sh; ./make_openphigs > logs/make_openphigs.log 2>&1 || ( cat logs/make_openphigs.log; ${FALSE} )
delgra: profiles setup logs
. delphi.sh; ./make_delgra > logs/make_delgra.log 2>&1 || ( cat logs/make_delgra.log; ${FALSE} )
des: profiles setup logs
. delphi.sh; ./make_des > logs/make_des.log 2>&1 || ( cat logs/make_des.log; ${FALSE} )
evsrv: des
idea: profiles setup logs
. delphi.sh; ./make_idea > logs/make_idea.log 2>&1 || ( cat logs/make_idea.log; ${FALSE} )
docs: profiles global logs
. delphi.sh; ./make_docs > logs/make_docs.log 2>&1 || ( cat logs/make_docs.log; ${FALSE} )
examples: profiles global logs
. delphi.sh; ./make_examples > logs/make_examples.log 2>&1 || ( cat logs/make_examples.log; ${FALSE} )
_simana: profiles setup logs
. delphi.sh; ./make_simana ${VERS} $(DELPHI_SWCD) 0 > logs/make_simana_${VERS}.log 2>&1 || ( cat logs/make_simana_${VERS}.log ; ${FALSE} )
_delana: profiles setup logs
. delphi.sh; ./make_simana ${VERS} $(DELPHI_SWCD) 1 > logs/make_simana_${VERS}_rd.log 2>&1 || ( cat logs/make_simana_${VERS}_rd.log ; ${FALSE} )
va0u:
make _simana VERS=va0u
make _delana VERS=va0u
va0e:
make _simana VERS=va0e
make _delana VERS=va0e
v99e:
make _simana VERS=v99e
make _delana VERS=v99e
v98e:
make _simana VERS=v98e
make _delana VERS=v98e
v97g:
make _simana VERS=v97g
make _delana VERS=v97g
v96g:
make _simana VERS=v96g
make _delana VERS=v96g
v95d:
make _simana VERS=v95d
make _delana VERS=v95d
v94c:
make _simana VERS=v94c
make _delana VERS=v94c
v93d:
make _simana VERS=v93d
make _delana VERS=v93d
v92e:
make _simana VERS=v92e
make _delana VERS=v92e
v91f:
make _simana VERS=v91f
make _delana VERS=v91f
v90e:
# make _simana VERS=v90e
make _delana VERS=v90e
simana:
make va0u > logs/make_simana_va0u.log 2>&1 || cat logs/make_simana_va0u.log
make va0e > logs/make_simana_va0e.log 2>&1 || cat logs/make_simana_va0e.log
make v99e > logs/make_simana_v99e.log 2>&1 || cat logs/make_simana_v99e.log
make v98e > logs/make_simana_v98e.log 2>&1 || cat logs/make_simana_v98e.log
make v97g > logs/make_simana_v97g.log 2>&1 || cat logs/make_simana_v97g.log
make v96g > logs/make_simana_v96g.log 2>&1 || cat logs/make_simana_v96g.log
make v95d > logs/make_simana_v95d.log 2>&1 || cat logs/make_simana_v95d.log
make v94c > logs/make_simana_v94c.log 2>&1 || cat logs/make_simana_v94c.log
make v93d > logs/make_simana_v93d.log 2>&1 || cat logs/make_simana_v93d.log
make v92e > logs/make_simana_v92e.log 2>&1 || cat logs/make_simana_v92e.log
make v91f > logs/make_simana_v91f.log 2>&1 || cat logs/make_simana_v91f.log
make v90e > logs/make_simana_v90e.log 2>&1 || cat logs/make_simana_v90e.log
export: profiles setup
. delphi.sh; $(eval export OS_TAG=$(shell set -x;DELPHI_INSTALL_DIR=$(DELPHI_INSTALL_DIR) source ./delphi.sh ; echo ${OS_TAG}))
cd $(DELPHI_INSTALL_DIR)/releases && find $(OS_TAG) -name \*.log -exec rm -f \{} \; ; tar -zcf $(OS_TAG).tgz $(OS_TAG)
test: profiles setup
. delphi.sh; sh ./make_test.sh