18 MODE_CFLAGS = -DINFO_DISABLED -O2 |
13 MODE_CFLAGS = -DINFO_DISABLED -O2 |
19 endif |
14 endif |
20 |
15 |
21 FIXED_CFLAGS = -Wall -std=gnu99 |
16 FIXED_CFLAGS = -Wall -std=gnu99 |
22 |
17 |
|
18 # libevent |
|
19 LIBEVENT_CFLAGS = |
|
20 LIBEVENT_LDFLAGS = -levent |
|
21 |
|
22 # GnuTLS stuff |
|
23 GNUTLS_NAME = "gnutls" |
|
24 GNUTLS_CFLAGS = $(shell pkg-config ${GNUTLS_NAME} --cflags) |
|
25 GNUTLS_LDFLAGS = $(shell pkg-config ${GNUTLS_NAME} --libs) |
|
26 |
23 BIN_NAMES = nexus |
27 BIN_NAMES = nexus |
24 BIN_PATHS = $(addprefix bin/,$(BIN_NAMES)) |
28 BIN_PATHS = $(addprefix bin/,$(BIN_NAMES)) |
25 |
29 |
26 # modules |
30 # modules |
27 module_objs = $(patsubst src/%.c,obj/%.o,$(wildcard src/$(1)/*.c)) |
31 module_objs = $(patsubst src/%.c,obj/%.o,$(wildcard src/$(1)/*.c)) |
28 |
32 |
29 SOCK_OBJS = obj/sock.o obj/sock_tcp.o |
33 SOCK_OBJS = obj/sock.o obj/sock_tcp.o |
|
34 SOCK_GNUTLS_OBJS = obj/sock_gnutls.o |
30 |
35 |
31 # XXX: not yet there |
36 # XXX: not yet there |
32 #CORE_OBJS = obj/lib/log.o obj/lib/signals.o |
37 #CORE_OBJS = obj/lib/log.o obj/lib/signals.o |
33 |
38 |
34 # first target |
39 # first target |
35 all: ${BIN_PATHS} |
40 all: ${BIN_PATHS} |
36 |
41 |
37 # binaries |
42 # binaries |
38 bin/nexus: ${SOCK_OBJS} |
43 bin/nexus: ${SOCK_OBJS} ${SOCK_GNUTLS_OBJS} |
39 |
44 |
40 # computed |
45 # computed |
41 LDFLAGS = ${LIBRARY_PATHS} |
46 CFLAGS = ${MODE_CFLAGS} ${FIXED_CFLAGS} ${LIBEVENT_CFLAGS} ${GNUTLS_CFLAGS} |
42 CPPFLAGS = ${INCLUDE_PATHS} ${DEFINES} |
47 LDFLAGS = ${LIBEVENT_LDFLAGS} ${GNUTLS_LDFLAGS} |
43 CFLAGS = ${MODE_CFLAGS} ${FIXED_CFLAGS} |
|
44 |
48 |
|
49 # XXX: is this valid? |
|
50 CPPFLAGS = ${CFLAGS} |
|
51 |
|
52 # names for src/ |
45 SRC_PATHS = $(wildcard src/*.c) $(wildcard src/*/*.c) |
53 SRC_PATHS = $(wildcard src/*.c) $(wildcard src/*/*.c) |
46 SRC_NAMES = $(patsubst src/%,%,$(SRC_PATHS)) |
54 SRC_NAMES = $(patsubst src/%,%,$(SRC_PATHS)) |
47 SRC_DIRS = $(dir $(SRC_NAMES)) |
55 SRC_DIRS = $(dir $(SRC_NAMES)) |
48 |
56 |
49 # other targets |
57 # other targets |