3 # The PROGRAM macro defines the name of the program or project. It
4 # allows the program name to be changed by editing in only one
10 # The INCLUDEDIRS macro contains a list of include directories
11 # to pass to the compiler so it can find necessary header files.
13 # The LIBDIRS macro contains a list of library directories
14 # to pass to the linker so it can find necessary libraries.
16 # The LIBS macro contains a list of libraries that the the
17 # executable must be linked against.
21 -I/home/gorbunov/pythia/pythia8120/include \
22 -I/usr/local/root/include \
27 -L/usr/local/root/lib \
28 -L/home/gorbunov/pythia/pythia8120/lib/archive
31 LIBS = -lCore -lCint -lRIO -lGpad -lRint -lGui -lPhysics -lMathCore\
32 -lGraf -lGraf3d -lHist -lHtml -lMatrix -lMinuit -lNet \
33 -lPostscript -lProof -lTree -lThread -lVMC -lGeom \
34 -lEG -ldl -lpthread -lTreePlayer -lProofPlayer -lpythia8 -llhapdfdummy
38 # The CXXSOURCES macro contains a list of source files.
40 # The CXXOBJECTS macro converts the CXXSOURCES macro into a list
43 # The CXXFLAGS macro contains a list of options to be passed to
44 # the compiler. Adding "-g" to this line will cause the compiler
45 # to add debugging information to the executable.
47 # The CXX macro defines the C++ compiler.
49 # The LDFLAGS macro contains all of the library and library
50 # directory information to be passed to the linker.
53 CXXSOURCES = $(OTHERDIR)/main.cpp $(OTHERDIR)/inputparameters.cpp $(OTHERDIR)/nucleus.cpp $(OTHERDIR)/bessel.cpp $(OTHERDIR)/beam.cpp $(OTHERDIR)/beambeamsystem.cpp $(OTHERDIR)/twophotonluminosity.cpp $(OTHERDIR)/upcevent.cpp $(OTHERDIR)/vector3.cpp $(OTHERDIR)/lorentzvector.cpp $(OTHERDIR)/eventfilewriter.cpp $(OTHERDIR)/filewriter.cpp $(OTHERDIR)/eventchannel.cpp $(OTHERDIR)/gammagammaleptonpair.cpp $(OTHERDIR)/readinluminosity.cpp $(OTHERDIR)/randomgenerator.cpp $(OTHERDIR)/gammagammasingle.cpp $(OTHERDIR)/gammaavm.cpp $(OTHERDIR)/gammaaluminosity.cpp $(OTHERDIR)/gammaacrosssection.cpp $(OTHERDIR)/psifamily.cpp $(OTHERDIR)/starlightparticle.cpp $(OTHERDIR)/starlightparticlecodes.cpp $(OTHERDIR)/starlight.cpp $(OTHERDIR)/starlightstandalone.cpp # list of source files
54 CXXOBJECTS = $(CXXSOURCES:.cpp=.o) # expands to list of object files
55 CXXFLAGS = $(INCLUDEDIRS)
58 LDFLAGS = $(LIBDIRS) $(LIBS)
61 # Default target: the first target is the default target.
62 # Just type "make -f Makefile.Linux" to build it.
68 # Link target: automatically builds its object dependencies before
69 # executing its link command.
72 $(PROGRAM): $(CXXOBJECTS)
73 $(CXX) -o $@ $(CXXOBJECTS) $(LDFLAGS)
76 # Object targets: rules that define objects, their dependencies, and
77 # a list of commands for compilation.
80 #basic_sample.o: basic_sample.cpp basic_sample.h
81 # $(CXX) $(CXXFLAGS) -c -o basic_sample.o basic_sample.cpp
84 # Clean target: "make -f Makefile.Linux clean" to remove unwanted objects and executables.
88 $(RM) -f $(CXXOBJECTS) $(PROGRAM)