5 #Name of libraries to create
6 LIB_PHOTOS_CXX_INT_SO = libPhotosCxxInterface.so
7 LIB_PHOTOS_CXX_INT_A = libPhotosCxxInterface.a
8 LIB_PHOTOS_FORTRAN_SO = libPhotosFortran.so
9 LIB_PHOTOS_FORTRAN_A = libPhotosFortran.a
11 PHOTOS_CXX_INT_OBJECTS = src/$(EVENT_RECORD_INTERFACE_DIR)/*.o \
12 src/$(C_PHOTOS_INTERFACE_DIR)/*.o \
13 src/$(UTILITIES_DIR)/*.o \
14 src/$(FORTRAN_PHOTOS_INTERFACE_DIR)/*.o
16 PHOTOS_FORTRAN_OBJECTS = src/$(PHOTOS_FORTRAN_DIR)/*.o
18 #directories containing source code
19 EVENT_RECORD_INTERFACE_DIR = eventRecordInterfaces
20 FORTRAN_PHOTOS_INTERFACE_DIR = photosFortranInterfaces
21 C_PHOTOS_INTERFACE_DIR = photosCInterfaces
22 PHOTOS_FORTRAN_DIR = photos-fortran
23 UTILITIES_DIR = utilities
25 ##### Link objects to make library ######
26 all: include_dir $(EVENT_RECORD_INTERFACE_DIR) $(FORTRAN_PHOTOS_INTERFACE_DIR) $(C_PHOTOS_INTERFACE_DIR) $(PHOTOS_FORTRAN_DIR) $(UTILITIES_DIR)
27 ar cr lib/$(LIB_PHOTOS_CXX_INT_A) $(PHOTOS_CXX_INT_OBJECTS)
28 $(LD) $(LDFLAGS) $(SOFLAGS) -o lib/$(LIB_PHOTOS_CXX_INT_SO).$(LIB_VER) $(PHOTOS_CXX_INT_OBJECTS)
29 ar cr lib/$(LIB_PHOTOS_FORTRAN_A) $(PHOTOS_FORTRAN_OBJECTS)
30 $(LD) $(LDFLAGS) $(SOFLAGS) -o lib/$(LIB_PHOTOS_FORTRAN_SO).$(LIB_VER) $(PHOTOS_FORTRAN_OBJECTS)
31 ln -sf $(LIB_PHOTOS_CXX_INT_SO).$(LIB_VER) lib/$(LIB_PHOTOS_CXX_INT_SO)
32 ln -sf $(LIB_PHOTOS_FORTRAN_SO).$(LIB_VER) lib/$(LIB_PHOTOS_FORTRAN_SO)
33 @echo "##################################################################"
34 @echo " Photos C++ Interface library created and moved to lib/ directory "
35 @echo "##################################################################"
37 @echo "##################################################################"
38 @echo " To run examples, cd examples/ directory and there './configure' "
39 @echo " and 'make' again. Examples require Pythia8, ROOT and MC-Tester "
40 @echo " installed. For details see examples/README. "
41 @echo "##################################################################"
44 mkdir -p include/Photos
46 ####### Make object files ########
47 $(FORTRAN_PHOTOS_INTERFACE_DIR):
48 make -C src/$(FORTRAN_PHOTOS_INTERFACE_DIR)
49 cp src/$(FORTRAN_PHOTOS_INTERFACE_DIR)/*.h include/Photos
51 $(EVENT_RECORD_INTERFACE_DIR):
52 make -C src/$(EVENT_RECORD_INTERFACE_DIR)
53 cp src/$(EVENT_RECORD_INTERFACE_DIR)/*.h include/Photos
55 $(C_PHOTOS_INTERFACE_DIR):
56 make -C src/$(C_PHOTOS_INTERFACE_DIR)
57 cp src/$(C_PHOTOS_INTERFACE_DIR)/*.h include/Photos
60 make -C src/$(UTILITIES_DIR)
61 cp src/$(UTILITIES_DIR)/*.h include/Photos
63 $(PHOTOS_FORTRAN_DIR):
64 make -C src/$(PHOTOS_FORTRAN_DIR)
67 mkdir -p $(PREFIX)/include/Photos
68 cp include/Photos/* $(PREFIX)/include/Photos/.
69 mkdir -p $(PREFIX)/lib
70 cp lib/* $(PREFIX)/lib/.
73 make clean -C src/$(EVENT_RECORD_INTERFACE_DIR)
74 make clean -C src/$(FORTRAN_PHOTOS_INTERFACE_DIR)
75 make clean -C src/$(C_PHOTOS_INTERFACE_DIR)
76 make clean -C src/$(PHOTOS_FORTRAN_DIR)
77 make clean -C src/$(UTILITIES_DIR)
81 rm -f lib/* include/Photos/*
82 rm -rf config.log config.status autom4te.cache
83 rm -rf configure.paths.sh configure.paths.csh
84 rm -f platform/make.inc make.inc
85 rm -f examples/make.inc
89 @echo "Please execute ./configure first!"
90 @echo "(Consider using 'source platform/afs.paths.sh' [or .csh] first)"