-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
42 lines (29 loc) · 726 Bytes
/
Makefile
File metadata and controls
42 lines (29 loc) · 726 Bytes
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
CC = g++
#CC = clang++
TARGET = rcu_bench
SOURCES = rcu_bench1.cpp
ifeq ($(MAKECMDGOALS),liburcu)
SOURCES = rcu_bench2.cpp
endif
INCLUDE = -I./
CPPFLAGS += -g -D_REENTRANT
CPPFLAGS += -O2 -std=c++17 -Wall -Wextra -Wfloat-equal -m64
OBJECTS := $(SOURCES:.cpp=.o)
DEPENDS := $(SOURCES:.cpp=.d)
ifeq ($(MAKECMDGOALS),liburcu)
LDFLAGS += -lurcu-mb -lurcu
endif
LDFLAGS += -lrt -lpthread
all: $(DEPENDS) $(OBJECTS)
rm -rf core.*
$(CC) -o $(TARGET) $(OBJECTS) $(CPPFLAGS) $(LDFLAGS)
clean:
rm -rf $(TARGET) rcu_bench?.o
.c.o: $(.cpp.o)
.cpp.o:
$(CC) $(INCLUDE) $(CPPFLAGS) -c $< -o $@
%d:%cpp
$(CC) $(INCLUDE) $(CPPFLAGS) -MM -MP -MT "$(@:.d=.o) $@" -MF $@ $<
.PHONY: all
liburcu: all
-include $(DEPENDS)