[1] | 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 | |
---|