-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
50 lines (40 loc) · 1.03 KB
/
Makefile
File metadata and controls
50 lines (40 loc) · 1.03 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
CC = cc
CFLAGS = -O2 -Wall -Winline -D_GNU_SOURCE
AR = ar
LIBS =
#
# For debugging, uncomment the next one
#
# CFLAGS += -O0 -DDEBUG -g3 -gdwarf-2
PROGRAMS = thru
LIB_H = cmd.h compiler.h core.h vsock.h xrandom.h xtime.h
LIB_OBJS = core.o fifo.o tcp.o udp.o vsock.o \
fifo_listen.o tcp_listen.o udp_listen.o vsock_listen.o
LIB_FILE = libthru.a
#
# Pretty print
#
V = @
Q = $(V:1=)
QUIET_CC = $(Q:@=@echo ' CC '$@;)
QUIET_AR = $(Q:@=@echo ' AR '$@;)
QUIET_GEN = $(Q:@=@echo ' GEN '$@;)
QUIET_LINK = $(Q:@=@echo ' LINK '$@;)
all: $(PROGRAMS)
thru: thru.o $(LIB_FILE)
$(QUIET_LINK)$(CC) $(LDFLAGS) -o $@ $< $(LIB_FILE) $(LIBS)
thru.o: $(LIB_H)
fifo.o: $(LIB_H)
fifo_listen.o: $(LIB_H)
tcp.o: $(LIB_H)
tcp_listen.o: $(LIB_H)
udp.o: $(LIB_H)
udp_listen.o: $(LIB_H)
vsock.o: $(LIB_H)
vsock_listen.o: $(LIB_H)
$(LIB_FILE): $(LIB_OBJS)
$(QUIET_AR)$(AR) rcs $@ $(LIB_OBJS)
.c.o:
$(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) $<
clean:
rm -f *.[oa] *.so $(PROGRAMS) $(LIB_FILE)