aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile98
1 files changed, 98 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 00000000..86302ecc
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,98 @@
+###########################
+## Makefile for BitlBee ##
+## ##
+## Copyright 2002 Lintux ##
+###########################
+
+### DEFINITIONS
+
+-include Makefile.settings
+
+# Program variables
+objects = account.o bitlbee.o commands.o conf.o crypting.o help.o ini.o irc.o log.o nick.o query.o set.o unix.o url.o user.o debug.o
+subdirs = protocols
+
+# Expansion of variables
+subdirobjs = $(foreach dir,$(subdirs),$(dir)/$(dir).o)
+CFLAGS += -Wall
+
+all: $(OUTFILE)
+
+uninstall: uninstall-bin uninstall-doc
+ @echo -e '\nmake uninstall does not remove files in '$(DESTDIR)$(ETCDIR)', you can use make uninstall-etc to do that.\n'
+
+install: install-bin install-doc
+ @if ! [ -d $(DESTDIR)$(CONFIG) ]; then echo -e '\nThe configuration directory $(DESTDIR)$(CONFIG) does not exist yet, don'\''t forget to create it!'; fi
+ @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
+ @echo
+
+.PHONY: install install-bin install-etc install-doc \
+ uninstall uninstall-bin uninstall-etc uninstall-doc \
+ all clean distclean tar $(subdirs)
+
+Makefile.settings:
+ @echo
+ @echo Run ./configure to create Makefile.settings, then rerun make
+ @echo
+
+clean: $(subdirs)
+ rm -f *.o $(OUTFILE) core utils/bitlbeed encode decode
+
+distclean: clean $(subdirs)
+ rm -f Makefile.settings config.h
+ find . -name 'DEADJOE' -o -name '*.orig' -o -name '*.rej' -o -name '*~' | xargs rm -f
+
+install-doc:
+ $(MAKE) -C doc install
+
+uninstall-doc:
+ $(MAKE) -C doc uninstall
+
+install-bin:
+ mkdir -p $(DESTDIR)$(BINDIR)
+ install -m 0755 $(OUTFILE) $(DESTDIR)$(BINDIR)/$(OUTFILE)
+
+uninstall-bin:
+ rm -f $(DESTDIR)$(BINDIR)/$(OUTFILE)
+
+install-etc:
+ mkdir -p $(DESTDIR)$(ETCDIR)
+ install -m 0644 motd.txt $(DESTDIR)$(ETCDIR)/motd.txt
+ install -m 0644 bitlbee.conf $(DESTDIR)$(ETCDIR)/bitlbee.conf
+
+uninstall-etc:
+ rm -f $(DESTDIR)$(ETCDIR)/motd.txt
+ rm -f $(DESTDIR)$(ETCDIR)/bitlbee.conf
+ -rmdir $(DESTDIR)$(ETCDIR)
+
+tar:
+ fakeroot debian/rules clean || make distclean
+ x=$$(basename $$(pwd)); \
+ cd ..; \
+ tar czf $$x.tar.gz --exclude=debian $$x
+
+$(subdirs):
+ @$(MAKE) -C $@ $(MAKECMDGOALS)
+
+$(objects): %.o: %.c
+ @echo '*' Compiling $<
+ @$(CC) -c $(CFLAGS) $< -o $@
+
+$(objects): Makefile Makefile.settings config.h
+
+$(OUTFILE): $(objects) $(subdirs)
+ @echo '*' Linking $(OUTFILE)
+ @$(CC) $(objects) $(subdirobjs) -o $(OUTFILE) $(LFLAGS) $(EFLAGS)
+ifndef DEBUG
+ @echo '*' Stripping $(OUTFILE)
+ @-$(STRIP) $(OUTFILE)
+endif
+
+encode: crypting.c
+ $(CC) crypting.c protocols/md5.c $(CFLAGS) -o encode -DCRYPTING_MAIN $(CFLAGS) $(EFLAGS) $(LFLAGS)
+
+decode: encode
+ cp encode decode
+
+ctags:
+ ctags `find . -name "*.c"` `find . -name "*.h"`