]>
Commit | Line | Data |
---|---|---|
da32329d AM |
1 | |
2 | # | |
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 | |
5 | # location | |
6 | # | |
7 | ||
8 | PROGRAM = starlight | |
9 | ||
10 | # The INCLUDEDIRS macro contains a list of include directories | |
11 | # to pass to the compiler so it can find necessary header files. | |
12 | # | |
13 | # The LIBDIRS macro contains a list of library directories | |
14 | # to pass to the linker so it can find necessary libraries. | |
15 | # | |
16 | # The LIBS macro contains a list of libraries that the the | |
17 | # executable must be linked against. | |
18 | # | |
19 | ||
20 | INCLUDEDIRS = \ | |
21 | -I/home/gorbunov/pythia/pythia8120/include \ | |
22 | -I/usr/local/root/include \ | |
23 | -I../include | |
24 | ||
25 | ||
26 | LIBDIRS = \ | |
27 | -L/usr/local/root/lib \ | |
28 | -L/home/gorbunov/pythia/pythia8120/lib/archive | |
29 | ||
30 | ||
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 | |
35 | ||
36 | ||
37 | # | |
38 | # The CXXSOURCES macro contains a list of source files. | |
39 | # | |
40 | # The CXXOBJECTS macro converts the CXXSOURCES macro into a list | |
41 | # of object files. | |
42 | # | |
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. | |
46 | # | |
47 | # The CXX macro defines the C++ compiler. | |
48 | # | |
49 | # The LDFLAGS macro contains all of the library and library | |
50 | # directory information to be passed to the linker. | |
51 | # | |
52 | OTHERDIR= ../src | |
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) | |
56 | CXX = g++ | |
57 | ||
58 | LDFLAGS = $(LIBDIRS) $(LIBS) | |
59 | ||
60 | # | |
61 | # Default target: the first target is the default target. | |
62 | # Just type "make -f Makefile.Linux" to build it. | |
63 | # | |
64 | ||
65 | all: $(PROGRAM) | |
66 | ||
67 | # | |
68 | # Link target: automatically builds its object dependencies before | |
69 | # executing its link command. | |
70 | # | |
71 | ||
72 | $(PROGRAM): $(CXXOBJECTS) | |
73 | $(CXX) -o $@ $(CXXOBJECTS) $(LDFLAGS) | |
74 | ||
75 | # | |
76 | # Object targets: rules that define objects, their dependencies, and | |
77 | # a list of commands for compilation. | |
78 | # | |
79 | # | |
80 | #basic_sample.o: basic_sample.cpp basic_sample.h | |
81 | # $(CXX) $(CXXFLAGS) -c -o basic_sample.o basic_sample.cpp | |
82 | # | |
83 | # | |
84 | # Clean target: "make -f Makefile.Linux clean" to remove unwanted objects and executables. | |
85 | # | |
86 | ||
87 | clean: | |
88 | $(RM) -f $(CXXOBJECTS) $(PROGRAM) | |
89 |