1 ###########################
2 ## Makefile for BitlBee ##
4 ## Copyright 2002 Lintux ##
5 ###########################
9 -include Makefile.settings
12 objects
= bitlbee.o dcc.o help.o ipc.o irc.o irc_im.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
)
13 headers
= bitlbee.h commands.h conf.h config.h help.h ipc.h irc.h log.h nick.h query.h set.h sock.h storage.h lib
/events.h lib
/ftutil.h lib
/http_client.h lib
/ini.h lib
/md5.h lib
/misc.h lib
/proxy.h lib
/sha1.h lib
/ssl_client.h lib
/url.h protocols
/account.h protocols
/bee.h protocols
/ft.h protocols
/nogaim.h
14 subdirs
= lib protocols
16 ifeq ($(TARGET
),i586-mingw32msvc
)
22 objects
+= unix.o conf.o log.o
26 # Expansion of variables
27 subdirobjs
= $(foreach dir,$(subdirs
),$(dir)/$(dir).o
)
29 all: $(OUTFILE
) $(OTR_PI
) $(SKYPE_PI
) doc systemd
31 $(MAKE
) -C protocols
/skype doc
37 uninstall: uninstall-bin uninstall-doc
38 @echo
-e
'\nmake uninstall does not remove files in '$(DESTDIR
)$(ETCDIR
)', you can use make uninstall-etc to do that.\n'
40 install: install-bin install-doc install-plugins install-systemd
41 @if
! [ -d
$(DESTDIR
)$(CONFIG
) ]; then echo
-e
'\nThe configuration directory $(DESTDIR)$(CONFIG) does not exist yet, don'\''t forget to create it!'; fi
42 @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
45 .PHONY
: install install-bin install-etc install-doc install-plugins install-systemd \
46 uninstall uninstall-bin uninstall-etc uninstall-doc \
47 all clean distclean tar $(subdirs
) doc
51 @echo Run .
/configure to create Makefile.settings
, then rerun make
55 rm -f
*.o
$(OUTFILE
) core utils
/bitlbeed init
/bitlbee
*.service
56 $(MAKE
) -C tests
clean
58 distclean: clean $(subdirs
)
60 rm -f Makefile.settings config.h bitlbee.
pc
61 find .
-name
'DEADJOE' -o
-name
'*.orig' -o
-name
'*.rej' -o
-name
'*~' -exec
rm -f
{} \
;
62 @
# May still be present in dirs of disabled protocols.
63 -find .
-name .depend
-exec
rm -rf
{} \
;
64 $(MAKE
) -C tests
distclean
73 lcov
--directory .
--capture
--output-file bitlbee.
info
74 genhtml
-o coverage bitlbee.
info
77 $(MAKE
) -C doc
install
79 $(MAKE
) -C protocols
/skype install-doc
83 $(MAKE
) -C doc
uninstall
85 $(MAKE
) -C protocols
/skype uninstall-doc
89 mkdir
-p
$(DESTDIR
)$(SBINDIR
)
90 install -m
0755 $(OUTFILE
) $(DESTDIR
)$(SBINDIR
)/$(OUTFILE
)
93 rm -f
$(DESTDIR
)$(SBINDIR
)/$(OUTFILE
)
96 mkdir
-p
$(DESTDIR
)$(INCLUDEDIR
)
97 install -m
0644 config.h
$(DESTDIR
)$(INCLUDEDIR
)
98 for i in
$(headers
); do
install -m
0644 $(_SRCDIR_
)$$i $(DESTDIR
)$(INCLUDEDIR
); done
99 mkdir
-p
$(DESTDIR
)$(PCDIR
)
100 install -m
0644 bitlbee.
pc $(DESTDIR
)$(PCDIR
)
103 rm -f
$(foreach hdr
,$(headers
),$(DESTDIR
)$(INCLUDEDIR
)/$(hdr
))
104 -rmdir
$(DESTDIR
)$(INCLUDEDIR
)
105 rm -f
$(DESTDIR
)$(PCDIR
)/bitlbee.
pc
108 mkdir
-p
$(DESTDIR
)$(ETCDIR
)
109 install -m
0644 $(_SRCDIR_
)motd.txt
$(DESTDIR
)$(ETCDIR
)/motd.txt
110 install -m
0644 $(_SRCDIR_
)bitlbee.conf
$(DESTDIR
)$(ETCDIR
)/bitlbee.conf
113 rm -f
$(DESTDIR
)$(ETCDIR
)/motd.txt
114 rm -f
$(DESTDIR
)$(ETCDIR
)/bitlbee.conf
115 -rmdir
$(DESTDIR
)$(ETCDIR
)
117 install-plugins
: install-plugin-otr install-plugin-skype
121 mkdir
-p
$(DESTDIR
)$(PLUGINDIR
)
122 install -m
0755 otr.so
$(DESTDIR
)$(PLUGINDIR
)
125 install-plugin-skype
:
127 mkdir
-p
$(DESTDIR
)$(PLUGINDIR
)
128 install -m
0755 skype.so
$(DESTDIR
)$(PLUGINDIR
)
129 mkdir
-p
$(DESTDIR
)$(ETCDIR
)/..
/skyped
$(DESTDIR
)$(BINDIR
)
130 install -m
0644 $(_SRCDIR_
)protocols
/skype
/skyped.cnf
$(DESTDIR
)$(ETCDIR
)/..
/skyped
/skyped.cnf
131 install -m
0644 $(_SRCDIR_
)protocols
/skype
/skyped.conf.
dist $(DESTDIR
)$(ETCDIR
)/..
/skyped
/skyped.conf
132 install -m
0755 $(_SRCDIR_
)protocols
/skype
/skyped.py
$(DESTDIR
)$(BINDIR
)/skyped
133 make
-C protocols
/skype install-doc
137 ifdef SYSTEMDSYSTEMUNITDIR
138 sed
's|@sbindir@|$(SBINDIR)|' init
/bitlbee.service.in
> init
/bitlbee.service
139 sed
's|@sbindir@|$(SBINDIR)|' init
/bitlbee@.service.in
> init
/bitlbee@.service
143 ifdef SYSTEMDSYSTEMUNITDIR
144 ifeq ($(shell id
-u
),0)
145 mkdir
-p
$(DESTDIR
)$(SYSTEMDSYSTEMUNITDIR
)
146 install -m
0644 init
/bitlbee.service
$(DESTDIR
)$(SYSTEMDSYSTEMUNITDIR
)
147 install -m
0644 init
/bitlbee@.service
$(DESTDIR
)$(SYSTEMDSYSTEMUNITDIR
)
148 install -m
0644 init
/bitlbee.socket
$(DESTDIR
)$(SYSTEMDSYSTEMUNITDIR
)
150 @echo Not root
, so not installing systemd files.
155 fakeroot debian
/rules
clean || make
distclean
156 x
=$$(basename $$(pwd
)); \
158 tar czf
$$x.
tar.gz
--exclude
=debian
--exclude
=.bzr
* --exclude
=.depend
$$x
161 @
$(MAKE
) -C
$@
$(MAKECMDGOALS
)
163 $(OTR_PI
): %.so
: $(_SRCDIR_
)%.c
164 @echo
'*' Building plugin
$@
165 @
$(CC
) $(CFLAGS
) -fPIC
-shared
$(LDFLAGS
) $< -o
$@
$(OTRFLAGS
)
167 $(SKYPE_PI
): $(_SRCDIR_
)protocols
/skype
/skype.c
168 @echo
'*' Building plugin skype
169 @
$(CC
) $(CFLAGS
) -fPIC
-shared
$< -o
$@
171 $(objects
): %.o
: $(_SRCDIR_
)%.c
172 @echo
'*' Compiling
$<
173 @
$(CC
) -c
$(CFLAGS
) $< -o
$@
175 $(objects
): Makefile Makefile.settings config.h
177 $(OUTFILE
): $(objects
) $(subdirs
)
178 @echo
'*' Linking
$(OUTFILE
)
179 @
$(CC
) $(objects
) $(subdirobjs
) -o
$(OUTFILE
) $(LFLAGS
) $(EFLAGS
)
181 @echo
'*' Stripping
$(OUTFILE
)
182 @
-$(STRIP
) $(OUTFILE
)
186 ctags
`find . -name "*.c"` `find . -name "*.h"`
188 # Using this as a bogus Make target to test if a GNU-compatible version of
193 # Check if we can load the helpfile. (This fails if some article is >1KB.)
194 # If print returns a NULL pointer, the file is unusable.
196 gdb
--eval-command
='b main' --eval-command
='r' \
197 --eval-command
='print help_init(&global->helpfile, "doc/user-guide/help.txt")' \
198 $(OUTFILE
) < /dev
/null