Statistics
| Branch: | Revision:

root / rgbdslam / gicp / ann_1.1.1 / Make-config @ 9240aaa3

History | View | Annotate | Download (5.08 KB)

1
#-----------------------------------------------------------------------
2
# Makefile variations depending on different configurations
3
#
4
# ANN: Approximate Nearest Neighbors
5
# Version: 1.1 05/03/05
6
#
7
# (This Make-config structure is based on the one used by Mesa by Brian
8
# Paul.  If you succeed in porting ANN to your favorite system, please
9
# send email to mount@cs.umd.edu, and I'll try to include it in this
10
# list.)
11
#
12
#----------------------------------------------------------------------
13
# The following configuration-dependent variables are passed to each
14
# the Makefile in subdirectories:
15
#
16
# ANNLIB	The name of the ANN library file (usually libANN.a)
17
# C++		The C compiler (usually CC or g++)
18
# MAKELIB	The command and flags to make a library file (usually
19
#			"ar ...")
20
# CFLAGS	Flags to C++ compiler
21
# RANLIB	For "ranlib" = use ranlib, "true" = don't use ranlib
22
#----------------------------------------------------------------------
23
# Revision 0.1  09/06/97
24
#	Initial release
25
# Revision 0.2  06/24/98
26
#	Minor changes to fix compilation errors on SGI systems.
27
# Revision 1.0  04/01/05
28
#	Modifications for alpha with cxx
29
#	Removed CFLAGS2 options (just write your own)
30
#	Removed -DUSING...  (Compilers are pretty consistent these days)
31
#	Added linux-g++ target
32
# Revision 1.1  05/03/05
33
#	Added macosx-g++ target
34
#-----------------------------------------------------------------------------
35

    
36
#-----------------------------------------------------------------------------
37
# Compilation options (add these, as desired, to the CFLAGS variable
38
# in the desired compilation target below).  For example,
39
#
40
#	"CFLAGS = -O3 -Wall -DANN_PERF"
41
#
42
#	-g			Debugging.
43
#	-O?			Run-time optimization.
44
#	-Wall		Be verbose about warnings.
45
#
46
#	-DANN_PERF	Enable performance evaluation. (This may slow execution
47
#				slightly.)
48
#
49
#	-DANN_NO_LIMITS_H
50
#				Use this if limits.h or float.h does not exist on your
51
#				system. (Also see include/ANN/ANN.h for other changes
52
#				needed.)
53
#
54
#	-DANN_NO_RANDOM
55
#				Use this option if srandom()/random() are not available
56
#				on your system. Pseudo-random number generation is used
57
#				in the utility program test/ann_test. The combination
58
#				srandom()/random() is considered the best pseudo-random
59
#				number generator, but is not available on all systems.
60
#				If they are not available on your system (for example,
61
#				Visual C++) then srand()/rand() will be used instead by
62
#				setting this parameter.
63
#
64
#	-DWIN32
65
#				This is used only for compilation under windows systems
66
#				(but instead of using this, use the various .vcproj
67
#				files in the MS_WIN32 directory).
68
#-----------------------------------------------------------------------------
69

    
70
#					Linux using g++
71
linux-g++:
72
	$(MAKE) targets \
73
	"ANNLIB = libANN.a" \
74
	"C++ = g++" \
75
	"CFLAGS = -O2 -g" \
76
	"MAKELIB = ar ruv" \
77
	"RANLIB = true"
78

    
79
#					Mac OS X using g++
80
macosx-g++:
81
	$(MAKE) targets \
82
	"ANNLIB = libANN.a" \
83
	"C++ = g++" \
84
	"CFLAGS = -O3" \
85
	"MAKELIB = libtool -static -o " \
86
	"RANLIB = true"
87

    
88
#					SunOS5
89
sunos5:
90
	$(MAKE) targets \
91
	"ANNLIB = libANN.a" \
92
	"C++ = CC" \
93
	"CFLAGS = -O" \
94
	"MAKELIB = ar ruv" \
95
	"RANLIB = true"
96

    
97
#					SunOS5 with shared libraries
98
sunos5-sl:
99
	$(MAKE) targets \
100
	"ANNLIB = libANN.a" \
101
	"C++ = CC" \
102
	"CFLAGS = -Kpic -O" \
103
	"MAKELIB = ld -G -o" \
104
	"RANLIB = true"
105

    
106
#					SunOS5 with g++
107
sunos5-g++:
108
	$(MAKE) targets \
109
	"ANNLIB = libANN.a" \
110
	"C++ = g++" \
111
	"CFLAGS = -O3" \
112
	"MAKELIB = ar ruv" \
113
	"RANLIB = true"
114

    
115
#					SunOS5 with g++ and shared libraries
116
sunos5-g++-sl:
117
	$(MAKE) targets \
118
	"ANNLIB = libANN.so" \
119
	"C++ = g++" \
120
	"CFLAGS = -fpic -O3" \
121
	"MAKELIB = ld -G -o" \
122
	"RANLIB = true"
123

    
124
#-----------------------------------------------------------------------
125
# Used for the author's testing and debugging only
126
#-----------------------------------------------------------------------
127

    
128
#					debugging version for authors
129
authors-debug:
130
	$(MAKE) targets \
131
	"ANNLIB = libANN.a" \
132
	"C++ = g++" \
133
	"CFLAGS = -g -DANN_PERF -Wall" \
134
	"MAKELIB = ar ruv" \
135
	"RANLIB = true"
136

    
137
#					performance testing version for authors
138
authors-perf:
139
	$(MAKE) targets \
140
	"ANNLIB = libANN.a" \
141
	"C++ = g++" \
142
	"CFLAGS = -O3 -DANN_PERF -Wall" \
143
	"MAKELIB = ar ruv" \
144
	"RANLIB = true"
145

    
146
#-----------------------------------------------------------------------
147
# Some older ones that I have not tested with the latest version.
148
#-----------------------------------------------------------------------
149

    
150
sgi:
151
	$(MAKE) targets \
152
	"ANNLIB = libANN.a" \
153
	"C++ = CC -ansi" \
154
	"CFLAGS = -O2" \
155
	"MAKELIB = ar ruv" \
156
	"RANLIB = true"
157

    
158
#					DEC Alpha with g++
159
alpha-g++:
160
	$(MAKE) targets \
161
	"ANNLIB = libANN.a" \
162
	"C++ = g++" \
163
	"CFLAGS = -O3" \
164
	"MAKELIB = ar ruv" \
165
	"RANLIB = ranlib"
166

    
167
#					SunOS4
168
sunos4:
169
	$(MAKE) targets \
170
	"ANNLIB = libANN.a" \
171
	"C++ = CC" \
172
	"CFLAGS = -O" \
173
	"MAKELIB = ar ruv" \
174
	"RANLIB = ranlib"
175

    
176
#					SunOS4 with g++
177
sunos4-g++:
178
	$(MAKE) targets \
179
	"ANNLIB = libANN.a" \
180
	"C++ = g++" \
181
	"CFLAGS = -O3" \
182
	"MAKELIB = ar ruv" \
183
	"RANLIB = ranlib"
184

    
185
#					SunOS4 with g++ and shared libraries
186
sunos4-g++-sl:
187
	$(MAKE) targets \
188
	"ANNLIB = libANN.so" \
189
	"C++ = g++" \
190
	"CC = g++" \
191
	"CFLAGS = -fPIC -O3" \
192
	"MAKELIB = ld -assert pure-text -o" \
193
	"RANLIB = true"
194