4 #Name of libraries to create
5 LIB_TAUOLA_CXX_INT_SO = libTauolaCxxInterface.so
6 LIB_TAUOLA_CXX_INT_A = libTauolaCxxInterface.a
7 LIB_TAUOLA_HEPMC3_INT_SO = libTauolaHepMC3.so
8 LIB_TAUOLA_HEPMC3_INT_A = libTauolaHepMC3.a
9 LIB_TAUOLA_HEPMC_INT_SO = libTauolaHepMC.so
10 LIB_TAUOLA_HEPMC_INT_A = libTauolaHepMC.a
11 LIB_TAUOLA_HEPEVT_INT_SO = libTauolaHEPEVT.so
12 LIB_TAUOLA_HEPEVT_INT_A = libTauolaHEPEVT.a
13 LIB_TAUOLA_FORTRAN_SO = libTauolaFortran.so
14 LIB_TAUOLA_FORTRAN_A = libTauolaFortran.a
16 TAUOLA_CXX_INT_OBJECTS = src/$(FORTRAN_TAUOLA_INTERFACE_DIR)/*.o \
17 src/$(C_TAUOLA_INTERFACE_DIR)/*.o \
18 src/$(UTILITIES_DIR)/*.o
20 TAUOLA_HEPMC3_INT_OBJECTS = src/$(EVENT_RECORD_INTERFACE_DIR)/TauolaHepMC3Particle.o src/$(EVENT_RECORD_INTERFACE_DIR)/TauolaHepMC3Event.o
21 TAUOLA_HEPMC_INT_OBJECTS = src/$(EVENT_RECORD_INTERFACE_DIR)/TauolaHepMCParticle.o src/$(EVENT_RECORD_INTERFACE_DIR)/TauolaHepMCEvent.o
22 TAUOLA_HEPEVT_INT_OBJECTS = src/$(EVENT_RECORD_INTERFACE_DIR)/TauolaHEPEVTParticle.o src/$(EVENT_RECORD_INTERFACE_DIR)/TauolaHEPEVTEvent.o
24 # If RChL currents exist - add additional objects to the library
25 ifneq "$(wildcard tauola-fortran/tauola-modified/new-currents/ )" ""
27 TAUOLA_RCHL_OBJECTS = tauola-fortran/tauola-modified/new-currents/RChL-currents/*/*.o \
28 tauola-fortran/tauola-modified/new-currents/other-currents/*.o
30 TAUOLA_FORTRAN_DIR = tauola-fortran/tauola-modified
33 TAUOLA_FORTRAN_DIR = tauola-fortran/tauola
36 TAUOLA_FORTRAN_OBJECTS = $(TAUOLA_FORTRAN_DIR)/*.o $(TAUOLA_RCHL_OBJECTS)
38 #directories containing source code
39 EVENT_RECORD_INTERFACE_DIR = eventRecordInterfaces
40 FORTRAN_TAUOLA_INTERFACE_DIR = tauolaFortranInterfaces
41 C_TAUOLA_INTERFACE_DIR = tauolaCInterfaces
42 UTILITIES_DIR = utilities
44 ##### Link objects to make library ######
45 all: tauola_fortran src tau_spinner
48 mkdir -p $(DESTDIR)/$(PREFIX)/include/Tauola
49 install -m 644 include/Tauola/* $(DESTDIR)/$(PREFIX)/include/Tauola/.
50 mkdir -p $(DESTDIR)/$(LIBDIR)
51 install lib/*so.$(LIB_VER) $(DESTDIR)/$(LIBDIR)/
52 install lib/*a $(DESTDIR)/$(LIBDIR)/
53 cp -P lib/*so $(DESTDIR)/$(LIBDIR)/
55 src: include_dir $(EVENT_RECORD_INTERFACE_DIR) $(FORTRAN_TAUOLA_INTERFACE_DIR) $(C_TAUOLA_INTERFACE_DIR) $(UTILITIES_DIR)
56 ar cr lib/$(LIB_TAUOLA_CXX_INT_A) $(TAUOLA_CXX_INT_OBJECTS)
57 $(LD) $(LDFLAGS) $(SOFLAGS) -o lib/$(LIB_TAUOLA_CXX_INT_SO).$(LIB_VER) -Wl,-soname,$(LIB_TAUOLA_CXX_INT_SO) $(TAUOLA_CXX_INT_OBJECTS)
58 ln -sf $(LIB_TAUOLA_CXX_INT_SO).$(LIB_VER) lib/$(LIB_TAUOLA_CXX_INT_SO)
60 ar cr lib/$(LIB_TAUOLA_FORTRAN_A) $(TAUOLA_FORTRAN_OBJECTS)
61 $(LD) $(LDFLAGS) $(SOFLAGS) -o lib/$(LIB_TAUOLA_FORTRAN_SO).$(LIB_VER) -Wl,-soname,$(LIB_TAUOLA_FORTRAN_SO) $(TAUOLA_FORTRAN_OBJECTS)
62 ln -sf $(LIB_TAUOLA_FORTRAN_SO).$(LIB_VER) lib/$(LIB_TAUOLA_FORTRAN_SO)
64 ar cr lib/$(LIB_TAUOLA_HEPEVT_INT_A) $(TAUOLA_HEPEVT_INT_OBJECTS)
65 $(LD) $(LDFLAGS) $(SOFLAGS) -o lib/$(LIB_TAUOLA_HEPEVT_INT_SO).$(LIB_VER) -Wl,-soname,$(LIB_TAUOLA_HEPEVT_INT_SO) $(TAUOLA_HEPEVT_INT_OBJECTS)
66 ln -sf $(LIB_TAUOLA_HEPEVT_INT_SO).$(LIB_VER) lib/$(LIB_TAUOLA_HEPEVT_INT_SO)
68 ifneq ($(HEPMC3LOCATION), )
69 ar cr lib/$(LIB_TAUOLA_HEPMC3_INT_A) $(TAUOLA_HEPMC3_INT_OBJECTS)
70 $(LD) $(LDFLAGS) $(SOFLAGS) -o lib/$(LIB_TAUOLA_HEPMC3_INT_SO).$(LIB_VER) -Wl,-soname,$(LIB_TAUOLA_HEPMC3_INT_SO) $(TAUOLA_HEPMC3_INT_OBJECTS)
71 ln -sf $(LIB_TAUOLA_HEPMC3_INT_SO).$(LIB_VER) lib/$(LIB_TAUOLA_HEPMC3_INT_SO)
73 ifneq ($(HEPMCLOCATION), )
74 ar cr lib/$(LIB_TAUOLA_HEPMC_INT_A) $(TAUOLA_HEPMC_INT_OBJECTS)
75 $(LD) $(LDFLAGS) $(SOFLAGS) -o lib/$(LIB_TAUOLA_HEPMC_INT_SO).$(LIB_VER) -Wl,-soname,$(LIB_TAUOLA_HEPMC_INT_SO) $(TAUOLA_HEPMC_INT_OBJECTS)
76 ln -sf $(LIB_TAUOLA_HEPMC_INT_SO).$(LIB_VER) lib/$(LIB_TAUOLA_HEPMC_INT_SO)
80 @echo "##################################################################"
81 @echo " Tauola C++ Interface library created and moved to lib/ directory "
82 @echo "##################################################################"
84 @echo "##################################################################"
85 @echo " To run examples, cd examples/ directory and there './configure' "
86 @echo " and 'make' again. Examples require Pythia8, ROOT and MC-Tester "
87 @echo " installed. For details see examples/README. "
88 @echo "##################################################################"
91 ####### Make object files ########
94 mkdir -p include/Tauola
96 $(FORTRAN_TAUOLA_INTERFACE_DIR):
97 make -C src/$(FORTRAN_TAUOLA_INTERFACE_DIR)
98 cp src/$(FORTRAN_TAUOLA_INTERFACE_DIR)/*.h include/Tauola
100 $(EVENT_RECORD_INTERFACE_DIR):
101 make -C src/$(EVENT_RECORD_INTERFACE_DIR)
102 cp src/$(EVENT_RECORD_INTERFACE_DIR)/*.h include/Tauola
104 $(C_TAUOLA_INTERFACE_DIR):
105 make -C src/$(C_TAUOLA_INTERFACE_DIR)
106 cp src/$(C_TAUOLA_INTERFACE_DIR)/*.h include/Tauola
109 make -C src/$(UTILITIES_DIR)
110 cp src/$(UTILITIES_DIR)/*.h include/Tauola
113 ifeq ($(MAKE_TAU_SPINNER),yes)
114 make libTauSpinner -C TauSpinner
115 make move -C TauSpinner
119 ifneq "$(wildcard tauola-fortran/tauola-F )" ""
120 make 10kD-all -C tauola-fortran/photos-F
121 make CLEO -C tauola-fortran/tauola-F
123 echo "\nUsing pre-constructed 'tauola-fortran/tauola'\n"
125 make -C $(TAUOLA_FORTRAN_DIR)
126 @echo "#################################################"
127 @echo " tauola-fortran compiled successfully. "
128 @echo "#################################################"
131 athena: clean_src #modify for athena environment
133 cp -rf tauola-fortran/tauola-F tauola-fortran/tauola-F-BCP
134 ./platform/to-Athena.sh
136 athena_revert: #revert from athena environment modification
139 rm -rf tauola-fortran/tauola-F
140 mv tauola-fortran/tauola-F-BCP tauola-fortran/tauola-F
141 rm -f platform/to-Athena.dependencies
145 make clean -C src/$(EVENT_RECORD_INTERFACE_DIR)
146 make clean -C src/$(FORTRAN_TAUOLA_INTERFACE_DIR)
147 make clean -C src/$(C_TAUOLA_INTERFACE_DIR)
148 make clean -C src/$(UTILITIES_DIR)
151 ifneq "$(wildcard tauola-fortran/tauola-F )" ""
152 make Clean -C tauola-fortran
154 make clean -C $(TAUOLA_FORTRAN_DIR)
155 make clean -C TauSpinner
159 rm -f lib/* include/Tauola/*
160 rmdir -p include/Tauola
161 rm -rf config.log config.status autom4te.cache configure.paths.sh
162 rm -f platform/make.inc make.inc
163 rm -f examples/make.inc
167 @echo "Please execute ./configure first!"
168 @echo "(Consider using 'source platform/afs.paths.sh' [or .csh] first)"