forked from bitlbee/bitlbee
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
133 lines (103 loc) · 3.75 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
###########################
## Makefile for BitlBee ##
## ##
## Copyright 2002 Lintux ##
###########################
### DEFINITIONS
-include Makefile.settings
# Program variables
objects = account.o bitlbee.o chat.o dcc.o help.o ipc.o irc.o irc_commands.o nick.o query.o root_commands.o set.o storage.o $(STORAGE_OBJS) user.o
headers = account.h bitlbee.h commands.h conf.h help.h ipc.h irc.h log.h nick.h query.h set.h sock.h storage.h user.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/ft.h protocols/nogaim.h
subdirs = lib protocols
ifeq ($(TARGET),i586-mingw32msvc)
objects += win32.o
LFLAGS+=-lws2_32
EFLAGS+=-lsecur32
OUTFILE=bitlbee.exe
else
objects += unix.o conf.o log.o
OUTFILE=bitlbee
endif
# Expansion of variables
subdirobjs = $(foreach dir,$(subdirs),$(dir)/$(dir).o)
CFLAGS += -Wall
all: $(OUTFILE)
$(MAKE) -C doc
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
$(MAKE) -C tests clean
distclean: clean $(subdirs)
rm -f Makefile.settings config.h bitlbee.pc
find . -name 'DEADJOE' -o -name '*.orig' -o -name '*.rej' -o -name '*~' -exec rm -f {} \;
$(MAKE) -C tests distclean
check: all
$(MAKE) -C tests
gcov: check
gcov *.c
lcov: check
lcov --directory . --capture --output-file bitlbee.info
genhtml -o coverage bitlbee.info
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-dev:
mkdir -p $(DESTDIR)$(INCLUDEDIR)
install -m 0644 config.h $(DESTDIR)$(INCLUDEDIR)
for i in $(headers); do install -m 0644 $(SRCDIR)$$i $(DESTDIR)$(INCLUDEDIR); done
mkdir -p $(DESTDIR)$(PCDIR)
install -m 0644 bitlbee.pc $(DESTDIR)$(PCDIR)
uninstall-dev:
rm -f $(foreach hdr,$(headers),$(DESTDIR)$(INCLUDEDIR)/$(hdr))
-rmdir $(DESTDIR)$(INCLUDEDIR)
rm -f $(DESTDIR)$(PCDIR)/bitlbee.pc
install-etc:
mkdir -p $(DESTDIR)$(ETCDIR)
install -m 0644 $(SRCDIR)motd.txt $(DESTDIR)$(ETCDIR)/motd.txt
install -m 0644 $(SRCDIR)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 --exclude=.bzr* $$x
$(subdirs):
@$(MAKE) -C $@ $(MAKECMDGOALS)
$(objects): %.o: $(SRCDIR)%.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
ctags:
ctags `find . -name "*.c"` `find . -name "*.h"`
# Using this as a bogus Make target to test if a GNU-compatible version of
# make is available.
helloworld:
@echo Hello World