-
Notifications
You must be signed in to change notification settings - Fork 400
/
Makefile
121 lines (92 loc) · 3.78 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#-----------------------------------------------------------------------------
# Makefile for ANN library
#----------------------------------------------------------------------
# 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.
#----------------------------------------------------------------------
# History:
# Revision 0.1 03/04/98
# Initial release
# Revision 1.0 04/01/05
# Renamed files from .cc to .cpp for Microsoft Visual C++
# Added kd_dump.cpp
# Revision 1.1 05/03/05
# Added kd_fix_rad_search.cpp and bd_fix_rad_search.cpp
#----------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Some basic definitions:
# BASEDIR where include, src, lib, ... are
# INCLIB include directory
# LIBLIB library directory
#-----------------------------------------------------------------------------
BASEDIR = ..
INCDIR = $(BASEDIR)/include
LIBDIR = $(BASEDIR)/lib
SOURCES = ANN.cpp brute.cpp kd_tree.cpp kd_util.cpp kd_split.cpp \
kd_dump.cpp kd_search.cpp kd_pr_search.cpp kd_fix_rad_search.cpp \
bd_tree.cpp bd_search.cpp bd_pr_search.cpp bd_fix_rad_search.cpp \
perf.cpp
HEADERS = kd_tree.h kd_split.h kd_util.h kd_search.h \
kd_pr_search.h kd_fix_rad_search.h perf.h pr_queue.h pr_queue_k.h
OBJECTS = $(SOURCES:.cpp=.o)
#-----------------------------------------------------------------------------
# Make the library
#-----------------------------------------------------------------------------
default:
@echo "Specify a target configuration"
targets: $(LIBDIR)/$(ANNLIB)
$(LIBDIR)/$(ANNLIB): $(OBJECTS)
$(MAKELIB) $(ANNLIB) $(OBJECTS)
$(RANLIB) $(ANNLIB)
mv $(ANNLIB) $(LIBDIR)
#-----------------------------------------------------------------------------
# Make object files
#-----------------------------------------------------------------------------
ANN.o: ANN.cpp
$(C++) -c -I$(INCDIR) $(CFLAGS) ANN.cpp
brute.o: brute.cpp
$(C++) -c -I$(INCDIR) $(CFLAGS) brute.cpp
kd_tree.o: kd_tree.cpp
$(C++) -c -I$(INCDIR) $(CFLAGS) kd_tree.cpp
kd_util.o: kd_util.cpp
$(C++) -c -I$(INCDIR) $(CFLAGS) kd_util.cpp
kd_split.o: kd_split.cpp
$(C++) -c -I$(INCDIR) $(CFLAGS) kd_split.cpp
kd_search.o: kd_search.cpp
$(C++) -c -I$(INCDIR) $(CFLAGS) kd_search.cpp
kd_pr_search.o: kd_pr_search.cpp
$(C++) -c -I$(INCDIR) $(CFLAGS) kd_pr_search.cpp
kd_fix_rad_search.o: kd_fix_rad_search.cpp
$(C++) -c -I$(INCDIR) $(CFLAGS) kd_fix_rad_search.cpp
kd_dump.o: kd_dump.cpp
$(C++) -c -I$(INCDIR) $(CFLAGS) kd_dump.cpp
bd_tree.o: bd_tree.cpp
$(C++) -c -I$(INCDIR) $(CFLAGS) bd_tree.cpp
bd_search.o: bd_search.cpp
$(C++) -c -I$(INCDIR) $(CFLAGS) bd_search.cpp
bd_pr_search.o: bd_pr_search.cpp
$(C++) -c -I$(INCDIR) $(CFLAGS) bd_pr_search.cpp
bd_fix_rad_search.o: bd_fix_rad_search.cpp
$(C++) -c -I$(INCDIR) $(CFLAGS) bd_fix_rad_search.cpp
perf.o: perf.cpp
$(C++) -c -I$(INCDIR) $(CFLAGS) perf.cpp
#-----------------------------------------------------------------------------
# Configuration definitions
#-----------------------------------------------------------------------------
include ../Make-config
#-----------------------------------------------------------------------------
# Cleaning
#-----------------------------------------------------------------------------
clean:
-rm -f *.o core
realclean: clean