Makefile
branchmodules
changeset 56 942370000450
parent 55 6f7f6ae729d0
equal deleted inserted replaced
55:6f7f6ae729d0 56:942370000450
    32 BIN_PATHS = $(addprefix bin/,$(BIN_NAMES))
    32 BIN_PATHS = $(addprefix bin/,$(BIN_NAMES))
    33 
    33 
    34 # modules
    34 # modules
    35 module_objs = $(patsubst src/%.c,obj/%.o,$(wildcard src/$(1)/*.c))
    35 module_objs = $(patsubst src/%.c,obj/%.o,$(wildcard src/$(1)/*.c))
    36 
    36 
    37 CORE_OBJS = obj/error.o obj/log.o obj/chain.o
    37 CORE_OBJS = obj/error.o obj/log.o
    38 SOCK_OBJS = obj/sock.o obj/sock_tcp.o
    38 SOCK_OBJS = obj/sock.o obj/sock_tcp.o
    39 SOCK_TEST_OBJS = obj/sock_test.o
    39 SOCK_TEST_OBJS = obj/sock_test.o
    40 SOCK_GNUTLS_OBJS = obj/sock_gnutls.o
    40 SOCK_GNUTLS_OBJS = obj/sock_gnutls.o
    41 LINEPROTO_OBJS = obj/line_proto.o
    41 LINEPROTO_OBJS = obj/line_proto.o
    42 IRC_OBJS = obj/irc_line.o obj/irc_conn.o obj/irc_net.o obj/irc_chan.o obj/irc_cmd.o obj/irc_proto.o obj/irc_client.o
    42 IRC_OBJS = obj/irc_line.o obj/irc_conn.o obj/irc_net.o obj/irc_chan.o obj/chain.o obj/irc_cmd.o obj/irc_proto.o obj/irc_client.o
    43 NEXUS_OBJS = obj/signals.o obj/module.o
    43 NEXUS_OBJS = obj/signals.o obj/module.o
    44 IRC_LOG_OBJS = obj/irc_log.o
    44 IRC_LOG_OBJS = obj/irc_log.o
    45 
    45 
    46 # XXX: not yet there
    46 # XXX: not yet there
    47 #CORE_OBJS = obj/lib/log.o obj/lib/signals.o
    47 #CORE_OBJS = obj/lib/log.o obj/lib/signals.o
    52 # binaries
    52 # binaries
    53 bin/nexus: ${CORE_OBJS} ${SOCK_OBJS} ${SOCK_GNUTLS_OBJS} ${LINEPROTO_OBJS} ${IRC_OBJS} ${IRC_LOG_OBJS} ${NEXUS_OBJS}
    53 bin/nexus: ${CORE_OBJS} ${SOCK_OBJS} ${SOCK_GNUTLS_OBJS} ${LINEPROTO_OBJS} ${IRC_OBJS} ${IRC_LOG_OBJS} ${NEXUS_OBJS}
    54 
    54 
    55 bin/test: ${CORE_OBJS} ${SOCK_OBJS} ${SOCK_GNUTLS_OBJS} ${SOCK_TEST_OBJS} ${LINEPROTO_OBJS} ${IRC_OBJS}
    55 bin/test: ${CORE_OBJS} ${SOCK_OBJS} ${SOCK_GNUTLS_OBJS} ${SOCK_TEST_OBJS} ${LINEPROTO_OBJS} ${IRC_OBJS}
    56 
    56 
    57 modules/irc_log.so: ${CORE_OBJS} ${IRC_OBJS}
    57 modules/irc_log.so: ${CORE_OBJS}
    58 
    58 
    59 # computed
    59 # computed
    60 CFLAGS = ${MODE_CFLAGS} ${FIXED_CFLAGS} ${LIBEVENT_CFLAGS} ${GNUTLS_CFLAGS} ${EVSQL_CFLAGS}
    60 CFLAGS = ${MODE_CFLAGS} ${FIXED_CFLAGS} ${LIBEVENT_CFLAGS} ${GNUTLS_CFLAGS} ${EVSQL_CFLAGS} -fpic 
    61 LDFLAGS = ${LIBEVENT_LDFLAGS} ${GNUTLS_LDFLAGS} ${EVSQL_LDFLAGS}
    61 LDFLAGS = ${LIBEVENT_LDFLAGS} ${GNUTLS_LDFLAGS} ${EVSQL_LDFLAGS} -Wl,--export-dynamic
    62 
    62 
    63 # XXX: is this valid?
    63 # XXX: is this valid?
    64 CPPFLAGS = ${CFLAGS}
    64 CPPFLAGS = ${CFLAGS}
    65 
    65 
    66 # names for src/
    66 # names for src/
    90 include $(SRC_NAMES:%.c=build/deps/%.d)
    90 include $(SRC_NAMES:%.c=build/deps/%.d)
    91 
    91 
    92 
    92 
    93 # XXX: removed $(CPPFLAGS) 
    93 # XXX: removed $(CPPFLAGS) 
    94 obj/%.o : src/%.c
    94 obj/%.o : src/%.c
    95 	$(CC) -fpic -c $(CFLAGS) $< -o $@
    95 	$(CC) -c $(CFLAGS) $< -o $@
    96 
    96 
    97 bin/% : obj/%.o
    97 bin/% : obj/%.o
    98 	$(CC) $(LDFLAGS) $+ $(LOADLIBES) $(LDLIBS) -o $@
    98 	$(CC) $(LDFLAGS) $+ $(LOADLIBES) $(LDLIBS) -o $@
    99 
    99 
   100 modules/%.so : obj/%.o
   100 modules/%.so : obj/%.o
   101 	$(CC) -shared -Wl,-soname,$(basename %@) -o $@ $+ -lc
   101 	$(CC) -shared -Wl,-soname,$(notdir $@) -o $@ $+ -lc
   102 
   102 
   103 # documentation
   103 # documentation
   104 DOXYGEN_PATH = /usr/bin/doxygen
   104 DOXYGEN_PATH = /usr/bin/doxygen
   105 DOXYGEN_CONF_PATH = doc/doxygen.conf
   105 DOXYGEN_CONF_PATH = doc/doxygen.conf
   106 DOXYGEN_OUTPUT_FILE = doc/html/index.html
   106 DOXYGEN_OUTPUT_FILE = doc/html/index.html