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 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194
|
#-----------------------------------------------------------------------
# Makefile variations depending on different configurations
#
# ANN: Approximate Nearest Neighbors
# Version: 1.1 05/03/05
#
# (This Make-config structure is based on the one used by Mesa by Brian
# Paul. If you succeed in porting ANN to your favorite system, please
# send email to mount@cs.umd.edu, and I'll try to include it in this
# list.)
#
#----------------------------------------------------------------------
# The following configuration-dependent variables are passed to each
# the Makefile in subdirectories:
#
# ANNLIB The name of the ANN library file (usually libANN.a)
# C++ The C compiler (usually CC or g++)
# MAKELIB The command and flags to make a library file (usually
# "ar ...")
# CFLAGS Flags to C++ compiler
# RANLIB For "ranlib" = use ranlib, "true" = don't use ranlib
#----------------------------------------------------------------------
# Revision 0.1 09/06/97
# Initial release
# Revision 0.2 06/24/98
# Minor changes to fix compilation errors on SGI systems.
# Revision 1.0 04/01/05
# Modifications for alpha with cxx
# Removed CFLAGS2 options (just write your own)
# Removed -DUSING... (Compilers are pretty consistent these days)
# Added linux-g++ target
# Revision 1.1 05/03/05
# Added macosx-g++ target
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Compilation options (add these, as desired, to the CFLAGS variable
# in the desired compilation target below). For example,
#
# "CFLAGS = -O3 -Wall -DANN_PERF"
#
# -g Debugging.
# -O? Run-time optimization.
# -Wall Be verbose about warnings.
#
# -DANN_PERF Enable performance evaluation. (This may slow execution
# slightly.)
#
# -DANN_NO_LIMITS_H
# Use this if limits.h or float.h does not exist on your
# system. (Also see include/ANN/ANN.h for other changes
# needed.)
#
# -DANN_NO_RANDOM
# Use this option if srandom()/random() are not available
# on your system. Pseudo-random number generation is used
# in the utility program test/ann_test. The combination
# srandom()/random() is considered the best pseudo-random
# number generator, but is not available on all systems.
# If they are not available on your system (for example,
# Visual C++) then srand()/rand() will be used instead by
# setting this parameter.
#
# -DWIN32
# This is used only for compilation under windows systems
# (but instead of using this, use the various .vcproj
# files in the MS_WIN32 directory).
#-----------------------------------------------------------------------------
# Linux using g++
linux-g++:
$(MAKE) targets \
"ANNLIB = libANN.a" \
"C++ = g++" \
"CFLAGS = -O3" \
"MAKELIB = ar ruv" \
"RANLIB = true"
# Mac OS X using g++
macosx-g++:
$(MAKE) targets \
"ANNLIB = libANN.a" \
"C++ = g++" \
"CFLAGS = -O3" \
"MAKELIB = libtool -static -o " \
"RANLIB = true"
# SunOS5
sunos5:
$(MAKE) targets \
"ANNLIB = libANN.a" \
"C++ = CC" \
"CFLAGS = -O" \
"MAKELIB = ar ruv" \
"RANLIB = true"
# SunOS5 with shared libraries
sunos5-sl:
$(MAKE) targets \
"ANNLIB = libANN.a" \
"C++ = CC" \
"CFLAGS = -Kpic -O" \
"MAKELIB = ld -G -o" \
"RANLIB = true"
# SunOS5 with g++
sunos5-g++:
$(MAKE) targets \
"ANNLIB = libANN.a" \
"C++ = g++" \
"CFLAGS = -O3" \
"MAKELIB = ar ruv" \
"RANLIB = true"
# SunOS5 with g++ and shared libraries
sunos5-g++-sl:
$(MAKE) targets \
"ANNLIB = libANN.so" \
"C++ = g++" \
"CFLAGS = -fpic -O3" \
"MAKELIB = ld -G -o" \
"RANLIB = true"
#-----------------------------------------------------------------------
# Used for the author's testing and debugging only
#-----------------------------------------------------------------------
# debugging version for authors
authors-debug:
$(MAKE) targets \
"ANNLIB = libANN.a" \
"C++ = g++" \
"CFLAGS = -g -DANN_PERF -Wall" \
"MAKELIB = ar ruv" \
"RANLIB = true"
# performance testing version for authors
authors-perf:
$(MAKE) targets \
"ANNLIB = libANN.a" \
"C++ = g++" \
"CFLAGS = -O3 -DANN_PERF -Wall" \
"MAKELIB = ar ruv" \
"RANLIB = true"
#-----------------------------------------------------------------------
# Some older ones that I have not tested with the latest version.
#-----------------------------------------------------------------------
sgi:
$(MAKE) targets \
"ANNLIB = libANN.a" \
"C++ = CC -ansi" \
"CFLAGS = -O2" \
"MAKELIB = ar ruv" \
"RANLIB = true"
# DEC Alpha with g++
alpha-g++:
$(MAKE) targets \
"ANNLIB = libANN.a" \
"C++ = g++" \
"CFLAGS = -O3" \
"MAKELIB = ar ruv" \
"RANLIB = ranlib"
# SunOS4
sunos4:
$(MAKE) targets \
"ANNLIB = libANN.a" \
"C++ = CC" \
"CFLAGS = -O" \
"MAKELIB = ar ruv" \
"RANLIB = ranlib"
# SunOS4 with g++
sunos4-g++:
$(MAKE) targets \
"ANNLIB = libANN.a" \
"C++ = g++" \
"CFLAGS = -O3" \
"MAKELIB = ar ruv" \
"RANLIB = ranlib"
# SunOS4 with g++ and shared libraries
sunos4-g++-sl:
$(MAKE) targets \
"ANNLIB = libANN.so" \
"C++ = g++" \
"CC = g++" \
"CFLAGS = -fPIC -O3" \
"MAKELIB = ld -assert pure-text -o" \
"RANLIB = true"
|