-
Notifications
You must be signed in to change notification settings - Fork 12
/
makefile.static
121 lines (100 loc) · 4.32 KB
/
makefile.static
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 ..