]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PYTHIA8/pythia8170/Makefile.msc
Coverity 21241
[u/mrichter/AliRoot.git] / PYTHIA8 / pythia8170 / Makefile.msc
1 # Makefile.msc for Pythia8 on Win32/NMAKE
2 # Author: Bertrand Bellenot, 02/05/2007, 04/11/2009
3 !IF "$(CFG)" == ""
4 CFG = Win32 Release
5 !MESSAGE No configuration specified. Defaulting to Win32 Release.
6 !ENDIF 
7
8 !IF "$(CFG)" != "Win32 Release" && "$(CFG)" != "Win32 Debug"
9 !MESSAGE Invalid configuration "$(CFG)" specified.
10 !MESSAGE You can specify a configuration when running NMAKE
11 !MESSAGE by defining the macro CFG on the command line. For example:
12 !MESSAGE 
13 !MESSAGE NMAKE /f "Makefile.msc" CFG="Win32 Debug"
14 !MESSAGE 
15 !MESSAGE Possible choices for configuration are:
16 !MESSAGE 
17 !MESSAGE "Win32 Release" (based on "Win32 (x86) Static Library")
18 !MESSAGE "Win32 Debug" (based on "Win32 (x86) Static Library")
19 !MESSAGE 
20 !ERROR An invalid configuration is specified.
21 !ENDIF 
22
23 !IF "$(OS)" == "Windows_NT"
24 NULL=
25 !ELSE 
26 NULL=nul
27 !ENDIF 
28
29 OutPutOpt     = -out:
30
31 # Win32 system with Microsoft Visual C/C++
32 !include <win32.mak>
33 CC            = $(cc)
34 CXX           = $(cc)
35 CXXFLAGS      = -EHsc -nologo -GR -DWIN32 -W3 -FIiso646.h \
36                 -DVISUAL_CPLUSPLUS -D_WINDOWS -Iinclude
37 LD            = $(link)
38
39 !IF  "$(CFG)" == "Win32 Release"
40 CXXOPT        = -O2 -MD -DNDEBUG
41 LDOPT         = 
42 OUTDIR        = ./Release
43 !ELSEIF  "$(CFG)" == "Win32 Debug"
44 CXXOPT        = -Z7 -MDd
45 LDOPT         = 
46 OUTDIR        = ./Debug
47 !ENDIF 
48
49 # Check if nmake version is 8.xx or 9.xx
50 !if ([nmake /? 2>&1 | findstr /c:"Version 8\." > nul ] == 0) || \
51     ([nmake /? 2>&1 | findstr /c:"Version 9\." > nul ] == 0)
52 MT_EXE        = mt -nologo -manifest $@.manifest -outputresource:$@;1
53 MT_DLL        = mt -nologo -manifest $@.manifest -outputresource:$@;2
54 EXTRAFLAGS    = -D_CRT_SECURE_NO_DEPRECATE
55 !else
56 MT_EXE        = 
57 MT_DLL        = 
58 EXTRAFLAGS    = -G5
59 !endif
60
61 ####### Files
62
63 SRCDIR  = src
64 DUMDIR  = lhapdfdummy
65 INCDIR  = include
66 LIBDIR  = lib
67 LIBRARY = libPythia8
68 LIBDLL  = $(LIBDIR)/$(LIBRARY).dll
69 LIBLIB  = $(LIBDIR)/$(LIBRARY).lib
70
71 LDFLAGS = -lib /nologo /out:$(LIBLIB)
72
73 OBJS =   $(OUTDIR)/Analysis.obj \
74          $(OUTDIR)/Basics.obj \
75          $(OUTDIR)/BeamParticle.obj \
76          $(OUTDIR)/BeamRemnants.obj \
77          $(OUTDIR)/BeamShape.obj \
78          $(OUTDIR)/BoseEinstein.obj \
79          $(OUTDIR)/Event.obj \
80          $(OUTDIR)/FragmentationFlavZpT.obj \
81          $(OUTDIR)/FragmentationSystems.obj \
82          $(OUTDIR)/HadronLevel.obj \
83          $(OUTDIR)/HadronScatter.obj \
84          $(OUTDIR)/HelicityBasics.obj \
85          $(OUTDIR)/HelicityMatrixElements.obj \
86          $(OUTDIR)/HiddenValleyFragmentation.obj \
87          $(OUTDIR)/History.obj \
88          $(OUTDIR)/Info.obj \
89          $(OUTDIR)/LesHouches.obj \
90          $(OUTDIR)/MergingHooks.obj \
91          $(OUTDIR)/MiniStringFragmentation.obj \
92          $(OUTDIR)/MultipartonInteractions.obj \
93          $(OUTDIR)/ParticleData.obj \
94          $(OUTDIR)/ParticleDecays.obj \
95          $(OUTDIR)/PartonDistributions.obj \
96          $(OUTDIR)/PartonLevel.obj \
97          $(OUTDIR)/PartonSystems.obj \
98          $(OUTDIR)/PhaseSpace.obj \
99          $(OUTDIR)/ProcessContainer.obj \
100          $(OUTDIR)/ProcessLevel.obj \
101          $(OUTDIR)/Pythia.obj \
102          $(OUTDIR)/PythiaStdlib.obj \
103          $(OUTDIR)/ResonanceDecays.obj \
104          $(OUTDIR)/ResonanceWidths.obj \
105          $(OUTDIR)/RHadrons.obj \
106          $(OUTDIR)/Settings.obj \
107          $(OUTDIR)/SigmaCompositeness.obj \
108          $(OUTDIR)/SigmaEW.obj \
109          $(OUTDIR)/SigmaExtraDim.obj \
110          $(OUTDIR)/SigmaGeneric.obj \
111          $(OUTDIR)/SigmaHiggs.obj \
112          $(OUTDIR)/SigmaLeftRightSym.obj \
113          $(OUTDIR)/SigmaLeptoquark.obj \
114          $(OUTDIR)/SigmaNewGaugeBosons.obj \
115          $(OUTDIR)/SigmaOnia.obj \
116          $(OUTDIR)/SigmaProcess.obj \
117          $(OUTDIR)/SigmaQCD.obj \
118          $(OUTDIR)/SigmaSUSY.obj \
119          $(OUTDIR)/SigmaTotal.obj \
120          $(OUTDIR)/SpaceShower.obj \
121          $(OUTDIR)/StandardModel.obj \
122          $(OUTDIR)/StringFragmentation.obj \
123          $(OUTDIR)/SusyCouplings.obj \
124          $(OUTDIR)/SusyLesHouches.obj \
125          $(OUTDIR)/SusyResonanceWidths.obj \
126          $(OUTDIR)/TauDecays.obj \
127          $(OUTDIR)/TimeShower.obj \
128          $(OUTDIR)/UserHooks.obj \
129 # If you link to HepMC you also need HepMCInterface
130 #         $(OUTDIR)/HepMCInterface.obj \
131 # If you link to LHAPDF you don't want the last line
132          $(OUTDIR)/LHAPDFDummy.obj
133
134 LIBS : $(OUTDIR) $(LIBDIR) $(BINDIR) $(LIBLIB)
135
136 .PHONY: $(LIBS) all
137
138 all: $(LIBS)
139
140 "$(OUTDIR)" :
141     @if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
142
143 "$(LIBDIR)" :
144     @if not exist "$(LIBDIR)/$(NULL)" mkdir "$(LIBDIR)"
145
146 $(LIBLIB) : $(OBJS)
147     $(LD) $(LDFLAGS) $(LDOPT) @<<
148   $(OBJS)
149 <<
150
151 .SUFFIXES: .h .cc .obj
152
153 {$(INCDIR)}.h{$(OUTDIR)}.obj:
154     $(CXX) $(CXXFLAGS) $(EXTRAFLAGS) $(CXXOPT) /Fo"$(OUTDIR)/" -c $(SRCDIR)\$(@B).cc
155
156 {$(SRCDIR)}.cc{$(OUTDIR)}.obj:
157     $(CXX) $(CXXFLAGS) $(EXTRAFLAGS) $(CXXOPT) /Fo"$(OUTDIR)/" -c $<
158
159 {$(DUMDIR)}.cc{$(OUTDIR)}.obj:
160     $(CXX) $(CXXFLAGS) $(EXTRAFLAGS) $(CXXOPT) /Fo"$(OUTDIR)/" -c $<
161
162 clean:
163    -@erase /q /s *.obj >nul 2>&1
164    -@rmdir /q /s Debug >nul 2>&1
165    -@rmdir /q /s Release >nul 2>&1
166
167 distclean:      clean
168    -@erase /q "$(LIBDIR)\*.*" >nul 2>&1
169    -@rmdir /q /s lib >nul 2>&1
170
171