You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

195 lines
5.1 KiB
Plaintext

#-----------------------------------------------------------------------
# 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"