194 lines
5.1 KiB
Text
194 lines
5.1 KiB
Text
#-----------------------------------------------------------------------
|
|
# 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"
|
|
|