1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
|
# fastjet/Makefile
# set this to "yes" if you have the CGAL library installed and want
# to have the N ln N clustering option. In this case you should make
# sure that the CGAL_MAKEFILE environment variable is defined and points
# to the CGAL Makefile (which defines various flags)
# of the CGAL_DIRECTORY to know how to find the headers and lib.
# (see below)
#USE_CGAL = yes
USE_CGAL = no
# CGAL is based on a kernel for representing numbers -- setting
# USE_CGAL_SIMPLE_KERNEL to yes causes compilation to use a simpler
# kernel, which is about 20% faster, but may not be as robust.
USE_CGAL_SIMPLE_KERNEL = no
# uncomment this to remove all assertions (mainly from CGAL) -- this
# increaes the speed by about 10% (but leaves out many safety checks
# that are useful if you plan on doing anything "unusual")
#CXXFLAGS += -DNDEBUG
# this tells the example programs to search just for "XYZPlugin.hh"
# rather than "fastjet/XYZPlugin.hh"
# WAS USED ONLY DURING DEVEL
#CXXFLAGS += -DPLUGINS_NOT_IN_FASTJET
# when uncommented, keeps debugging information in object file
# (negligble impact on speed \sim 1%)
CXXFLAGS += -g
CXXPEDANTIC = -pedantic -ansi -Wno-long-long -Wimplicit -Wreturn-type -Wunused -Wparentheses
# use the folowing 2 lines if you want CGAL flags to be obtained
# from a Makefile
CGAL_MAKEFILE = /usr/share/cgal/cgal.mk
CGAL_DIRECTORY =
# use the folowing 2 lines if you want CGAL flags to be obtained
# from the given directory
# Note: if you don't specify a dir, a default location is assumed
## CGAL_MAKEFILE =
## CGAL_DIRECTORY = /usr/local
# flags that will be needed for linking from examples/
LDFLAGS+=-L../lib -lfastjet
# if you compile the pxcone plugin, you will need a fortran compiler
# you will also need to manually edit include/fastjet/config.h (or
# src/genconfig.sh) to reflect the existence of pxcone.
FC = g77
FFLAGS = -O3
# for linking C++ with fortran, you must specify where to find
# the relevant fortan libraries; in the example below, G77LIBDIR is
# an environment variable that has been set by the user previously.
# It points to the directory which contains libg2c.a
# alternatively, try uncommenting the line below
#G77LIBDIR = $(shell dirname `locate libg2c.a | head -1`)
#F77LIB = -L$(G77LIBDIR) -lg2c
F77LIB = $(G77LIBDIR)/libg2c.a
# Things needed when compiling with ktjet -- adjust to correspond
# to your own setup (remember to "make double" the KtJet library)
KTJET_INCLUDE = -DKTDOUBLEPRECISION -I../../ktjet -I../../clhep/include
KTJET_LIBRARY = -L../../ktjet/lib -lKtEvent -L../../clhep/lib -lCLHEP -lm
#--------------------------------------------------------------------
# other config stuff
cppExtension := .cc # File extension of source files
CPPFLAGS += # List flags to pass to C/C++ preprocessor
CXXFLAGS += -O3 -Wall # List flags to pass to C++ compiler
LDFLAGS += # List flags to pass to linker
LDLIBS += # List additional system libraries to link with
ifeq ($(USE_CGAL),no)
# this directs the code to drop the parts that depend on CGAL
INCLUDE += -DDROP_CGAL
else
ifneq ($(CGAL_MAKEFILE),)
#---------------------------------------------------------------------#
# stuff to get CGAL working
#
#****
# the following line includes the CGAL_MAKEFILE which defines
# various flags needed for linking and compiling with CGAL
# $CGAL_MAKEFILE is an environment variable which you should
# set to the location of that Makefile, as indicated
# at the end of the CGAL installation process.
include $(CGAL_MAKEFILE)
# CGAL flags are usually held in variables with CGAL-specific names;
# copy those flags into variables with standard names
CXXFLAGS += $(CGAL_CXXFLAGS) $(LONG_NAME_PROBLEM_CXXFLAGS)
#INCLUDE += -I$(CGAL_INCL_DIR)
LIBPATH += $(CGAL_LIBPATH)
LDFLAGS += $(LONG_NAME_PROBLEM_LDFLAGS) $(CGAL_LDFLAGS)
CXX = $(CGAL_CXX) #NB auto makefile stuff will fail without g++
ifeq ($(USE_CGAL_SIMPLE_KERNEL),yes)
INCLUDE += -DCGAL_SIMPLE_KERNEL
endif
else
ifneq ($(CGAL_DIRECTORY),)
INCLUDE += -I$(CGAL_DIRECTORY)/include
LDFLAGS += -L$(CGAL_DIRECTORY)/lib
endif
CXXFLAGS += -frounding-math
LDFLAGS += -lm -lCGAL
endif
endif
%.o: %.cc
$(CXX) $(CXXFLAGS) $(INCLUDE) -c $<
# will the following work???!!!
#lib:
# echo hello
# cd src; make; cd ..
|