-
Notifications
You must be signed in to change notification settings - Fork 11
/
Makefile
117 lines (90 loc) · 4.34 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
DIRS=liblock/ memcached/memcached-1.4.6-ffwd/ memcached/memcached-1.4.6-patched/ memcached/libmemcached-1.0.2/ \
splash2/splash2-ffwd/codes/apps/raytrace splash2/splash2-ffwd/codes/apps/radiosity phoenix/phoenix-ffwd micro-benchmarks/versioning/ micro-benchmarks/skiplist/ micro-benchmarks/skiplist/
.PHONY: liblock memcached splash2 phoenix
all: create_bin liblock microbenchmarks memcached splash2 phoenix
liblock:
@echo "Compiling RCL's liblock library"
$(MAKE) -C liblock/
microbenchmarks: fetch-n-add simplelist lazylist hashtable skiplist versioning
@echo "Compiling Micro-Benchmarks"
fetch-n-add: liblock
@echo "Compiling fetch-n-add with multiple shared variables"
$(MAKE) -C micro-benchmarks/fetch-n-add/ -f Makefile.ffwd
$(MAKE) -C micro-benchmarks/fetch-n-add/ -f Makefile.ssync
$(MAKE) -C micro-benchmarks/fetch-n-add/ -f Makefile.liblock
cp micro-benchmarks/fetch-n-add/bin/*-shared-vars bin/
simplelist: liblock
@echo "Compiling Simple Linked Lists"
$(MAKE) -C micro-benchmarks/simple-linkedlist/ -f Makefile.ffwd
$(MAKE) -C micro-benchmarks/simple-linkedlist/ -f Makefile.ssync
cp micro-benchmarks/simple-linkedlist/bin/*-simplelist bin/
lazylist: liblock
@echo "Compiling Lazy Linked Lists"
$(MAKE) -C micro-benchmarks/lazy-linkedlist/ -f Makefile.ffwd
$(MAKE) -C micro-benchmarks/lazy-linkedlist/ -f Makefile.ssync
$(MAKE) -C micro-benchmarks/lazy-linkedlist/ -f Makefile.liblock
cp micro-benchmarks/lazy-linkedlist/bin/*-lazylist bin/
hashtable: liblock
@echo "Compiling Hash Tables"
$(MAKE) -C micro-benchmarks/hashtable/ -f Makefile.ffwd
$(MAKE) -C micro-benchmarks/hashtable/ -f Makefile.ssync
cp micro-benchmarks/hashtable/bin/*-hashtable bin/
skiplist:
@echo "Compiling skiplist"
$(MAKE) -C micro-benchmarks/skiplist/
versioning: liblock
@echo "Compiling versioning"
$(MAKE) -C micro-benchmarks/versioning/
memcached: memcached-ffwd memcached-liblock libmemcached
memcached-ffwd: liblock
@echo "Compiling memcached-ffwd"
$(MAKE) -C memcached/memcached-1.4.6-ffwd/
cp memcached/memcached-1.4.6-ffwd/memcached bin/ffwd-memcached
memcached-liblock: liblock
@echo "Compiling memcached-liblock"
$(MAKE) -C memcached/memcached-1.4.6-patched/
cp memcached/memcached-1.4.6-patched/memcached bin/liblock-memcached
libmemcached: liblock
@echo "Compiling libmemcached"
$(MAKE) -C memcached/libmemcached-1.0.2/
cp memcached/libmemcached-1.0.2/clients/memslap bin/memslap
splash2: splash2-ffwd splash2-liblock
splash2-ffwd: raytrace radiosity
phoenix: liblock
@echo "Compiling Phoenix"
$(MAKE) -C phoenix/phoenix-ffwd
raytrace: liblock
@echo "Compiling Splash2 Raytrace"
$(MAKE) -C splash2/splash2-ffwd/codes/apps/raytrace
cp splash2/splash2-ffwd/codes/apps/raytrace/RAYTRACE bin/ffwd-raytrace
radiosity: liblock
@echo "Compiling Splash2 Radiosity"
$(MAKE) -C splash2/splash2-ffwd/codes/apps/radiosity/glibdumb
$(MAKE) -C splash2/splash2-ffwd/codes/apps/radiosity/glibps
$(MAKE) -C splash2/splash2-ffwd/codes/apps/radiosity
cp splash2/splash2-ffwd/codes/apps/radiosity/RADIOSITY bin/ffwd-radiosity
splash2-liblock: liblock
@echo "Compiling Splash2-Liblock"
$(MAKE) rebuild-all SPLASH=splash2 BASEDIR=$(PWD)/splash2/splash2-liblock -C splash2/splash2-liblock/
cp splash2/splash2-liblock/splash2/codes/apps/raytrace/RAYTRACE bin/liblock-raytrace
cp splash2/splash2-liblock/splash2/codes/apps/radiosity/RADIOSITY bin/liblock-radiosity
create_bin:
mkdir -p bin
ffwd-clean: memcached-ffwd-clean splash2-ffwd-clean
memcached-ffwd-clean:
$(MAKE) clean memcached/memcached-1.4.6-ffwd/
splash2-ffwd-clean:
$(MAKE) clean splash2/splash2-ffwd/codes/apps/raytrace
$(MAKE) clean splash2/splash2-ffwd/codes/apps/radiosity
clean:
for d in $(DIRS); do (cd $$d; $(MAKE) clean ); done
$(MAKE) clean -C micro-benchmarks/fetch-n-add/ -f Makefile.ffwd
$(MAKE) clean -C micro-benchmarks/fetch-n-add/ -f Makefile.ssync
$(MAKE) clean -C micro-benchmarks/fetch-n-add/ -f Makefile.liblock
$(MAKE) clean -C micro-benchmarks/simple-linkedlist/ -f Makefile.ffwd
$(MAKE) clean -C micro-benchmarks/simple-linkedlist/ -f Makefile.ssync
$(MAKE) clean -C micro-benchmarks/lazy-linkedlist/ -f Makefile.ffwd
$(MAKE) clean -C micro-benchmarks/lazy-linkedlist/ -f Makefile.ssync
$(MAKE) clean -C micro-benchmarks/lazy-linkedlist/ -f Makefile.liblock
$(MAKE) clean -C micro-benchmarks/hashtable/ -f Makefile.ffwd
$(MAKE) clean -C micro-benchmarks/hashtable/ -f Makefile.ssync