]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PYTHIA8/pythia8145/Makefile.msc
Use Output directive instead of the old OutputFile and OUtputArchive. Save fileinfo...
[u/mrichter/AliRoot.git] / PYTHIA8 / pythia8145 / 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)/Info.obj \
84          $(OUTDIR)/LesHouches.obj \
85          $(OUTDIR)/MiniStringFragmentation.obj \
86          $(OUTDIR)/MultipleInteractions.obj \
87          $(OUTDIR)/ParticleData.obj \
88          $(OUTDIR)/ParticleDecays.obj \
89          $(OUTDIR)/PartonDistributions.obj \
90          $(OUTDIR)/PartonLevel.obj \
91          $(OUTDIR)/PartonSystems.obj \
92          $(OUTDIR)/PhaseSpace.obj \
93          $(OUTDIR)/ProcessContainer.obj \
94          $(OUTDIR)/ProcessLevel.obj \
95          $(OUTDIR)/Pythia.obj \
96          $(OUTDIR)/PythiaStdlib.obj \
97          $(OUTDIR)/ResonanceDecays.obj \
98          $(OUTDIR)/ResonanceWidths.obj \
99          $(OUTDIR)/Settings.obj \
100          $(OUTDIR)/SigmaCompositeness.obj \
101          $(OUTDIR)/SigmaEW.obj \
102          $(OUTDIR)/SigmaExtraDim.obj \
103          $(OUTDIR)/SigmaGeneric.obj \
104          $(OUTDIR)/SigmaHiggs.obj \
105          $(OUTDIR)/SigmaLeftRightSym.obj \
106          $(OUTDIR)/SigmaLeptoquark.obj \
107          $(OUTDIR)/SigmaNewGaugeBosons.obj \
108          $(OUTDIR)/SigmaOnia.obj \
109          $(OUTDIR)/SigmaProcess.obj \
110          $(OUTDIR)/SigmaQCD.obj \
111          $(OUTDIR)/SigmaSUSY.obj \
112          $(OUTDIR)/SigmaTotal.obj \
113          $(OUTDIR)/SpaceShower.obj \
114          $(OUTDIR)/StandardModel.obj \
115          $(OUTDIR)/StringFragmentation.obj \
116          $(OUTDIR)/SusyCouplings.obj \
117          $(OUTDIR)/SusyLesHouches.obj \
118          $(OUTDIR)/TimeShower.obj \
119          $(OUTDIR)/UserHooks.obj \
120          $(OUTDIR)/LHAPDFDummy.obj
121 # If you link to LHAPDF you don't want the last line
122 # If you link to HepMC you also need HepMCInterface
123
124 LIBS : $(OUTDIR) $(LIBDIR) $(BINDIR) $(LIBLIB)
125
126 .PHONY: $(LIBS) all
127
128 all: $(LIBS)
129
130 "$(OUTDIR)" :
131     @if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
132
133 "$(LIBDIR)" :
134     @if not exist "$(LIBDIR)/$(NULL)" mkdir "$(LIBDIR)"
135
136 $(LIBLIB) : $(OBJS)
137     $(LD) $(LDFLAGS) $(LDOPT) @<<
138   $(OBJS)
139 <<
140
141 .SUFFIXES: .h .cc .obj
142
143 {$(INCDIR)}.h{$(OUTDIR)}.obj:
144     $(CXX) $(CXXFLAGS) $(EXTRAFLAGS) $(CXXOPT) /Fo"$(OUTDIR)/" -c $(SRCDIR)\$(@B).cc
145
146 {$(SRCDIR)}.cc{$(OUTDIR)}.obj:
147     $(CXX) $(CXXFLAGS) $(EXTRAFLAGS) $(CXXOPT) /Fo"$(OUTDIR)/" -c $<
148
149 {$(DUMDIR)}.cc{$(OUTDIR)}.obj:
150     $(CXX) $(CXXFLAGS) $(EXTRAFLAGS) $(CXXOPT) /Fo"$(OUTDIR)/" -c $<
151
152 clean:
153    -@erase /q /s *.obj >nul 2>&1
154    -@rmdir /q /s Debug >nul 2>&1
155    -@rmdir /q /s Release >nul 2>&1
156
157 distclean:      clean
158    -@erase /q "$(LIBDIR)\*.*" >nul 2>&1
159    -@rmdir /q /s lib >nul 2>&1
160
161