compile: root-pack stream-base dabc2-svn go4-svn stream-svn trb3login cmake: root-pack stream-cmake-base dabc2-cmake-svn go4-cmake-svn trb3login-cmake ifneq ($(root5),) ROOTFILE=root5.tar.gz ROOTFTP=http://web-docs.gsi.de/~linev/root/$(ROOTFILE) ROOTDIR=root else ifneq ($(oldroot6),) ROOTFILE=root_v6.18.04.source.tar.gz ROOTDIR=root-6.18.04 ROOTCMAKEFLAGS=-DCMAKE_CXX_STANDARD=11 -Dxrootd=OFF -Dbuiltin_tbb=ON -Dbuiltin_afterimage=OFF -Ddavix=OFF -Dasimage=OFF -Dbuiltin_vdt=OFF -Dvdt=OFF else ROOTFILE=root_v6.32.04.source.tar.gz ROOTDIR=root-6.32.04 ROOTCMAKEFLAGS=-DCMAKE_CXX_STANDARD=17 -Droot7=ON -Dwebgui=ON -Dxrootd=OFF endif ROOTFTP=https://root.cern/download/$(ROOTFILE) endif root-pack: ifdef ROOTSYS @echo "Use ROOT $(shell $(ROOTSYS)/bin/root-config --version) from ROOTSYS=$(ROOTSYS)" else if [ ! -f $(ROOTFILE) ]; then echo "Downloading ROOT"; wget $(ROOTFTP); fi @echo "Unpack ROOT" if [ ! -d $(ROOTDIR) ]; then tar xzf $(ROOTFILE); fi @echo "Start ROOT compilation" mkdir -p rootbuild cd rootbuild; cmake ../$(ROOTDIR) -Dhttp=ON -Dmysql=OFF $(ROOTCMAKEFLAGS) >>cmakelog.txt 2>&1; $(MAKE) >>makelog.txt 2>&1 @echo "ROOT compilation done" endif dabc2-svn: stream-base root-pack @echo "Compile DABC" ifdef ROOTSYS cd dabc; export STREAMSYS=$(PWD)/stream; export LD_LIBRARY_PATH=$(PWD)/stream/lib:$(LD_LIBRARY_PATH); $(MAKE) noverbs=1 nodim=1 with-stream=1 >>makelog.txt 2>&1 else cd dabc; export STREAMSYS=$(PWD)/stream; export ROOTSYS=$(PWD)/rootbuild; export PATH=$(PWD)/rootbuild/bin:$(PATH); export LD_LIBRARY_PATH=$(PWD)/rootbuild/lib:$(PWD)/stream/lib:$(LD_LIBRARY_PATH); $(MAKE) noverbs=1 nodim=1 with-stream=1 >>makelog.txt 2>&1 endif @echo "DABC compilation done" dabc2-cmake-svn: stream-cmake-base root-pack @echo "Compile DABC" ifdef ROOTSYS source $(PWD)/stream-bld/streamlogin; mkdir -p dabc-bld; cd dabc-bld; cmake ../dabc >>cmakelog.txt 2>&1; $(MAKE) >>makelog.txt 2>&1 else source $(PWD)/rootbuild/bin/thisroot.sh; source $(PWD)/stream-bld/streamlogin; mkdir -p dabc-bld; cd dabc-bld; cmake ../dabc >>cmakelog.txt 2>&1; $(MAKE) >>makelog.txt 2>&1 endif @echo "DABC compilation done" go4-svn: root-pack dabc2-svn @echo "Compile Go4 head version" ifdef ROOTSYS cd go4; export DABCSYS=$(PWD)/dabc; $(MAKE) withqt=5 >>makelog.txt 2>&1 else cd go4; export ROOTSYS=$(PWD)/rootbuild; export PATH=$(PWD)/rootbuild/bin:$(PATH); export LD_LIBRARY_PATH=$(PWD)/rootbuild/lib:$(LD_LIBRARY_PATH); export DABCSYS=$(PWD)/dabc; $(MAKE) withqt=5 >>makelog.txt 2>&1 endif @echo "Go4 compilation done" go4-cmake-svn: root-pack dabc2-cmake-svn @echo "Compile Go4 head version" ifdef ROOTSYS source $(PWD)/dabc-bld/dabclogin; mkdir -p go4-bld; cd go4-bld; cmake ../go4 >>cmakelog.txt 2>&1; $(MAKE) >>makelog.txt 2>&1 else source $(PWD)/rootbuild/bin/thisroot.sh; source $(PWD)/dabc-bld/dabclogin; mkdir -p go4-bld; cd go4-bld; cmake ../go4 >>cmakelog.txt 2>&1; $(MAKE) >>makelog.txt 2>&1 endif @echo "Go4 compilation done" stream-base: root-pack @echo "compile stream project" ifdef ROOTSYS cd stream; $(MAKE) baselib >>makelog.txt 2>&1 else cd stream; export ROOTSYS=$(PWD)/rootbuild; export PATH=$(PWD)/rootbuild/bin:$(PATH); export LD_LIBRARY_PATH=$(PWD)/rootbuild/lib:$(LD_LIBRARY_PATH); $(MAKE) baselib >>makelog.txt 2>&1 endif @echo "stream compilation done" stream-cmake-base: root-pack @echo "compile stream base lib" ifdef ROOTSYS mkdir -p stream-bld; cd stream-bld; cmake ../stream >>cmakelog.txt 2>&1; $(MAKE) Stream move_headers >>makelog.txt 2>&1 else source $(PWD)/rootbuild/bin/thisroot.sh; mkdir -p stream-bld; cd stream-bld; cmake ../stream >>cmakelog.txt 2>&1; $(MAKE) Stream move_headers >>makelog.txt 2>&1 endif @echo "stream base lib compilation done" stream-svn: stream-base go4-svn @echo "compile stream go4engine" . go4/go4login; cd stream; $(MAKE) >>makelog.txt 2>&1 @echo "stream go4engine compilation done" stream-cmake-svn: stream-cmake-base go4-cmake-svn @echo "compile stream go4engine" source $(PWD)/go4-bld/go4login; cd stream-bld; cmake ../stream >>cmakelog.txt 2>&1; $(MAKE) >>makelog.txt 2>&1 @echo "stream go4engine compilation done" trb3login: dabc2-svn go4-svn stream-svn @rm -f $@ @echo '########## Automatically generated login file ########' >> $@ @echo '' >> $@ @echo 'echo "Configure shell variables for running TRB3 software"' >> $@ @echo '' >> $@ @echo 'if [[ -z $$DABCSYS ]]; then . $(CURDIR)/dabc/dabclogin; fi' >> $@ @echo 'if [[ -z $$GO4SYS ]]; then . $(CURDIR)/go4/go4login; fi' >> $@ @echo 'if [[ -z $$STREAMSYS ]]; then . $(CURDIR)/stream/streamlogin; fi' >> $@ @echo "trb3login generated" trb3login-cmake: dabc2-cmake-svn go4-cmake-svn stream-cmake-svn @rm -f trb3login @echo '########## Automatically generated login file ########' >> trb3login @echo '' >> trb3login @echo 'echo "Configure shell variables for running TRB3 sofwtare"' >> trb3login @echo '' >> trb3login @echo 'if [[ -z $$DABCSYS ]]; then . $(CURDIR)/dabc-bld/dabclogin; fi' >> trb3login @echo 'if [[ -z $$GO4SYS ]]; then . $(CURDIR)/go4-bld/go4login; fi' >> trb3login @echo 'if [[ -z $$STREAMSYS ]]; then . $(CURDIR)/stream-bld/streamlogin; fi' >> trb3login @echo "trb3login generated" update: ifdef DABCSYS cd dabc; $(MAKE) clean cd go4; $(MAKE) clean cd stream; $(MAKE) clean svn up cd stream; $(MAKE) baselib >>makelog.txt 2>&1 cd dabc; $(MAKE) noverbs=1 nodim=1 with-stream=1 >>makelog.txt 2>&1 cd go4; $(MAKE) withqt=5 >>makelog.txt 2>&1 cd stream; $(MAKE) >>makelog.txt 2>&1 @echo "Did update of all components" else @echo "Can not update repository - call trb3login first" endif clean: cd stream; make clean cd go4; make clean cd dabc; make clean rm -rf go4-bld stream-bld dabc-bld rm -rf rootbuild root* $(ROOTFILE) $(ROOTDIR) rm -f go4/makelog.txt dabc/makelog.txt stream/makelog.txt trb3login