mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-04 01:48:54 +00:00
06613f3ac6
and algorithms for both exact and approximate nearest neighbor neighbor searching in arbitrarily high dimensions. WWW: http://www.cs.umd.edu/~mount/ANN/ PR: ports/145996 Submitted by: Tz-Huan Huang <tzhuan@csie.org>
150 lines
5.4 KiB
Plaintext
150 lines
5.4 KiB
Plaintext
--- Makefile.orig 2010-01-28 12:40:01.000000000 +0800
|
|
+++ Makefile 2010-04-23 20:57:18.091096908 +0800
|
|
@@ -1,115 +1,32 @@
|
|
-#-----------------------------------------------------------------------------
|
|
-# Top-level Makefile for ANN.
|
|
-#
|
|
-# ANN: Approximate Nearest Neighbors
|
|
-# Version: 1.1 05/03/05
|
|
-#-----------------------------------------------------------------------------
|
|
-# Copyright (c) 1997-2005 University of Maryland and Sunil Arya and
|
|
-# David Mount. All Rights Reserved.
|
|
-#
|
|
-# This software and related documentation is part of the Approximate
|
|
-# Nearest Neighbor Library (ANN). This software is provided under
|
|
-# the provisions of the Lesser GNU Public License (LGPL). See the
|
|
-# file ../ReadMe.txt for further information.
|
|
-#
|
|
-# The University of Maryland (U.M.) and the authors make no
|
|
-# representations about the suitability or fitness of this software for
|
|
-# any purpose. It is provided "as is" without express or implied
|
|
-# warranty.
|
|
-#-----------------------------------------------------------------------------
|
|
-# Revision 0.1 09/06/97
|
|
-# alpha release
|
|
-# Revision 0.2 06/26/98
|
|
-# Minor changes to fix compilation errors on SGI systems.
|
|
-# Revision 1.0 04/01/05
|
|
-# Initial release (finally!)
|
|
-# Added linux-g++ target
|
|
-# Revision 1.1 05/03/05
|
|
-# Added macosx-g++ target
|
|
-#-----------------------------------------------------------------------------
|
|
-
|
|
-#-----------------------------------------------------------------------------
|
|
-# default: list the options
|
|
-# The following legacy targets are also available.
|
|
-# make sunos4 for Sun with SunOS 4.x
|
|
-# make sunos4-g++ for Sun with SunOS 4.x and g++
|
|
-# make alpha-g++ for DEC Alpha and g++
|
|
-# The following targets are used for internal development only
|
|
-# make authors-debug author's debugging
|
|
-# make authors-perf author's performance evaluations
|
|
-# make distribution author's generation of distribution file
|
|
-#-----------------------------------------------------------------------------
|
|
-default:
|
|
- @echo "Enter one of the following:"
|
|
- @echo " make linux-g++ for Linux and g++"
|
|
- @echo " make macosx-g++ for Mac OS X and g++"
|
|
- @echo " make sunos5 for Sun with SunOS 5.x"
|
|
- @echo " make sunos5-sl for Sun with SunOS 5.x, make shared libs"
|
|
- @echo " make sunos5-g++ for Sun with SunOS 5.x and g++"
|
|
- @echo " make sunos5-g++-sl for Sun with SunOS 5.x, g++, make shared libs"
|
|
- @echo " make clean remove .o files"
|
|
- @echo " make realclean remove .o, library and executable files"
|
|
- @echo " "
|
|
- @echo "See file Makefile for other compilation options, such as disabling"
|
|
- @echo "performance measurement code."
|
|
-
|
|
-#-----------------------------------------------------------------------------
|
|
-# main make entry point
|
|
-#-----------------------------------------------------------------------------
|
|
-alpha-g++ macosx-g++ linux-g++ sgi sunos4 sunos4-g++ sunos5 sunos5-g++ sunos5-g++-sl authors-debug authors-perf:
|
|
- cd src ; $(MAKE) $@
|
|
- cd test ; $(MAKE) $@
|
|
- cd sample ; $(MAKE) $@
|
|
- cd ann2fig ; $(MAKE) $@
|
|
-
|
|
-#-----------------------------------------------------------------------------
|
|
-# Remove .o files and core files
|
|
-#-----------------------------------------------------------------------------
|
|
+CXXFLAGS+=-Iinclude -Isrc -fPIC
|
|
+LDFLAGS+=
|
|
+VPATH=src
|
|
+SRCS=ANN.cpp \
|
|
+ bd_fix_rad_search.cpp bd_pr_search.cpp bd_search.cpp bd_tree.cpp \
|
|
+ brute.cpp perf.cpp kd_tree.cpp kd_util.cpp \
|
|
+ kd_dump.cpp kd_fix_rad_search.cpp kd_pr_search.cpp kd_search.cpp kd_split.cpp
|
|
+OBJS=$(SRCS:.cpp=.o)
|
|
+LIBDIR=lib
|
|
+
|
|
+ANN_SO=libann.so
|
|
+ANN_A=libann.a
|
|
+ANN_SONAME=$(ANN_SO).0
|
|
+LIBANN_SO=$(LIBDIR)/$(ANN_SONAME)
|
|
+LIBANN_A=$(LIBDIR)/$(ANN_A)
|
|
+TARGETS=$(LIBANN_SO) $(LIBANN_A)
|
|
+
|
|
+all: $(TARGETS)
|
|
+
|
|
+install: all
|
|
+
|
|
+%.o: %.cpp
|
|
+ $(CXX) $(CXXFLAGS) -c $< -o $@
|
|
+
|
|
+$(LIBANN_SO): $(OBJS)
|
|
+ $(CXX) $^ -o $@ -shared -Wl,-soname,$(ANN_SONAME) $(LDFLAGS)
|
|
+
|
|
+$(LIBANN_A): $(OBJS)
|
|
+ $(AR) rcs $@ $^
|
|
+
|
|
clean:
|
|
- cd src ; $(MAKE) clean
|
|
- cd test ; $(MAKE) clean
|
|
- cd sample ; $(MAKE) clean
|
|
- cd ann2fig ; $(MAKE) clean
|
|
- cd doc ; $(MAKE) clean
|
|
- cd MS_Win32; $(MAKE) clean
|
|
- cd validate ; $(MAKE) clean
|
|
-
|
|
-#-----------------------------------------------------------------------------
|
|
-# Remove everthing that can be remade
|
|
-#-----------------------------------------------------------------------------
|
|
-realclean:
|
|
- -rm -f lib/*
|
|
- -rm -f bin/*
|
|
- cd src ; $(MAKE) realclean
|
|
- cd test ; $(MAKE) realclean
|
|
- cd sample ; $(MAKE) realclean
|
|
- cd ann2fig ; $(MAKE) realclean
|
|
- cd doc ; $(MAKE) realclean
|
|
- cd MS_Win32; $(MAKE) realclean
|
|
- cd validate ; $(MAKE) realclean
|
|
-
|
|
-#-----------------------------------------------------------------------------
|
|
-# Make distribution package (for use by authors only)
|
|
-#-----------------------------------------------------------------------------
|
|
-DISTR = ann_1.1.2
|
|
-
|
|
-distribution: realclean
|
|
- cd .. ; mv -f $(DISTR) $(DISTR)-old; mkdir $(DISTR)
|
|
- cp Copyright.txt ../$(DISTR)
|
|
- cp License.txt ../$(DISTR)
|
|
- cp Make-config ../$(DISTR)
|
|
- cp Makefile ../$(DISTR)
|
|
- cp ReadMe.txt ../$(DISTR)
|
|
- cp -r MS_Win32 ../$(DISTR)
|
|
-# cd ..; mv -f $(DISTR)_MS_Win32_bin $(DISTR)_MS_Win32_bin-old
|
|
- cp -r MS_Win32_bin ../$(DISTR)_MS_Win32_bin
|
|
- cp -r bin ../$(DISTR)
|
|
- cp -r include ../$(DISTR)
|
|
- cp -r lib ../$(DISTR)
|
|
- cp -r src ../$(DISTR)
|
|
- cp -r test ../$(DISTR)
|
|
- cp -r sample ../$(DISTR)
|
|
- cp -r ann2fig ../$(DISTR)
|
|
- cd ../$(DISTR); mkdir doc
|
|
- cp doc/*.pdf ../$(DISTR)/doc
|
|
-# cd .. ; tar -cfv $(DISTR).tar $(DISTR) ; gzip $(DISTR).tar
|
|
+ rm -f $(TARGETS) $(OBJS)
|