-
Notifications
You must be signed in to change notification settings - Fork 746
Expand file tree
/
Copy pathMakefile
More file actions
99 lines (79 loc) · 1.69 KB
/
Makefile
File metadata and controls
99 lines (79 loc) · 1.69 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
90
91
92
93
94
95
96
97
98
99
LIBDIR := ../lib
LIB := $(LIBDIR)/libzdtmtst.a
LDLIBS += $(LIB)
CPPFLAGS += -I$(LIBDIR)
TST_NOFILE = \
ipc \
ptrace \
epoll \
fork \
fork2 \
thread-bomb \
maps007 \
maps008 \
pipe_loop00 \
pipe_shared00 \
socket_loop00 \
netlink00 \
file_aio \
socket-tcp \
socket-tcp6 \
shmem \
lazy-thp \
maps_newpage \
pid_reuse \
pidfd_store_sk \
rseq01 \
rseq02 \
stack \
TST_FILE = \
file_read \
unix_sock \
fifo_dyn \
fifo_loop \
TST = $(TST_NOFILE) $(TST_FILE)
SRC = $(TST:%=%.c)
OBJ = $(SRC:%.c=%.o)
DEP = $(SRC:%.c=%.d)
PID = $(TST:%=%.pid)
OUT = $(TST:%=%.out)
include ../Makefile.inc
all: $(TST)
install: all
.PHONY: all install
$(TST_NOFILE:%=%.pid): %.pid: %
$(<D)/$(<F) --pidfile=$@ --outfile=$<.out
$(TST_FILE:%=%.pid): %.pid: %
$(<D)/$(<F) --pidfile=$@ --outfile=$<.out --filename=$<.test
%.out: %.pid %
-kill -TERM `cat $<`
start: $(PID)
%.is_running: %.pid
kill -0 `cat $<`
check_start: $(PID:%.pid=%.is_running)
stop:
-kill -TERM `awk '{print}' *.pid`
WAIT_TIME=10
wait_stop:
-for i in `seq 1 $(WAIT_TIME)`; do \
kill -0 `awk '{print}' *.pid 2>/dev/null` 2>/dev/null || break; \
sleep 1; \
done
$(TST): | $(LIB)
file_aio: LDLIBS += -lrt -pthread
socket-tcp: CFLAGS += -D STREAM
socket-tcp6: CFLAGS += -D ZDTM_IPV6 -D STREAM
ptrace.o: CFLAGS += -pthread
ptrace: LDFLAGS += -pthread
fork2: CFLAGS += -D FORK2
thread-bomb.o: CFLAGS += -pthread
thread-bomb: LDFLAGS += -pthread
rseq01: LDLIBS += -pthread
rseq02: CFLAGS += -D NORESTART
rseq02: LDLIBS += -pthread
%: %.sh
cp $< $@
chmod +x $@
$(LIB): force
$(Q) $(MAKE) -C $(LIBDIR)
.PHONY: force start check_start stop wait_stop