00001 include make.inc 00002 00003 LIB_VER = 1.0.0 00004 00005 #Name of libraries to create 00006 LIB_TAUOLA_CXX_INT_SO = libTauolaCxxInterface.so 00007 LIB_TAUOLA_CXX_INT_A = libTauolaCxxInterface.a 00008 LIB_TAUOLA_FORTRAN_SO = libTauolaFortran.so 00009 LIB_TAUOLA_FORTRAN_A = libTauolaFortran.a 00010 00011 TAUOLA_CXX_INT_OBJECTS = src/$(FORTRAN_TAUOLA_INTERFACE_DIR)/*.o \ 00012 src/$(EVENT_RECORD_INTERFACE_DIR)/*.o \ 00013 src/$(C_TAUOLA_INTERFACE_DIR)/*.o \ 00014 src/$(UTILITIES_DIR)/*.o 00015 00016 # If RChL currents exist - add additional objects to the library 00017 ifneq "$(wildcard tauola-fortran/tauola/new-currents/ )" "" 00018 00019 TAUOLA_RCHL_OBJECTS = tauola-fortran/tauola/new-currents/RChL-currents/*.o \ 00020 tauola-fortran/tauola/new-currents/other-currents/*.o 00021 00022 else 00023 TAUOLA_RCHL_OBJECTS = 00024 endif 00025 00026 TAUOLA_FORTRAN_OBJECTS = tauola-fortran/tauola/*.o $(TAUOLA_RCHL_OBJECTS) 00027 00028 #directories containing source code 00029 EVENT_RECORD_INTERFACE_DIR = eventRecordInterfaces 00030 FORTRAN_TAUOLA_INTERFACE_DIR = tauolaFortranInterfaces 00031 C_TAUOLA_INTERFACE_DIR = tauolaCInterfaces 00032 UTILITIES_DIR = utilities 00033 00034 ##### Link objects to make library ###### 00035 all: tauola_fortran src tau_spinner 00036 00037 install: 00038 mkdir -p $(PREFIX)/include 00039 mkdir -p $(PREFIX)/include/Tauola 00040 cp include/Tauola/* $(PREFIX)/include/Tauola/. 00041 mkdir -p $(PREFIX)/lib 00042 cp lib/* $(PREFIX)/lib/. 00043 00044 src: include_dir $(EVENT_RECORD_INTERFACE_DIR) $(FORTRAN_TAUOLA_INTERFACE_DIR) $(C_TAUOLA_INTERFACE_DIR) $(UTILITIES_DIR) 00045 ar cr lib/$(LIB_TAUOLA_CXX_INT_A) $(TAUOLA_CXX_INT_OBJECTS) 00046 ar cr lib/$(LIB_TAUOLA_FORTRAN_A) $(TAUOLA_FORTRAN_OBJECTS) 00047 $(LD) $(LDFLAGS) $(SOFLAGS) -o lib/$(LIB_TAUOLA_CXX_INT_SO).$(LIB_VER) $(TAUOLA_CXX_INT_OBJECTS) 00048 $(LD) $(LDFLAGS) $(SOFLAGS) -o lib/$(LIB_TAUOLA_FORTRAN_SO).$(LIB_VER) $(TAUOLA_FORTRAN_OBJECTS) 00049 ln -sf $(LIB_TAUOLA_CXX_INT_SO).$(LIB_VER) lib/$(LIB_TAUOLA_CXX_INT_SO) 00050 ln -sf $(LIB_TAUOLA_FORTRAN_SO).$(LIB_VER) lib/$(LIB_TAUOLA_FORTRAN_SO) 00051 @echo "##################################################################" 00052 @echo " Tauola C++ Interface library created and moved to lib/ directory " 00053 @echo "##################################################################" 00054 @echo "" 00055 @echo "##################################################################" 00056 @echo " To run examples, cd examples/ directory and there './configure' " 00057 @echo " and 'make' again. Examples require Pythia8, ROOT and MC-Tester " 00058 @echo " installed. For details see examples/README. " 00059 @echo "##################################################################" 00060 00061 00062 ####### Make object files ######## 00063 include_dir: 00064 mkdir -p include 00065 mkdir -p include/Tauola 00066 00067 $(FORTRAN_TAUOLA_INTERFACE_DIR): 00068 make -C src/$(FORTRAN_TAUOLA_INTERFACE_DIR) 00069 cp src/$(FORTRAN_TAUOLA_INTERFACE_DIR)/*.h include/Tauola 00070 00071 $(EVENT_RECORD_INTERFACE_DIR): 00072 make -C src/$(EVENT_RECORD_INTERFACE_DIR) 00073 cp src/$(EVENT_RECORD_INTERFACE_DIR)/*.h include/Tauola 00074 00075 $(C_TAUOLA_INTERFACE_DIR): 00076 make -C src/$(C_TAUOLA_INTERFACE_DIR) 00077 cp src/$(C_TAUOLA_INTERFACE_DIR)/*.h include/Tauola 00078 00079 $(UTILITIES_DIR): 00080 make -C src/$(UTILITIES_DIR) 00081 cp src/$(UTILITIES_DIR)/*.h include/Tauola 00082 00083 tau_spinner: src 00084 ifeq ($(MAKE_TAU_SPINNER),yes) 00085 make libTauSpinner -C TauSpinner 00086 make move -C TauSpinner 00087 endif 00088 00089 tauola_fortran: 00090 ifneq "$(wildcard tauola-fortran/tauola-F )" "" 00091 make 10kD-all -C tauola-fortran/photos-F 00092 make CLEO -C tauola-fortran/tauola-F 00093 else 00094 echo "\nUsing pre-constructed 'tauola-fortran/tauola'\n" 00095 endif 00096 make -C tauola-fortran/tauola 00097 @echo "#################################################" 00098 @echo " tauola-fortran compiled successfully. " 00099 @echo "#################################################" 00100 @true 00101 00102 athena: clean_src #modify for athena environment 00103 cp -rf src src-BCP 00104 cp -rf tauola-fortran/tauola-F tauola-fortran/tauola-F-BCP 00105 ./platform/to-Athena.sh 00106 00107 athena_revert: #revert from athena environment modification 00108 rm -rf src 00109 mv src-BCP src 00110 rm -rf tauola-fortran/tauola-F 00111 mv tauola-fortran/tauola-F-BCP tauola-fortran/tauola-F 00112 rm -f platform/to-Athena.dependencies 00113 make clean 00114 00115 clean_src: 00116 make clean -C src/$(EVENT_RECORD_INTERFACE_DIR) 00117 make clean -C src/$(FORTRAN_TAUOLA_INTERFACE_DIR) 00118 make clean -C src/$(C_TAUOLA_INTERFACE_DIR) 00119 make clean -C src/$(UTILITIES_DIR) 00120 00121 clean: clean_src 00122 ifneq "$(wildcard tauola-fortran/tauola-F )" "" 00123 make Clean -C tauola-fortran 00124 else 00125 make clean -C tauola-fortran/tauola 00126 endif 00127 make clean -C TauSpinner 00128 rm -f *~ 00129 00130 Clean: clean 00131 rm -f lib/* include/Tauola/* 00132 rmdir -p include/Tauola 00133 rm -rf config.log config.status autom4te.cache configure.paths.sh 00134 rm -f platform/make.inc make.inc 00135 rm -f examples/make.inc 00136 00137 make.inc: 00138 @echo "" 00139 @echo "Please execute ./configure first!" 00140 @echo "(Consider using 'source platform/afs.paths.sh' [or .csh] first)" 00141 @echo "" 00142 @false 00143 00144 always: 00145 @true