-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmakefile
More file actions
64 lines (48 loc) · 1.42 KB
/
Copy pathmakefile
File metadata and controls
64 lines (48 loc) · 1.42 KB
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
#GXX=/usr/local/bin/g++-4.8
GXX=/usr/bin/g++
CPPFLAGS=-std=c++11 -g
SRC=src
BUILD=build
BIN=bin
TEST=test
CORE_DIR=core
INC=-I include/$(CORE_DIR)
BUILD_KDTREE_DIR=build_kdtree
QUERY_KDTREE_DIR=query_kdtree
BUILD_KDTREE=$(BIN)/build_kdtree.out
QUERY_KDTREE=$(BIN)/query_kdtree.out
TESTS=\
$(BIN)/point.t.out \
$(BIN)/kdtree.t.out \
$(BIN)/kdtree_static.t.out
CORE_OBJS=
BUILD_KDTREE_OBJS=$(BUILD)/$(BUILD_KDTREE_DIR)/build_kdtree.o
QUERY_KDTREE_OBJS=$(BUILD)/$(QUERY_KDTREE_DIR)/query_kdtree.o
.SECONDARY: $(TEST_OBJS)
TEST_OBJS=\
$(BUILD)/$(TEST)/point.t.o \
$(BUILD)/$(TEST)/kdtree.t.o \
$(BUILD)/$(TEST)/kdtree_static.t.o
all: $(BUILD_KDTREE) $(QUERY_KDTREE) $(TESTS)
$(BUILD_KDTREE): $(CORE_OBJS) $(BUILD_KDTREE_OBJS)
mkdir -p $(BIN)
$(GXX) $(CPPFLAGS) -o $@ $^
$(QUERY_KDTREE): $(CORE_OBJS) $(QUERY_KDTREE_OBJS)
mkdir -p $(BIN)
$(GXX) $(CPPFLAGS) -o $@ $^
$(BIN)/%.t.out: $(CORE_OBJS) $(BUILD)/$(TEST)/%.t.o
mkdir -p $(BIN)
$(GXX) $(CPPFLAGS) -o $@ $^
$(BUILD)/$(BUILD_KDTREE_DIR)/%.o: $(SRC)/$(BUILD_KDTREE_DIR)/%.cpp
mkdir -p $(BUILD)/$(BUILD_KDTREE_DIR)
$(GXX) $(CPPFLAGS) $(INC) -o $@ -c $<
$(BUILD)/$(QUERY_KDTREE_DIR)/%.o: $(SRC)/$(QUERY_KDTREE_DIR)/%.cpp
mkdir -p $(BUILD)/$(QUERY_KDTREE_DIR)
$(GXX) $(CPPFLAGS) $(INC) -o $@ -c $<
$(BUILD)/$(TEST)/%.o: $(TEST)/core/%.cpp
mkdir -p $(BUILD)/$(TEST)
$(GXX) $(CPPFLAGS) $(INC) -o $@ -c $<
clean:
rm -rf $(BUILD)/*
rm -f $(BIN)/*
.PHONY: clean