# # This is the main gSeaGen project Makefile. # Each package has its own Makefile which is invoked by this one. # C. Disteano 5-Jul 2012 SHELL = /bin/sh NAME = all MAKEFILE = Makefile #GIT VERSIONING GIT_VERSION := $(shell git --no-pager describe --tags --always) BUILD_DATE := $(shell date "+%y%m%d") # If working tree is dirty, append dirty flag ifneq ($(strip $(shell git status --porcelain 2>/dev/null)),) GIT_VESION := $(GIT_VERSION)-D endif BUILD_TARGETS = VERSION \ SeaNuDrivers \ SeaEvent \ PropaMuon \ OutputWriters \ SeaNuCodes \ tools all: $(BUILD_TARGETS) VERSION: FORCE @echo "This is gSeaGen $(GIT_VERSION)" @echo $(GIT_VERSION) > VERSION SeaNuDrivers: FORCE @echo " " @echo "** Building libraries..." test -d lib || mkdir lib cd ${GSEAGEN}/src;\ cd SeaNuDrivers; make; cd ..; \ cd ${GSEAGEN} SeaEvent: FORCE @echo " " @echo "** Building libraries..." test -d lib || mkdir lib cd ${GSEAGEN}/src;\ cd SeaEvent; make; cd ..; \ cd ${GSEAGEN} PropaMuon: FORCE @echo " " @echo "** Building libraries..." test -d lib || mkdir lib cd ${GSEAGEN}/src;\ cd PropaMuon; make; \ mv libPropaMuon* ${GSEAGEN}/lib; \ [ ! -f _ROOT_DICT_PropaMuon_rdict.pcm ] || cp _ROOT_DICT_PropaMuon_rdict.pcm ${GSEAGEN}/lib; \ cd ..; \ cd ${GSEAGEN} OutputWriters: FORCE @echo " " @echo "** Building libraries..." test -d lib || mkdir lib cd ${GSEAGEN}/src;\ cd OutputWriters; make; cd ..; \ cd ${GSEAGEN} SeaNuCodes: FORCE @echo " " @echo "** Building codes..." test -d bin || mkdir bin cd ${GSEAGEN}/src;\ cd SeaNuCodes; make; cd ..; \ cd ${GSEAGEN} tools: FORCE @echo " " @echo "** Building tools..." test -d bin || mkdir bin cd ${GSEAGEN}/src;\ cd tools; \ cp scripts/gcint/gseagen-config ${GSEAGEN}/bin/; \ cp scripts/gcint/gSeaROOT.sh ${GSEAGEN}/bin/gSeaROOT; \ cd gCalcAstro; \ make; cd ..; \ cd gCalcCross; \ make; cd ..; \ cd gGeometry; \ make; cd ..; \ cd ..; cd ${GSEAGEN} clean: FORCE @echo " " @echo "** Cleaning all.. " cd ${GSEAGEN}/src;\ cd SeaNuCodes; make clean; cd ..; \ cd SeaEvent; make clean; cd ..; \ cd SeaNuDrivers; make clean; cd ..; \ cd PropaMuon; make clean; cd ..; \ cd OutputWriters; make clean; cd ..; \ cd tools/gCalcCross; make clean; cd ../..; \ cd tools/gCalcAstro; make clean; cd ../..; \ cd tools/gGeometry; make clean; cd ../..; \ rm -f ${GSEAGEN}/lib/*; rm -f ${GSEAGEN}/bin/*; cd ${GSEAGEN} rm -f VERSION FORCE: