-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
89 lines (67 loc) · 3.1 KB
/
Makefile
File metadata and controls
89 lines (67 loc) · 3.1 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
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
CC = g++
CC_JERASURE = gcc
CFLAGS_NCFS = -g -Wall -pthread `pkg-config fuse --libs`
CFLAGS_OBJ = -g -Wall `pkg-config fuse --cflags`
CFLAGS_UTIL = -g -Wall
LIB = -lpthread
dir_src = src
dir_filesystem = $(dir_src)/filesystem
dir_config = $(dir_src)/config
dir_cache = $(dir_src)/cache
dir_coding = $(dir_src)/coding
dir_storage = $(dir_src)/storage
dir_utility= $(dir_src)/utility
dir_network = $(dir_src)/network
dir_gui = $(dir_src)/gui
dir_jerasure = $(dir_src)/jerasure
#dir_objs defines the directory of objects. objs defines object paths.
dir_objs = $(dir_filesystem) $(dir_cache) $(dir_coding) $(dir_storage) $(dir_gui) $(dir_network) $(dir_config) $(dir_utility)
objs = $(dir_filesystem)/ncfs.o $(dir_filesystem)/filesystem_utils.o $(dir_cache)/cache.o $(dir_storage)/storage.o $(dir_coding)/coding.o \
$(dir_network)/connection.o $(dir_network)/network.o $(dir_gui)/*.o $(dir_config)/*.o \
$(dir_jerasure)/reed_sol.o $(dir_jerasure)/cauchy.o $(dir_jerasure)/jerasure.o $(dir_jerasure)/galois.o
# #wds begin
# dir_objs := $(dir_objs) $(dir_coding)/test
# objs := $(objs) $(dir_coding)/test/testCoding.o
testCoding_objs = $(dir_utility)/testCoding.o $(dir_filesystem)/filesystem_utils.o $(dir_cache)/*.o $(dir_storage)/*.o \
$(dir_coding)/*.o $(dir_network)/*.o $(dir_gui)/*.o $(dir_config)/*.o \
$(dir_jerasure)/*.o
# #wds: end
repair_objs = $(dir_utility)/recovery.o $(dir_filesystem)/filesystem_utils.o $(dir_cache)/*.o $(dir_storage)/*.o \
$(dir_coding)/coding.o $(dir_network)/*.o $(dir_gui)/*.o $(dir_config)/*.o \
$(dir_jerasure)/*.o
ncfs: ${objs}
$(CC_JERASURE) -c $(dir_jerasure)/cauchy.c -o $(dir_jerasure)/cauchy.o $(CFLAGS_OBJ)
$(CC_JERASURE) -c $(dir_jerasure)/reed_sol.c -o $(dir_jerasure)/reed_sol.o $(CFLAGS_OBJ)
$(CC_JERASURE) -c $(dir_jerasure)/jerasure.c -o $(dir_jerasure)/jerasure.o $(CFLAGS_OBJ)
$(CC_JERASURE) -c $(dir_jerasure)/galois.c -o $(dir_jerasure)/galois.o $(CFLAGS_OBJ)
@echo "Compiling ncfs"
$(CC) -o ncfs $(objs) $(CFLAGS_NCFS)
$(objs):
@for i in $(dir_objs); do \
echo "Compiling in $$i"; \
(cd $$i; $(CC) -c *.cc $(CFLAGS_OBJ)); done
setup: $(dir_utility)/setup.c
$(CC) $(CFLAGS_UTIL) $(dir_utility)/setup.c -o setup
recover: $(dir_utility)/recovery.cc
$(CC) $(CFLAGS_UTIL) $(repair_objs) -o recover $(LIB)
testCoding: $(dir_utility)/testCoding.cc
# $(CC) $(CFLAGS_UTIL) -c $(dir_coding)/testCoding.cc -o $(dir_coding)/testCoding.o
$(CC) $(CFLAGS_UTIL) $(testCoding_objs) -o testCoding $(LIB)
#$(dir_coding)/test/testCoding.o: $(dir_coding)/test/testCoding.cc $(dir_coding)/test/testCoding.hh
# $(CC) -c $(dir_coding)/test/testCoding.cc -o $(dir_coding)/test/testCoding.o
remap: $(dir_utility)/remap.c
$(CC) $(CFLAG_UTIL) $(dir_utility)/remap.c -o remap
benchmark: $(dir_utility)/benchmark.c
$(CC) $(CFLAG_UTIL) $(dir_utility)/benchmark.c -o benchmark
clean:
@echo "Deleting ncfs"
rm -f ncfs *.o *~
@echo "Deleting recover"
rm -f recover
rm -f $(dir_utility)/recovery.o
@for i in $(objs); do \
echo "Deleting $$i"; \
(rm -f $$i); done
@echo "Deleting testCoding"
rm -f testCoding
rm -f $(dir_utility)/testCoding.o