[37] | 1 | #----------------------------------------------------------------------------- |
---|
| 2 | # Top-level Makefile for ANN. |
---|
| 3 | # |
---|
| 4 | # ANN: Approximate Nearest Neighbors |
---|
| 5 | # Version: 1.1 05/03/05 |
---|
| 6 | #----------------------------------------------------------------------------- |
---|
| 7 | # Copyright (c) 1997-2005 University of Maryland and Sunil Arya and |
---|
| 8 | # David Mount. All Rights Reserved. |
---|
| 9 | # |
---|
| 10 | # This software and related documentation is part of the Approximate |
---|
| 11 | # Nearest Neighbor Library (ANN). This software is provided under |
---|
| 12 | # the provisions of the Lesser GNU Public License (LGPL). See the |
---|
| 13 | # file ../ReadMe.txt for further information. |
---|
| 14 | # |
---|
| 15 | # The University of Maryland (U.M.) and the authors make no |
---|
| 16 | # representations about the suitability or fitness of this software for |
---|
| 17 | # any purpose. It is provided "as is" without express or implied |
---|
| 18 | # warranty. |
---|
| 19 | #----------------------------------------------------------------------------- |
---|
| 20 | # Revision 0.1 09/06/97 |
---|
| 21 | # alpha release |
---|
| 22 | # Revision 0.2 06/26/98 |
---|
| 23 | # Minor changes to fix compilation errors on SGI systems. |
---|
| 24 | # Revision 1.0 04/01/05 |
---|
| 25 | # Initial release (finally!) |
---|
| 26 | # Added linux-g++ target |
---|
| 27 | # Revision 1.1 05/03/05 |
---|
| 28 | # Added macosx-g++ target |
---|
| 29 | #----------------------------------------------------------------------------- |
---|
| 30 | |
---|
| 31 | #----------------------------------------------------------------------------- |
---|
| 32 | # default: list the options |
---|
| 33 | # The following legacy targets are also available. |
---|
| 34 | # make sunos4 for Sun with SunOS 4.x |
---|
| 35 | # make sunos4-g++ for Sun with SunOS 4.x and g++ |
---|
| 36 | # make alpha-g++ for DEC Alpha and g++ |
---|
| 37 | # The following targets are used for internal development only |
---|
| 38 | # make authors-debug author's debugging |
---|
| 39 | # make authors-perf author's performance evaluations |
---|
| 40 | # make distribution author's generation of distribution file |
---|
| 41 | #----------------------------------------------------------------------------- |
---|
| 42 | default: |
---|
| 43 | @echo "Enter one of the following:" |
---|
| 44 | @echo " make linux-g++ for Linux and g++" |
---|
| 45 | @echo " make macosx-g++ for Mac OS X and g++" |
---|
| 46 | @echo " make sunos5 for Sun with SunOS 5.x" |
---|
| 47 | @echo " make sunos5-sl for Sun with SunOS 5.x, make shared libs" |
---|
| 48 | @echo " make sunos5-g++ for Sun with SunOS 5.x and g++" |
---|
| 49 | @echo " make sunos5-g++-sl for Sun with SunOS 5.x, g++, make shared libs" |
---|
| 50 | @echo " make clean remove .o files" |
---|
| 51 | @echo " make realclean remove .o, library and executable files" |
---|
| 52 | @echo " " |
---|
| 53 | @echo "See file Makefile for other compilation options, such as disabling" |
---|
| 54 | @echo "performance measurement code." |
---|
| 55 | |
---|
| 56 | #----------------------------------------------------------------------------- |
---|
| 57 | # main make entry point |
---|
| 58 | #----------------------------------------------------------------------------- |
---|
| 59 | alpha-g++ macosx-g++ linux-g++ sgi sunos4 sunos4-g++ sunos5 sunos5-g++ sunos5-g++-sl authors-debug authors-perf: |
---|
| 60 | cd src ; $(MAKE) $@ |
---|
| 61 | cd test ; $(MAKE) $@ |
---|
| 62 | cd sample ; $(MAKE) $@ |
---|
| 63 | cd ann2fig ; $(MAKE) $@ |
---|
| 64 | |
---|
| 65 | #----------------------------------------------------------------------------- |
---|
| 66 | # Remove .o files and core files |
---|
| 67 | #----------------------------------------------------------------------------- |
---|
| 68 | clean: |
---|
| 69 | cd src ; $(MAKE) clean |
---|
| 70 | cd test ; $(MAKE) clean |
---|
| 71 | cd sample ; $(MAKE) clean |
---|
| 72 | cd ann2fig ; $(MAKE) clean |
---|
| 73 | cd doc ; $(MAKE) clean |
---|
| 74 | cd MS_Win32; $(MAKE) clean |
---|
| 75 | cd validate ; $(MAKE) clean |
---|
| 76 | |
---|
| 77 | #----------------------------------------------------------------------------- |
---|
| 78 | # Remove everthing that can be remade |
---|
| 79 | #----------------------------------------------------------------------------- |
---|
| 80 | realclean: |
---|
| 81 | -rm -f lib/* |
---|
| 82 | -rm -f bin/* |
---|
| 83 | cd src ; $(MAKE) realclean |
---|
| 84 | cd test ; $(MAKE) realclean |
---|
| 85 | cd sample ; $(MAKE) realclean |
---|
| 86 | cd ann2fig ; $(MAKE) realclean |
---|
| 87 | cd doc ; $(MAKE) realclean |
---|
| 88 | cd MS_Win32; $(MAKE) realclean |
---|
| 89 | cd validate ; $(MAKE) realclean |
---|
| 90 | |
---|
| 91 | #----------------------------------------------------------------------------- |
---|
| 92 | # Make distribution package (for use by authors only) |
---|
| 93 | #----------------------------------------------------------------------------- |
---|
| 94 | DISTR = ann_1.1.1 |
---|
| 95 | |
---|
| 96 | distribution: realclean |
---|
| 97 | cd .. ; mv -f $(DISTR) $(DISTR)-old; mkdir $(DISTR) |
---|
| 98 | cp Copyright.txt ../$(DISTR) |
---|
| 99 | cp License.txt ../$(DISTR) |
---|
| 100 | cp Make-config ../$(DISTR) |
---|
| 101 | cp Makefile ../$(DISTR) |
---|
| 102 | cp ReadMe.txt ../$(DISTR) |
---|
| 103 | cp -r MS_Win32 ../$(DISTR) |
---|
| 104 | # cd ..; mv -f $(DISTR)_MS_Win32_bin $(DISTR)_MS_Win32_bin-old |
---|
| 105 | cp -r MS_Win32_bin ../$(DISTR)_MS_Win32_bin |
---|
| 106 | cp -r bin ../$(DISTR) |
---|
| 107 | cp -r include ../$(DISTR) |
---|
| 108 | cp -r lib ../$(DISTR) |
---|
| 109 | cp -r src ../$(DISTR) |
---|
| 110 | cp -r test ../$(DISTR) |
---|
| 111 | cp -r sample ../$(DISTR) |
---|
| 112 | cp -r ann2fig ../$(DISTR) |
---|
| 113 | cd ../$(DISTR); mkdir doc |
---|
| 114 | cp doc/*.pdf ../$(DISTR)/doc |
---|
| 115 | # cd .. ; tar -cfv $(DISTR).tar $(DISTR) ; gzip $(DISTR).tar |
---|