-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMakefile
More file actions
executable file
·70 lines (51 loc) · 2.7 KB
/
Makefile
File metadata and controls
executable file
·70 lines (51 loc) · 2.7 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
CLI_SERVICE_SRC += service/clisrv.c
CLI_SERVICE_SRC += service/auth.c
CLI_SERVICE_SRC += util.c
CLI_CLIENT_SRC += client/cli_show.c
CLI_CLIENT_SRC += client/cli_help.c
CLI_CLIENT_SRC += client/clicli.c
CLI_CLIENT_SRC += util.c
CLI_LIBEV_SRC += libs/eventlib/libev.c
CLI_LIBNET_SRC += libs/netlib/libnet.c
CLI_LIBUTIL_SRC += libs/utils/utils.c
CLI_TEST_LIBEV += tests/server_tests.c
CLI_TEST_LIBNET_SRC += tests/netlib_tests.c
LIBEVCLI_LIB_NAME = libcliev.a
LIBNETCLI_LIB_NAME = libclinet.a
LIBUTIL_LIB_NAME = libcliutil.a
CLI_CLIENT_NAME = cli_client
CLI_SERVICE_NAME = cli_service
CLI_LIBEV_TESTER_NAME = cli_libev_test
CLI_LIBNET_TESTER_NAME = cli_netlib_test
CLI_CC = gcc
CLI_AR = ar
CLI_AR_ARGS = rcv
CLI_CFLAGS = -Wall -Werror -Wextra -Wshadow -Wno-unused-parameter -fprofile-arcs -ftest-coverage -coverage
CLI_INCL = -I. -Ilibs/eventlib/ -Ilibs/netlib/ -Iclient/ -Ilibs/utils/
CLI_SERVICE_OBJ = $(patsubst %.c, %.o, ${CLI_SERVICE_SRC})
CLI_CLIENT_OBJ = $(patsubst %.c, %.o, ${CLI_CLIENT_SRC})
CLI_LIBEV_OBJ = $(patsubst %.c, %.o, ${CLI_LIBEV_SRC})
CLI_LIBNET_OBJ = $(patsubst %.c, %.o, ${CLI_LIBNET_SRC})
CLI_LIBUTIL_OBJ = $(patsubst %.c, %.o, ${CLI_LIBUTIL_SRC})
CLI_LIBEV_TESTER_OBJ = $(patsubst %.c, %.o, ${CLI_TEST_LIBEV})
CLI_LIBNET_TESTER_OBJ = $(patsubst %.c, %.o, ${CLI_TEST_LIBNET_SRC})
CLI_LIBS+= -pthread -lrt -lm -pg -lgcov -coverage
all: $(LIBEVCLI_LIB_NAME) $(LIBNETCLI_LIB_NAME) $(LIBUTIL_LIB_NAME) $(CLI_CLIENT_NAME) $(CLI_SERVICE_NAME) $(CLI_LIBEV_TESTER_NAME) $(CLI_LIBNET_TESTER_NAME)
$(LIBEVCLI_LIB_NAME): $(CLI_LIBEV_OBJ)
${CLI_AR} $(CLI_AR_ARGS) $(LIBEVCLI_LIB_NAME) $(CLI_LIBEV_OBJ)
$(LIBNETCLI_LIB_NAME): $(CLI_LIBNET_OBJ)
${CLI_AR} $(CLI_AR_ARGS) $(LIBNETCLI_LIB_NAME) $(CLI_LIBNET_OBJ)
$(LIBUTIL_LIB_NAME): $(CLI_LIBUTIL_OBJ)
${CLI_AR} $(CLI_AR_ARGS) $(LIBUTIL_LIB_NAME) $(CLI_LIBUTIL_OBJ)
$(CLI_CLIENT_NAME): $(CLI_CLIENT_OBJ)
${CLI_CC} -g $(CLI_CLIENT_OBJ) -o $(CLI_CLIENT_NAME) $(LIBEVCLI_LIB_NAME) $(CLI_LIBS)
$(CLI_SERVICE_NAME): $(CLI_SERVICE_OBJ)
${CLI_CC} -g $(CLI_SERVICE_OBJ) -o $(CLI_SERVICE_NAME) $(LIBEVCLI_LIB_NAME) $(LIBNETCLI_LIB_NAME) $(CLI_LIBS)
$(CLI_LIBEV_TESTER_NAME): $(CLI_LIBEV_TESTER_OBJ)
${CLI_CC} -g $(CLI_LIBEV_TESTER_OBJ) -o $(CLI_LIBEV_TESTER_NAME) $(LIBEVCLI_LIB_NAME) $(LIBNETCLI_LIB_NAME) $(LIBUTIL_LIB_NAME) $(CLI_LIBS)
$(CLI_LIBNET_TESTER_NAME): $(CLI_LIBNET_TESTER_OBJ)
${CLI_CC} -g $(CLI_LIBNET_TESTER_OBJ) -o $(CLI_LIBNET_TESTER_NAME) $(LIBEVCLI_LIB_NAME) $(LIBNETCLI_LIB_NAME) $(LIBUTIL_LIB_NAME) $(CLI_LIBS)
%.o: %.c
${CLI_CC} $(CLI_INCL) $(CLI_CFLAGS) -c -o $@ $<
clean:
rm -rf $(LIBEVCLI_LIB_NAME) $(LIBNETCLI_LIB_NAME) $(CLI_CLIENT_NAME) $(CLI_SERVICE_NAME) $(CLI_LIBEV_TESTER_NAME) *.o libs/eventlib/*.o libs/netlib/*.o libs/utils/*.o client/*.o service/*.o