CFLAGS += $(GNUTLS_CFLAGS)
CFLAGS+=-DHAVE_CONFIG_H -DDEFAULT_CONFIG_DIR=\"$(DEFAULT_CONFIG_DIR)\" -DHELPFILE=\"$(HELPFILE)\"
-CFLAGS+=-ansi -Wall -DMODULESDIR=\"$(modulesdir)\" -DSTRICT_MEMORY_ALLOCS=
-
-LIBIRC_STATIC = libirc.a
-LIBIRC = $(LIBIRC_STATIC)
-
-LIBIRC_SHARED = libirc.$(SHLIBEXT).$(PACKAGE_VERSION)
-LIBIRC_SOVERSION = 1.0
-LIBIRC_SONAME = libirc.$(SHLIBEXT).$(LIBIRC_SOVERSION)
+CFLAGS+=-DMODULESDIR=\"$(modulesdir)\" -DSTRICT_MEMORY_ALLOCS=
.PHONY: all clean distclean install install-bin install-dirs install-doc install-data install-pkgconfig
doxygen
libircdir = libirc
+include $(libircdir)/Makefile
objs = src/posix.o \
+ src/redirect.o \
src/cache.o \
src/util.o \
src/hooks.o \
- src/linestack.o \
src/plugins.o \
src/settings.o \
src/log.o \
src/client.o \
- src/redirect.o \
src/gen_config.o \
src/repl.o \
- src/linestack_file.o \
src/ctcp_redirect.o \
src/ctcp.o \
src/motd.o \
src/log_subst.o \
src/auto_away.o \
src/network.o \
- $(SSL_OBJS)
+ $(CTRLPROXY_SSL_OBJS)
all_objs += $(objs)
-libirc_objs = \
- $(libircdir)/state.o \
- $(libircdir)/client.o \
- $(libircdir)/transport.o \
- $(libircdir)/line.o \
- $(libircdir)/isupport.o \
- $(libircdir)/connection.o \
- $(libircdir)/url.o \
- $(libircdir)/util.o \
- $(libircdir)/listener.o
-
-libirc_headers = \
- $(libircdir)/state.h \
- $(libircdir)/client.h \
- $(libircdir)/line.h \
- $(libircdir)/isupport.h \
- $(libircdir)/irc.h \
- $(libircdir)/connection.h \
- $(libircdir)/url.h \
- $(libircdir)/listener.h \
- $(libircdir)/util.h
-
headers = src/admin.h \
src/ctcp.h \
src/ctrlproxy.h \
src/hooks.h \
- src/linestack.h \
src/log_support.h \
src/repl.h \
src/settings.h \
src/cache.h
dep_files = $(patsubst %.o, %.d, $(objs))
-linestack-cmd$(EXEEXT): src/linestack-cmd.o $(objs) $(LIBIRC)
- @echo Linking $@
- @$(LD) $(LIBS) -lreadline -rdynamic -o $@ $^
-
ctrlproxy$(EXEEXT): src/main.o $(objs) $(LIBIRC)
- @echo Linking $@
- @$(LD) $(LDFLAGS) -rdynamic -o $@ $^ $(LIBS)
+ @echo Linking $@: $(LD) $(LDFLAGS) -rdynamic -o $@ $^ $(LIBS)
+ @$(LD) $(LDFLAGS) $(DYNAMIC) -o $@ $^ $(LIBS)
src/settings.o: CFLAGS+=-DSYSCONFDIR=\"${sysconfdir}\"
ctrlproxyd$(EXEEXT): $(daemon_objs) $(objs) $(LIBIRC)
@echo Linking $@
- @$(LD) $(LDFLAGS) -rdynamic -o $@ $^ $(LIBS)
+ @$(CC) $(LDFLAGS) $(DYNAMIC) -o $@ $^ $(LIBS)
ctrlproxy-admin$(EXEEXT): src/admin-cmd.o
@echo Linking $@
- @$(LD) $(LDFLAGS) -rdynamic -o $@ $^ $(LIBS)
+ @$(CC) $(LDFLAGS) $(DYNAMIC) -o $@ $^ $(LIBS)
%.o: %.c
@echo Compiling $<
lcov --base-directory `pwd` --directory . --capture --output-file ctrlproxy.info
genhtml -o coverage ctrlproxy.info
-$(libirc_objs): CFLAGS+=-fPIC
-
-$(LIBIRC_STATIC): $(libirc_objs)
- @echo Linking $@
- @ar -rcs $@ $^
-
-$(LIBIRC_SHARED): $(libirc_objs)
- $(LD) -shared $(LDFLAGS) -Wl,-soname,$(LIBIRC_SONAME) -o $@ $^
-
%.$(SHLIBEXT):
- $(LD) -shared $(LDFLAGS) -o $@ $^
+ @echo Linking $@
+ @$(CC) -shared $(LDFLAGS) -o $@ $^
cscope.out::
cscope -b -R
clean::
@echo Removing object files and executables
- @rm -f src/*.o $(libircdir)/*.o daemon/*.o python/*.o testsuite/check ctrlproxy$(EXEEXT) testsuite/*.o *~
- @rm -f linestack-cmd$(EXEEXT) ctrlproxy-admin$(EXEEXT)
+ @rm -f src/*.o daemon/*.o python/*.o testsuite/check ctrlproxy$(EXEEXT) testsuite/*.o *~
+ @rm -f ctrlproxy-admin$(EXEEXT)
@rm -f ctrlproxyd$(EXEEXT)
- @rm -f $(LIBIRC_STATIC) $(LIBIRC_SHARED)
+ @rm -f mods/*.$(SHLIBEXT) mods/*.o
@echo Removing gcov output
@rm -f *.gcov *.gcno *.gcda */*.gcda */*.gcno */*.gcov
@echo Removing test output
# Python specific stuff below this line
mods/python.o python/ctrlproxy.o: CFLAGS+=$(PYTHON_CFLAGS)
mods/python.o python/ctrlproxy.o: CFLAGS+=-fPIC
-mods/libpython.so: mods/python.o python/ctrlproxy.o python/irc.o
+mods/libpython.so: mods/python.o python/ctrlproxy.o $(pyirc_objs)
mods/libpython.so: LDFLAGS+=$(PYTHON_LDFLAGS)
-.PRECIOUS: python/irc.c python/ctrlproxy.c
-
-python/irc.o: CFLAGS+=$(PYTHON_CFLAGS) -fPIC
-python/irc.$(SHLIBEXT): python/irc.o $(LIBIRC)
-python/irc.$(SHLIBEXT): LDFLAGS+=$(PYTHON_LDFLAGS) $(LIBS)
-
ifeq ($(HAVE_PYTHON),yes)
-all_objs += python/irc.o mods/python.o python/ctrlproxy.o
+all_objs += $(pyirc_objs) mods/python.o python/ctrlproxy.o
endif
-python:: python/irc.$(SHLIBEXT) mods/libpython.$(SHLIBEXT)
-
-check-python:: python/irc.$(SHLIBEXT)
- PYTHONPATH=python trial tests.test_irc
+python:: mods/libpython.$(SHLIBEXT)
install-python: all
$(PYTHON) setup.py install --root="$(DESTDIR)"
clean::
- rm -f *.pyc
- rm -f ctrlproxy.py listener.py
+ @rm -f python/tests/*.pyc
# $(PYTHON) setup.py clean
- rm -rf build/
# RFC compliance testing using ircdtorture
example/foo.o: CFLAGS+=-I$(libircdir)
example/libirc-simple: example/irc_simple.o $(LIBIRC)
- $(CC) -o $@ $^
+ @Linking $@
+ @$(CC) -o $@ $^
example/irc_simple.o: CFLAGS+=-I$(libircdir)
+ifeq ($(GCC),yes)
-include $(dep_files)
+endif