source: Makefile @ 246b98b

Last change on this file since 246b98b was a949b43, checked in by dequis <dx@…>, at 2018-03-11T19:33:55Z

Remove old skype plugin. Use the skypeweb purple plugin instead.

RIP

This plugin relied on the skype linux client, which doesn't work
anymore. During login it just does exit(0) for mysterious reasons.
I guess that's the server trying to say that it's not supported.

This is officially dead now after a few years of kinda-almost-working.

  • Property mode set to 100644
File size: 5.6 KB
Line 
1###########################
2## Makefile for BitlBee  ##
3##                       ##
4## Copyright 2002 Lintux ##
5###########################
6
7### DEFINITIONS
8
9-include Makefile.settings
10
11# Program variables
12objects = bitlbee.o dcc.o help.o ipc.o irc.o irc_im.o irc_cap.o irc_channel.o irc_commands.o irc_send.o irc_user.o irc_util.o nick.o $(OTR_BI) query.o root_commands.o set.o storage.o $(STORAGE_OBJS) auth.o $(AUTH_OBJS) unix.o conf.o log.o
13headers = $(wildcard $(_SRCDIR_)*.h $(_SRCDIR_)lib/*.h $(_SRCDIR_)protocols/*.h)
14subdirs = lib protocols
15
16OUTFILE = bitlbee
17
18# Expansion of variables
19subdirobjs = $(foreach dir,$(subdirs),$(dir)/$(dir).o)
20
21all: $(OUTFILE) $(OTR_PI) doc systemd
22
23doc:
24ifdef DOC
25        $(MAKE) -C doc
26endif
27
28uninstall: uninstall-bin uninstall-doc
29        @echo -e '\nmake uninstall does not remove files in '$(DESTDIR)$(ETCDIR)', you can use make uninstall-etc to do that.\n'
30
31install: install-bin install-doc install-plugins
32        @echo
33        @echo Installed successfully
34        @echo
35        @if ! [ -d $(DESTDIR)$(CONFIG) ]; then echo -e '\nThe configuration directory $(DESTDIR)$(CONFIG) does not exist yet, don'\''t forget to create it!'; fi
36        @if ! [ -e $(DESTDIR)$(ETCDIR)/bitlbee.conf ]; then echo -e '\nNo files are installed in '$(DESTDIR)$(ETCDIR)' by make install. Run make install-etc to do that.'; fi
37ifdef SYSTEMDSYSTEMUNITDIR
38        @echo If you want to start BitlBee using systemd, try \"make install-systemd\".
39endif
40        @echo To be able to compile third party plugins, run \"make install-dev\"
41        @echo
42
43.PHONY:   install   install-bin   install-etc   install-doc install-plugins install-systemd install-dev \
44        uninstall uninstall-bin uninstall-etc uninstall-doc uninstall-etc \
45        all clean distclean tar $(subdirs) doc
46
47Makefile.settings:
48        @echo
49        @echo Run ./configure to create Makefile.settings, then rerun make
50        @echo
51
52clean: $(subdirs)
53        rm -f *.o $(OUTFILE) core utils/bitlbeed init/bitlbee*.service
54        $(MAKE) -C tests clean
55
56distclean: clean $(subdirs)
57        rm -rf .depend
58        rm -f Makefile.settings config.h bitlbee.pc
59        find . -name 'DEADJOE' -o -name '*.orig' -o -name '*.rej' -o -name '*~' -exec rm -f {} \;
60        @# May still be present in dirs of disabled protocols.
61        -find . -name .depend -exec rm -rf {} \;
62        $(MAKE) -C tests distclean
63
64check: all
65        $(MAKE) -C tests
66
67gcov: check
68        gcov *.c
69
70lcov: check
71        lcov --directory . --capture --output-file bitlbee.info
72        genhtml -o coverage bitlbee.info
73
74install-doc:
75ifdef DOC
76        $(MAKE) -C doc install
77endif
78
79uninstall-doc:
80ifdef DOC
81        $(MAKE) -C doc uninstall
82endif
83
84install-bin:
85        mkdir -p $(DESTDIR)$(SBINDIR)
86        $(INSTALL) -m 0755 $(OUTFILE) $(DESTDIR)$(SBINDIR)/$(OUTFILE)
87ifdef IMPLIB
88        # import library for cygwin
89        mkdir -p $(DESTDIR)$(LIBDIR)
90        $(INSTALL) -m 0644 $(IMPLIB) $(DESTDIR)$(LIBDIR)/$(IMPLIB)
91endif
92
93uninstall-bin:
94        rm -f $(DESTDIR)$(SBINDIR)/$(OUTFILE)
95ifdef IMPLIB
96        rm -f $(DESTDIR)$(LIBDIR)/$(IMPLIB)
97endif
98
99install-dev:
100        mkdir -p $(DESTDIR)$(INCLUDEDIR)
101        $(INSTALL) -m 0644 config.h $(DESTDIR)$(INCLUDEDIR)
102        for i in $(headers); do $(INSTALL) -m 0644 $$i $(DESTDIR)$(INCLUDEDIR); done
103        mkdir -p $(DESTDIR)$(PCDIR)
104        $(INSTALL) -m 0644 bitlbee.pc $(DESTDIR)$(PCDIR)
105
106uninstall-dev:
107        rm -f $(foreach hdr,$(headers),$(DESTDIR)$(INCLUDEDIR)/$(hdr))
108        -rmdir $(DESTDIR)$(INCLUDEDIR)
109        rm -f $(DESTDIR)$(PCDIR)/bitlbee.pc
110
111install-etc:
112        mkdir -p $(DESTDIR)$(ETCDIR)
113        $(INSTALL) -m 0644 $(_SRCDIR_)motd.txt $(DESTDIR)$(ETCDIR)/motd.txt
114        $(INSTALL) -m 0644 $(_SRCDIR_)bitlbee.conf $(DESTDIR)$(ETCDIR)/bitlbee.conf
115
116uninstall-etc:
117        rm -f $(DESTDIR)$(ETCDIR)/motd.txt
118        rm -f $(DESTDIR)$(ETCDIR)/bitlbee.conf
119        -rmdir $(DESTDIR)$(ETCDIR)
120
121install-plugins: install-plugin-otr
122
123install-plugin-otr:
124ifdef OTR_PI
125        mkdir -p $(DESTDIR)$(PLUGINDIR)
126        $(INSTALL) -m 0755 otr.so $(DESTDIR)$(PLUGINDIR)
127endif
128
129systemd:
130ifdef SYSTEMDSYSTEMUNITDIR
131        mkdir -p init
132        sed 's|@sbindir@|$(SBINDIR)|' $(_SRCDIR_)init/bitlbee.service.in > init/bitlbee.service
133        sed 's|@sbindir@|$(SBINDIR)|' $(_SRCDIR_)init/bitlbee@.service.in > init/bitlbee@.service
134endif
135
136install-systemd: systemd
137ifdef SYSTEMDSYSTEMUNITDIR
138        mkdir -p $(DESTDIR)$(SYSTEMDSYSTEMUNITDIR)
139        $(INSTALL) -m 0644 init/bitlbee.service $(DESTDIR)$(SYSTEMDSYSTEMUNITDIR)
140        $(INSTALL) -m 0644 init/bitlbee@.service $(DESTDIR)$(SYSTEMDSYSTEMUNITDIR)
141        $(INSTALL) -m 0644 $(_SRCDIR_)init/bitlbee.socket $(DESTDIR)$(SYSTEMDSYSTEMUNITDIR)
142else
143        @echo SYSTEMDSYSTEMUNITDIR not set, not installing systemd unit files.
144endif
145
146tar:
147        fakeroot debian/rules clean || make distclean
148        x=$$(basename $$(pwd)); \
149        cd ..; \
150        tar czf $$x.tar.gz --exclude=debian --exclude=.git* --exclude=.depend $$x
151
152$(subdirs):
153        $(MAKE) -C $@ $(MAKECMDGOALS)
154
155$(OTR_PI): %.so: $(_SRCDIR_)%.c
156        @echo '*' Building plugin $@
157        $(VERBOSE) $(CC) $(CFLAGS) -fPIC -shared $(LDFLAGS) $< -o $@ $(OTRFLAGS)
158
159$(objects): %.o: $(_SRCDIR_)%.c
160        @echo '*' Compiling $<
161        $(VERBOSE) $(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
162
163$(objects): Makefile Makefile.settings config.h
164
165$(OUTFILE): $(objects) $(subdirs)
166        @echo '*' Linking $(OUTFILE)
167        $(VERBOSE) $(CC) $(objects) $(subdirobjs) -o $(OUTFILE) $(LDFLAGS_BITLBEE) $(LDFLAGS) $(EFLAGS)
168ifneq ($(firstword $(STRIP)), \#)
169        @echo '*' Stripping $(OUTFILE)
170        $(VERBOSE) -$(STRIP) $(OUTFILE)
171endif
172
173ctags: 
174        ctags `find . -name "*.c"` `find . -name "*.h"`
175
176# Using this as a bogus Make target to test if a GNU-compatible version of
177# make is available.
178helloworld:
179        @echo Hello World
180
181# Check if we can load the helpfile. (This fails if some article is >1KB.)
182# If print returns a NULL pointer, the file is unusable.
183testhelp: doc
184        gdb --eval-command='b main' --eval-command='r' \
185            --eval-command='print help_init(&global->helpfile, "doc/user-guide/help.txt")' \
186            $(OUTFILE) < /dev/null
187
188-include .depend/*.d
189# DO NOT DELETE
Note: See TracBrowser for help on using the repository browser.