source: HiSusy/trunk/Pythia8/pythia8170/Makefile.msc @ 1

Last change on this file since 1 was 1, checked in by zerwas, 11 years ago

first import of structure, PYTHIA8 and DELPHES

File size: 5.0 KB
Line 
1# Makefile.msc for Pythia8 on Win32/NMAKE
2# Author: Bertrand Bellenot, 02/05/2007, 04/11/2009
3!IF "$(CFG)" == ""
4CFG = 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"
24NULL=
25!ELSE
26NULL=nul
27!ENDIF
28
29OutPutOpt     = -out:
30
31# Win32 system with Microsoft Visual C/C++
32!include <win32.mak>
33CC            = $(cc)
34CXX           = $(cc)
35CXXFLAGS      = -EHsc -nologo -GR -DWIN32 -W3 -FIiso646.h \
36                -DVISUAL_CPLUSPLUS -D_WINDOWS -Iinclude
37LD            = $(link)
38
39!IF  "$(CFG)" == "Win32 Release"
40CXXOPT        = -O2 -MD -DNDEBUG
41LDOPT         =
42OUTDIR        = ./Release
43!ELSEIF  "$(CFG)" == "Win32 Debug"
44CXXOPT        = -Z7 -MDd
45LDOPT         =
46OUTDIR        = ./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)
52MT_EXE        = mt -nologo -manifest $@.manifest -outputresource:$@;1
53MT_DLL        = mt -nologo -manifest $@.manifest -outputresource:$@;2
54EXTRAFLAGS    = -D_CRT_SECURE_NO_DEPRECATE
55!else
56MT_EXE        =
57MT_DLL        =
58EXTRAFLAGS    = -G5
59!endif
60
61####### Files
62
63SRCDIR  = src
64DUMDIR  = lhapdfdummy
65INCDIR  = include
66LIBDIR  = lib
67LIBRARY = libPythia8
68LIBDLL  = $(LIBDIR)/$(LIBRARY).dll
69LIBLIB  = $(LIBDIR)/$(LIBRARY).lib
70
71LDFLAGS = -lib /nologo /out:$(LIBLIB)
72
73OBJS =   $(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
134LIBS : $(OUTDIR) $(LIBDIR) $(BINDIR) $(LIBLIB)
135
136.PHONY: $(LIBS) all
137
138all: $(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
162clean:
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
167distclean:      clean
168   -@erase /q "$(LIBDIR)\*.*" >nul 2>&1
169   -@rmdir /q /s lib >nul 2>&1
170
171
Note: See TracBrowser for help on using the repository browser.