############################################################################# # # # Makefile to compile and link FORTRAN programs # # # # "make" compiles and links the specified main programs and modules, # # using the specified libraries (if any), and produces the executables # # # # "make clean" removes all files generated by "make" # # # ############################################################################# all: rmxeq mkxeq .PHONY: all # main programs to be compiled MAIN = Tabulation DISObservables # List of the modules to include MODULES = dummy WelcomeMessage initParameters initGrid initGridAlpha \ initIntegralsQCD initIntegralsQCDRes initIntegralsQED \ initIntegralsMatching initPDFs InitializeAPFEL EvolveAPFEL \ DeriveAPFEL initHELL TruncatedEvolveAPFEL ExponentiatedEvolveAPFEL \ ReportParameters CheckAPFEL ComputeHeavyQuarkThresholds \ CachePDFsAPFEL \ SetAlphaQCDRef SetAlphaQEDRef SetQLimits \ SetPerturbativeOrder SetFFNS SetGridParameters SetExternalGrid \ SetMSbarMasses SetNumberOfGrids SetPDFSet SetPoleMasses \ SetRenFacRatio SetTheory SetVFNS SetMaxFlavourPDFs \ SetMaxFlavourAlpha SetReplica AlphaQCD AlphaQED HeavyQuarkMass \ LHAPDFgrid CleanUp EnableWelcomeMessage EnableEvolutionOperator \ ExternalEvolutionOperator LockGrids SetTimeLikeEvolution SetAlphaEvolution \ SetLambdaQCDRef SetPDFEvolution LHAPDFgridDerivative \ SetSmallxResummation SetFastEvolution EnableMassRunning ListFunctions \ GetPerturbativeOrder SetTauMass EnableLeptonEvolution SetLHgridParameters \ SetEpsilonTruncation GetMuF SetPolarizedEvolution SetMassMatchingScales \ SetMassScaleReference SetQGridParameters GetThreshold EnableNLOQEDCorrections \ interpolants \ SplittingFunctions \ a_QCD a_QED MSbarmass lambda \ EvolutionQCD EvolutionOperatorsQCD IdentityOperatorsQCD \ EqualOperatorsQCDnf integrandsQCD integralsQCD RSLintegralsQCD \ odeintnsQCD odeintsgQCD MatchingConditions integrandsMatching \ integralsMatching RSLintegralsMatching MatchPDFs JoinOperatorsQCD \ EvolutionUnified EvolutionOperatorsUnified IdentityOperatorsUnified \ EqualOperatorsUnifiednf EvolveUni odeintnsUnified odeintsgUnified \ DerivativeOperatorsQCD odeintnsQCDf odeintsgQCDf odeintnsUnifiedf \ odeintsgUnifiedf integrandsQED integralsQED RSLintegralsQED \ PDFphys2evQCD PDFevQCD2phys EvolvePDFs EvolveQCD toyLHPDFs \ xPDF xgamma NPDF Ngamma LUMI JoinGrids \ PDFevUni2evQCD PDFevQCD2evUni PDFevUni2phys PDFphys2evUni \ dxPDF dxgamma DeriveQCD DerivePDFs xGrid \ nIntervals xLepton xPDFxQ \ dgauss wgplg ddilog gamma beta hplog \ InitializeAPFEL_DIS initParametersDIS SetMassScheme initIntegralsDIS \ ZeroMassCoefficientFunctions RSLintegralsDIS ComputeStructureFunctionsAPFEL F2total \ F2light F2charm F2bottom F2top FLtotal FLlight FLcharm \ FLbottom FLtop F3total F3light F3charm F3bottom F3top \ integrandsDIS SetProcessDIS ComputeChargesDIS SetPolarizationDIS SetProjectileDIS \ SetTargetDIS MassiveCoefficientFunctions MassiveZeroCoefficientFunctions ComputeDISOperators \ ConvolutePDFsWithDISOperators JoinDISOperators ConvoluteEvolutionWithDISOperators \ ExternalDISOperator SetCKM SetGFermi SetProtonMass SetSin2ThetaW \ SetWMass SetZMass FKSimulator SetFKObservable GetFKObservable FKObservables \ EnableTargetMassCorrections GetCKM GetGFermi GetProtonMass GetSin2ThetaW \ GetWMass GetZMass RSLintegralsSIA integrandsSIA initIntegralsSIA SelectCharge \ SetRenQRatio SetFacQRatio GetSIATotalCrossSection IncludeScaleVariation \ ExcludeScaleVariation ReportParametersDIS EnableDampingFONLL SetPropagatorCorrection \ SetEWCouplings EnableDynamicalScaleVariations EnableIntrinsicCharm IncludeIntrinsicCharm \ integrandsIC CacheStructureFunctionsAPFEL StructureFunctionxQ SetDampingPowerFONLL \ hqcoef initIntegralsDISRes # Path with all the directories where modules should be searched by the Makefile MDIR = ../src VPATH = .:$(MDIR)/Evolution:$(MDIR)/DIS:$(MDIR)/core:../examples ############################## do not change ############################# SHELL=/bin/bash FF=gfortran FFLAGS = -O3 -Wunused -mcmodel=medium -pg FLINKER=$(FF) PGMS= $(MAIN) $(MODULES) -include $(addsuffix .d,$(PGMS)) # rule to compile source programs $(addsuffix .o,$(PGMS)): %.o: %.f Makefile $(FF) $< -c $(FFLAGS) # rule to link object files $(MAIN): %: %.o $(addsuffix .o,$(MODULES)) Makefile @ $(FLINKER) $< $(addsuffix .o,$(MODULES)) $(FFLAGS) -o $@ # produce executables mkxeq: $(MAIN) # remove old executables rmxeq: @ -rm -f $(MAIN); \ echo "delete old executables" # clean directory clean: @ -rm -rf *.o *~ gmon.out $(MAIN) .PHONY: clean ############################################################################