Makefile
changeset 2 a834f0559939
parent 1 cf0e1bb6bcab
child 6 240ae8482d64
equal deleted inserted replaced
1:cf0e1bb6bcab 2:a834f0559939
     1 #LIBEVENT_PATH = ~/opt
       
     2 #LIBRARY_PATHS = -L${LIBEVENT_PATH}/lib
       
     3 #INCLUDE_PATHS = -I${LIBEVENT_PATH}/include
       
     4 LDLIBS = -levent
       
     5 
       
     6 # default is test
     1 # default is test
     7 ifndef MODE
     2 ifndef MODE
     8 MODE = test
     3 MODE = test
     9 endif
     4 endif
    10 
     5 
    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