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