00001 include make.inc
00002
00003 ifneq ($(PHOTOSLOCATION), )
00004 include $(PHOTOSLOCATION)/make.inc
00005 endif
00006
00007 ROOTLIB := $(shell root-config --glibs)
00008 ROOTINC := $(shell root-config --cflags)
00009 ROOTLIBPATH := $(shell root-config --libdir)
00010 TAUOLA_LIBS = -L$(TAUOLALOCATION)/lib -lTauolaCxxInterface -lTauolaFortran
00011 PYTHIA_LIBS = -L$(PYTHIALOCATION)/lib/archive -lpythia8 -llhapdfdummy -lhepmcinterface
00012 MC_TESTER_LIBS = -L$(MCTESTERLOCATION)/lib -lHEPEvent -lHepMCEvent -lMCTester
00013 PHOTOS_LIBS = -L$(PHOTOSLOCATION)/lib -lPhotosCxxInterface -lPhotosFortran $(HEPMC_LIBS)
00014 HEPMC_LIBS =
00015
00016 ifneq ($(HEPMCLOCATION), )
00017 override HEPMC_LIBS += -L$(HEPMCLOCATION)/lib -lHepMC
00018 endif
00019
00020 all:
00021 @make photos_hepevt_example.exe
00022 ifneq ($(HEPMCLOCATION), )
00023 @make photos_standalone_example.exe
00024 ifneq ($(PYTHIALOCATION), )
00025 @make single_photos_gun_example.exe
00026 @make photosLCG_pythia_example.exe
00027 ifneq ($(MCTESTERLOCATION), )
00028 @make photos_pythia_example.exe
00029 ifneq ($(TAUOLALOCATION), )
00030 @make tauola_photos_pythia_example.exe
00031 endif
00032 endif
00033 endif
00034 endif
00035 @echo "##################################################################"
00036 @echo " Examples compiled successfully. Available examples:"
00037 @if test -e photos_hepevt_example.exe; then \
00038 echo " ./photos_hepevt_example.exe"; fi
00039 @if test -e photos_standalone_example.exe; then \
00040 echo " ./photos_standalone_example.exe"; fi
00041 @if test -e single_photos_gun_example.exe; then \
00042 echo " ./single_photos_gun_example.exe"; fi
00043 @if test -e photosLCG_pythia_example.exe; then \
00044 echo " ./photosLCG_pythia_example.exe"; fi
00045 @if test -e photos_pythia_example.exe; then \
00046 echo " ./photos_pythia_example.exe"; fi
00047 @if test -e tauola_photos_pythia_example.exe; then \
00048 echo " ./tauola_photos_pythia_example.exe"; fi
00049 @echo "##################################################################"
00050
00051 # Universal example (all paths presents)
00052 %.o: %.cxx
00053 $(CC) $(CFLAGS) -I$(PHOTOSLOCATION)/include -I$(TAUOLALOCATION)/include -I$(PYTHIALOCATION)/include \
00054 -I$(MCTESTERLOCATION)/include -I$(HEPMCLOCATION)/include $(ROOTINC) -c $<
00055
00056 # Universal example (all paths presents) - linking procedure
00057 %.exe: %.o
00058 $(CC) -o $@ $(LDFLAGS) $< $(ROOTLIB) \
00059 $(TAUOLA_LIBS) $(PYTHIA_LIBS) $(MC_TESTER_LIBS) $(HEPMC_LIBS) $(PHOTOS_LIBS) \
00060 -Wl,-rpath,$(PREFIX)/lib \
00061 -Wl,-rpath,$(PHOTOSLOCATION)/lib \
00062 -Wl,-rpath,$(ROOTLIBPATH) \
00063 -Wl,-rpath,$(TAUOLALOCATION)/lib \
00064 -Wl,-rpath,$(HEPMCLOCATION)/lib \
00065 -Wl,-rpath,$(PYTHIALOCATION)/lib \
00066 -Wl,-rpath,$(MCTESTERLOCATION)/lib
00067
00068 # Version for pythia example - HepMC, Pythia8 and MC-Tester required
00069 photos_pythia_example.exe: photos_pythia_example.cxx
00070 $(CC) $(CFLAGS) -I$(PHOTOSLOCATION)/include -I$(PYTHIALOCATION)/include \
00071 -I$(MCTESTERLOCATION)/include -I$(HEPMCLOCATION)/include $(ROOTINC) -c $<
00072 $(CC) -o $@ $(LDFLAGS) $(<:.cxx=.o) $(ROOTLIB) \
00073 $(PYTHIA_LIBS) $(MC_TESTER_LIBS) $(HEPMC_LIBS) $(PHOTOS_LIBS) \
00074 -Wl,-rpath,$(PREFIX)/lib \
00075 -Wl,-rpath,$(PHOTOSLOCATION)/lib \
00076 -Wl,-rpath,$(ROOTLIBPATH) \
00077 -Wl,-rpath,$(HEPMCLOCATION)/lib \
00078 -Wl,-rpath,$(PYTHIALOCATION)/lib \
00079 -Wl,-rpath,$(MCTESTERLOCATION)/lib
00080
00081 # Version for photos gun example - HepMC and Pythia8 required
00082 single_photos_gun_example.exe: single_photos_gun_example.cxx
00083 $(CC) $(CFLAGS) -I$(PHOTOSLOCATION)/include -I$(PYTHIALOCATION)/include \
00084 -I$(HEPMCLOCATION)/include -c $<
00085 $(CC) -o $@ $(LDFLAGS) $(<:.cxx=.o) $(HEPMC_LIBS) $(PYTHIA_LIBS) $(PHOTOS_LIBS) \
00086 -Wl,-rpath,$(PREFIX)/lib \
00087 -Wl,-rpath,$(PHOTOSLOCATION)/lib \
00088 -Wl,-rpath,$(HEPMCLOCATION)/lib \
00089 -Wl,-rpath,$(PYTHIALOCATION)/lib
00090
00091 # Version for photos LCG example - HepMC and Pythia8 required
00092 photosLCG_pythia_example.exe: photosLCG_pythia_example.cxx
00093 $(CC) $(CFLAGS) -I$(PHOTOSLOCATION)/include -I$(PYTHIALOCATION)/include \
00094 -I$(HEPMCLOCATION)/include -c $<
00095 $(CC) -o $@ $(LDFLAGS) $(<:.cxx=.o) $(HEPMC_LIBS) $(PYTHIA_LIBS) $(PHOTOS_LIBS) \
00096 -Wl,-rpath,$(PREFIX)/lib \
00097 -Wl,-rpath,$(PHOTOSLOCATION)/lib \
00098 -Wl,-rpath,$(HEPMCLOCATION)/lib \
00099 -Wl,-rpath,$(PYTHIALOCATION)/lib
00100
00101 # Version for photos standalone example - only HepMC required
00102 photos_standalone_example.exe: photos_standalone_example.cxx
00103 $(CC) $(CFLAGS) -I$(PHOTOSLOCATION)/include -I$(HEPMCLOCATION)/include -c $<
00104 $(CC) -o $@ $(LDFLAGS) $(<:.cxx=.o) $(HEPMC_LIBS) $(PHOTOS_LIBS) \
00105 -Wl,-rpath,$(PREFIX)/lib \
00106 -Wl,-rpath,$(PHOTOSLOCATION)/lib \
00107 -Wl,-rpath,$(HEPMCLOCATION)/lib
00108
00109 # Version for photos HEPEVT example - no other libraries are required
00110 photos_hepevt_example.exe: photos_hepevt_example.cxx
00111 $(CC) $(CFLAGS) -I$(PHOTOSLOCATION)/include -c $<
00112 $(CC) -o $@ $(LDFLAGS) $(<:.cxx=.o) $(HEPMC_LIBS) $(PHOTOS_LIBS) \
00113 -Wl,-rpath,$(PREFIX)/lib \
00114 -Wl,-rpath,$(PHOTOSLOCATION)/lib \
00115 -Wl,-rpath,$(HEPMCLOCATION)/lib
00116
00117 clean:
00118 rm -f *.o *.a *~ *.exe
00119
00120 Clean: clean
00121 rm -rf config.log config.status autom4te.cache configure.paths.sh
00122 rm -f make.inc
00123
00124 make.inc:
00125 @echo ""
00126 @echo "Please execute ./configure first!"
00127 @echo ""
00128 @false
00129
00130 $(PHOTOSLOCATION)/make.inc:
00131 @echo ""
00132 @echo "Please compile the interface first!"
00133 @echo ""
00134 @false