diff -r 9f74e924b01a -r 6f7f6ae729d0 Makefile --- a/Makefile Fri Mar 13 17:38:23 2009 +0200 +++ b/Makefile Sun Mar 15 01:17:22 2009 +0200 @@ -34,25 +34,28 @@ # modules module_objs = $(patsubst src/%.c,obj/%.o,$(wildcard src/$(1)/*.c)) -CORE_OBJS = obj/error.o obj/log.o obj/chain.o obj/signals.o +CORE_OBJS = obj/error.o obj/log.o obj/chain.o SOCK_OBJS = obj/sock.o obj/sock_tcp.o SOCK_TEST_OBJS = obj/sock_test.o SOCK_GNUTLS_OBJS = obj/sock_gnutls.o LINEPROTO_OBJS = obj/line_proto.o 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 +NEXUS_OBJS = obj/signals.o obj/module.o IRC_LOG_OBJS = obj/irc_log.o # XXX: not yet there #CORE_OBJS = obj/lib/log.o obj/lib/signals.o # first target -all: ${BIN_PATHS} +all: ${BIN_PATHS} modules/irc_log.so # binaries -bin/nexus: ${CORE_OBJS} ${SOCK_OBJS} ${SOCK_GNUTLS_OBJS} ${LINEPROTO_OBJS} ${IRC_OBJS} ${IRC_LOG_OBJS} +bin/nexus: ${CORE_OBJS} ${SOCK_OBJS} ${SOCK_GNUTLS_OBJS} ${LINEPROTO_OBJS} ${IRC_OBJS} ${IRC_LOG_OBJS} ${NEXUS_OBJS} bin/test: ${CORE_OBJS} ${SOCK_OBJS} ${SOCK_GNUTLS_OBJS} ${SOCK_TEST_OBJS} ${LINEPROTO_OBJS} ${IRC_OBJS} +modules/irc_log.so: ${CORE_OBJS} ${IRC_OBJS} + # computed CFLAGS = ${MODE_CFLAGS} ${FIXED_CFLAGS} ${LIBEVENT_CFLAGS} ${GNUTLS_CFLAGS} ${EVSQL_CFLAGS} LDFLAGS = ${LIBEVENT_LDFLAGS} ${GNUTLS_LDFLAGS} ${EVSQL_LDFLAGS} @@ -89,11 +92,14 @@ # XXX: removed $(CPPFLAGS) obj/%.o : src/%.c - $(CC) -c $(CFLAGS) $< -o $@ + $(CC) -fpic -c $(CFLAGS) $< -o $@ bin/% : obj/%.o $(CC) $(LDFLAGS) $+ $(LOADLIBES) $(LDLIBS) -o $@ +modules/%.so : obj/%.o + $(CC) -shared -Wl,-soname,$(basename %@) -o $@ $+ -lc + # documentation DOXYGEN_PATH = /usr/bin/doxygen DOXYGEN_CONF_PATH = doc/doxygen.conf