source: protocols/Makefile @ df67b48

Last change on this file since df67b48 was 5a8afc3, checked in by dequis <dx@…>, at 2016-11-21T06:58:47Z

Manual merge with wilmer's approach to handling missing protocols

Turns out he already implemented pretty much the same thing in the
parson branch... last year.

The differences between the two approaches are subtle (there aren't too
many ways to do this, some lines are the exact same thing) but I decided
I like his version better, so this mostly reverts a handful of my
changes while keeping others. The main advantage of his approach is that
no fake protocols are registered, no actual prpl functions are called,
and the missing prpl is a singleton constant.

New things compared to the implementation in the other branch:

  • The explain_unknown_protocol() function.
  • Fixed named chatrooms throwing a warning and losing the "account" setting when saving. See changes in irc_im.c
  • Fixed the "server" setting dropping when saving. See account.c

Differences with my previous implementation:

  • Accounts with missing protocols don't autoconnect
  • 'account list' marks them as "(missing!)"
  • Property mode set to 100644
File size: 1.3 KB
Line 
1###########################
2## Makefile for BitlBee  ##
3##                       ##
4## Copyright 2002 Lintux ##
5###########################
6
7### DEFINITIONS
8
9-include ../Makefile.settings
10ifdef _SRCDIR_
11_SRCDIR_ := $(_SRCDIR_)protocols/
12endif
13
14# [SH] Program variables
15objects = account.o bee.o bee_chat.o bee_ft.o bee_user.o nogaim.o
16
17
18# [SH] The next two lines should contain the directory name (in $(subdirs))
19#      and the name of the object file, which should be linked into
20#      protocols.o (in $(subdirobjs)). These need to be in order, i.e. the
21#      first object file should be in the first directory.
22subdirs = $(PROTOCOLS)
23subdirobjs = $(PROTOOBJS)
24
25# Expansion of variables
26subdirobjs := $(join $(subdirs),$(addprefix /,$(subdirobjs)))
27LFLAGS += -r
28
29# [SH] Phony targets
30all: protocols.o
31check: all
32lcov: check
33gcov:
34        gcov *.c
35
36.PHONY: all clean distclean $(subdirs)
37
38clean: $(subdirs)
39        rm -f *.o $(OUTFILE) core
40
41distclean: clean $(subdirs)
42        rm -rf .depend
43
44$(subdirs):
45        @$(MAKE) -C $@ $(MAKECMDGOALS)
46
47### MAIN PROGRAM
48
49protocols.o: $(objects) $(subdirs)
50        @echo '*' Linking protocols.o
51        @$(LD) $(LFLAGS) $(objects) $(subdirobjs) -o protocols.o
52
53$(objects): ../Makefile.settings Makefile
54
55$(objects): %.o: $(_SRCDIR_)%.c
56        @echo '*' Compiling $<
57        @$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@
58
59-include .depend/*.d
Note: See TracBrowser for help on using the repository browser.