125 lines
4.8 KiB
Makefile
125 lines
4.8 KiB
Makefile
|
#-----------------------------------------------------------------------------
|
||
|
# 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
|
||
|
#-----------------------------------------------------------------------------
|
||
|
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
|
||
|
|
||
|
#-----------------------------------------------------------------------------
|
||
|
# Install (Deyuan Qiu)
|
||
|
#-----------------------------------------------------------------------------
|
||
|
install:
|
||
|
cp lib/*.a /usr/local/lib/ANN
|
||
|
cp include/ANN/*.h /usr/local/include/ANN
|
||
|
cp src/kd_tree.h /usr/local/include/ANN
|
||
|
|
||
|
|
||
|
#-----------------------------------------------------------------------------
|
||
|
# Make distribution package (for use by authors only)
|
||
|
#-----------------------------------------------------------------------------
|
||
|
DISTR = ann_1.1.1
|
||
|
|
||
|
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
|