00001 include make.inc 00002 00003 LIB_VER = 1.0.0 00004 00005 #Name of libraries to create 00006 LIB_PHOTOS_CXX_INT_SO = libPhotosCxxInterface.so 00007 LIB_PHOTOS_CXX_INT_A = libPhotosCxxInterface.a 00008 LIB_PHOTOS_FORTRAN_SO = libPhotosFortran.so 00009 LIB_PHOTOS_FORTRAN_A = libPhotosFortran.a 00010 00011 PHOTOS_CXX_INT_OBJECTS = src/$(EVENT_RECORD_INTERFACE_DIR)/*.o \ 00012 src/$(C_PHOTOS_INTERFACE_DIR)/*.o \ 00013 src/$(UTILITIES_DIR)/*.o \ 00014 src/$(FORTRAN_PHOTOS_INTERFACE_DIR)/PH_HEPEVT_Interface.o 00015 00016 PHOTOS_FORTRAN_OBJECTS = src/$(PHOTOS_FORTRAN_DIR)/photos.o \ 00017 src/$(FORTRAN_PHOTOS_INTERFACE_DIR)/forW-ME.o \ 00018 src/$(FORTRAN_PHOTOS_INTERFACE_DIR)/forZ-ME.o \ 00019 src/$(FORTRAN_PHOTOS_INTERFACE_DIR)/Photos_make.o 00020 00021 #directories containing source code 00022 EVENT_RECORD_INTERFACE_DIR = eventRecordInterfaces 00023 FORTRAN_PHOTOS_INTERFACE_DIR = photosFortranInterfaces 00024 C_PHOTOS_INTERFACE_DIR = photosCInterfaces 00025 PHOTOS_FORTRAN_DIR = photos-fortran 00026 UTILITIES_DIR = utilities 00027 00028 ##### Link objects to make library ###### 00029 all: include_dir $(EVENT_RECORD_INTERFACE_DIR) $(FORTRAN_PHOTOS_INTERFACE_DIR) $(C_PHOTOS_INTERFACE_DIR) $(PHOTOS_FORTRAN_DIR) $(UTILITIES_DIR) 00030 ar cr lib/$(LIB_PHOTOS_CXX_INT_A) $(PHOTOS_CXX_INT_OBJECTS) 00031 $(LD) $(LDFLAGS) $(SOFLAGS) -o lib/$(LIB_PHOTOS_CXX_INT_SO).$(LIB_VER) $(PHOTOS_CXX_INT_OBJECTS) 00032 ar cr lib/$(LIB_PHOTOS_FORTRAN_A) $(PHOTOS_FORTRAN_OBJECTS) 00033 $(LD) $(LDFLAGS) $(SOFLAGS) -o lib/$(LIB_PHOTOS_FORTRAN_SO).$(LIB_VER) $(PHOTOS_FORTRAN_OBJECTS) 00034 ln -sf $(LIB_PHOTOS_CXX_INT_SO).$(LIB_VER) lib/$(LIB_PHOTOS_CXX_INT_SO) 00035 ln -sf $(LIB_PHOTOS_FORTRAN_SO).$(LIB_VER) lib/$(LIB_PHOTOS_FORTRAN_SO) 00036 @echo "##################################################################" 00037 @echo " Photos C++ Interface library created and moved to lib/ directory " 00038 @echo "##################################################################" 00039 @echo "" 00040 @echo "##################################################################" 00041 @echo " To run examples, cd examples/ directory and there './configure' " 00042 @echo " and 'make' again. Examples require Pythia8, ROOT and MC-Tester " 00043 @echo " installed. For details see examples/README. " 00044 @echo "##################################################################" 00045 00046 include_dir: 00047 mkdir -p include/Photos 00048 00049 ####### Make object files ######## 00050 $(FORTRAN_PHOTOS_INTERFACE_DIR): 00051 make -C src/$(FORTRAN_PHOTOS_INTERFACE_DIR) 00052 cp src/$(FORTRAN_PHOTOS_INTERFACE_DIR)/*.h include/Photos 00053 00054 $(EVENT_RECORD_INTERFACE_DIR): 00055 make -C src/$(EVENT_RECORD_INTERFACE_DIR) 00056 cp src/$(EVENT_RECORD_INTERFACE_DIR)/*.h include/Photos 00057 00058 $(C_PHOTOS_INTERFACE_DIR): 00059 make -C src/$(C_PHOTOS_INTERFACE_DIR) 00060 cp src/$(C_PHOTOS_INTERFACE_DIR)/*.h include/Photos 00061 00062 $(UTILITIES_DIR): 00063 make -C src/$(UTILITIES_DIR) 00064 cp src/$(UTILITIES_DIR)/*.h include/Photos 00065 00066 $(PHOTOS_FORTRAN_DIR): 00067 make -C src/$(PHOTOS_FORTRAN_DIR) 00068 00069 install: 00070 mkdir -p $(PREFIX)/include/Photos 00071 cp include/Photos/* $(PREFIX)/include/Photos/. 00072 mkdir -p $(PREFIX)/lib 00073 cp lib/* $(PREFIX)/lib/. 00074 00075 clean: 00076 make clean -C src/$(EVENT_RECORD_INTERFACE_DIR) 00077 make clean -C src/$(FORTRAN_PHOTOS_INTERFACE_DIR) 00078 make clean -C src/$(C_PHOTOS_INTERFACE_DIR) 00079 make clean -C src/$(PHOTOS_FORTRAN_DIR) 00080 make clean -C src/$(UTILITIES_DIR) 00081 rm -f *~ 00082 00083 Clean: clean 00084 rm -f lib/* include/Photos/* 00085 rm -rf config.log config.status autom4te.cache 00086 rm -rf configure.paths.sh configure.paths.csh 00087 rm -f platform/make.inc make.inc 00088 rm -f examples/make.inc 00089 00090 make.inc: 00091 @echo "" 00092 @echo "Please execute ./configure first!" 00093 @echo "(Consider using 'source platform/afs.paths.sh' [or .csh] first)" 00094 @echo "" 00095 @false 00096 00097 always: 00098 @true